Задать вопрос
  • Требования к серверу видеонаблюдения?

    @rPman
    Необходимость в аппаратном рейд контроллере преувеличивают, софтварные вполне справляются, зато не будет вендорлока.

    использовать в качестве буфера лучше ssd, он даст больше гибкости, даже если будете смотреть ролики старые, с hdd архива, то пока он тормозит, ssd диск продолжит работать без задержек (до тех пор пока будет хватать его размера, т.е. в том случае время, которое будет просматриваться ролик с hdd равно времени, сколько ssd вместит данных, даже больше, ведь не в ноль же скорость упадет

    ssd диск выбирать по скорости в худшем (тестировать с БОЛЬШИМ объемом тест файла, желательно после полной записи на весь объем диска, так как в этом случае скорость должна кратно упасть от 'паспортных'), так как работая буфером видеоданные будут писаться и одновременно такой же объем считываться с него, т.е. двойная нагрузка (но запись обычно больше грузит устройство), интерфейс подключения не важен, так как по вашей задаче вы не упираетесь в лимиты даже SATA.
  • Как возложить на клиента оплату за денежный перевод?

    @rPman
    обычно комиссии - процент от суммы

    не понятно зачем и как будешь считать эти расходы, если они у каждого клиента разные.
  • Параллельные запросы к СУБД во время отсутствия кэша записи - какой алгоритм?

    @rPman
    Северное Сияние, да, только в цикле ожидания нужно эту метку проверять

    Можно совместить хранение кеша с этой пометкой, определив какое-нибудь магическое значение кеша (например null) которое сигнализирует о том что кеш в процессе генерации, при котором нужно ждать окончание

    function foo()
    {
            // проверяем, что процесса перегенерации кэша ещё нет (предполагается что если нужно перегенерировать кеш - то записи в memchached уже нет)
            if (!checkExistProcess('key')&&!isnull($memcache->get('key'))) {
                // отмечаем, что процесс перегенерации кэша пошёл
                $memcache->set('key', null, 10 ); // время жизни этого ключа должно быть маленьким, но не меньше худшего времени генерации (если будет фейл, чтобы ожидающие процессы не ждали вечно)
                $data = getdatafromDb();
                // сохраним кеш это так же отметит окончание генерации
                $memcache->set('key', $data, 60 * 60);
            } else {
                // процесс есть, ждём, пока завершится (тут так же можно продумать условие окончания ожидания перегенерации кеша, но времени жизни пометки более чем достаточно)
                while(checkExistProcess('key')&&isnull($memcache->get('key') )){
                    time_nanosleep(0, 100000000);
                };
    
                $data = $memcache->get('key');
            }
    
            return $data;
    }
  • Есть ли какя-то среда где можно дешево выполнить приложение?

    @rPman
    вариантов огромное количество
    я использую webkit, он кушает мало ресурсов, по сравнению с другими решениями

    и не уверен что возможно использовать эти движки в пределах одного процесса без ограничений.
  • Как исключить возможность запуска того же bat файла?

    @rPman
    ну так и сохраняй pid к примеру в файле, имя которого хеш от командной строки

    p.s. работа через pid процесса самая правильная и простая, любые другие способы потребуют больших шевелений
  • Почему не запускается cmd?

    @rPman
    в пути есть имя Рабочий стол - русские буквы
  • Почему не запускается cmd?

    @rPman
    Похоже ему не нравится русские буквы в пути или даже пробелы, такое бывает, вон буилдтул лаже написал что не запускайте внутри нестандартных папок, что странно.

    у меня buildtools отрабатывает (правда не до конца, наверное жава не та версия), выводит кучу надписей и загружая сервер и необходимые файлы
  • Почему не запускается cmd?

    @rPman
    в четвертый раз что ли сказать?
  • Почему не запускается cmd?

    @rPman
    последний раз повторяю, смотри вывод start.cmd, как, ответ я уже дал
    можешь последней строкой добавить pause
  • Почему не запускается cmd?

    @rPman
    так смотри что выводит start.cmd, если не выводит, включи echo (в начале start.cmd убрать строку @echo off) тогда увидишь какие команды выполнялись и на какой произошел выход
  • На что можно переехать с сервиса 3D для товаров?

    @rPman
    да js

    600кб это зачем? абсолютно бесполезно сохранять для веб картинки в таком качестве, например картинки по ссылке каждая порядка 12кб

    Если совсем критично, сохраните вращение не в виде серии картинок, а в виде видеоролика, подобрав правильный кодек и параметры, чтобы переход вперед и назад не тормозил, итоговый размер может стать совсем небольшим (так как будет использоваться информация о соседних кадрах, которые очень похожи)
  • Требования к серверу видеонаблюдения?

    @rPman
    Серверное железо дает выше надежность (за счет хотя бы ecc памяти) и предсказуемость (что не будут танцы с бубном из-за экзотической конфигурации десктопного железа просто при настройке)... если готовы за это переплачивать х3 стоимость, почему нет

    Специализированное железо это значит возможность запустить готовый специализированный софт или добавить специализированные компоненты, если этого нет - зачем переплачивать за чужой вендорлок?

    Мой девиз, для небольших организаций, лучше дешевое железо с готовностью к багам и ее замены чем дорогое серверное.

    p.s. лично я бы брал десктопное железо на базе ryzen 5 или 7 и собирал бы решение самостоятельно (в вашем случае нанять разработчика/многорукого шиву, а точнее иметь такого в штате), вплоть до кодовой базы
  • Требования к серверу видеонаблюдения?

    @rPman
    Пару гигабит по беспроводной сети? вопросы к вашему провайдеру такие задавай

    Я не понял, а хранить не надо данные? если не надо хранить нафиг вам вообще hdd, хватит ssd на нужный временной период! вся проблема - просмотр роликов во время их записи, они роняют скорость работы с hdd дисками в разы (почему я и говорю про буфер).

    p.s. только что запустил для теста на мега медленный сервер (2014 года целерон на mitx плате) с самыми дешевыми 3тб тошиба дисками, запись в 70 потоков синтетика, 33мбайта/сек, нагрузка на проц 80% samba, диск 16% , md0_raid5 - 5% (raid5 Из 5 дисков, оно легко дает 200мбайт/сек)
  • Требования к серверу видеонаблюдения?

    @rPman
    2 hdd это 2 рейд массива (например raid1 по 2 диска итого 4) если без резервирования то да по 2 диска, ssd нужен не дешевый, потому как копеечные не умеют больше 50мб запись (после полной записи всего диска, это видно сразу когда в кристалмарк ставишь побольше файл, под размер всего диска к примеру) но их тоже много можно пихать

    добавь нагрузку процессора на
    Протокол собственный.


    200 потоков ffmpeg, собирающий поток в контейнер, будет кушать проц, каждый поток по чуть чуть но их 200, я в начале про это написал а потом забыл

    я заговорился только про nas под данные

    советую протестировать вашу логику на кошках, в слепую не делать все
  • Требования к серверу видеонаблюдения?

    @rPman
    я подробно описал
    если не объединять диски в raid то математика дубовая - считаешь сколько потоков обработает диск, набиваешь дисками сервер сколько можешь, профит

    1гбит сетевая карта сумеет без особых проблем где то 700мбит потоков обслужить(чистый гигабит возможен только на синтетике плюс дешевые карты не умеют полностью утилизировать), делим на 2.5мбит получаем 280 камер, при использовании cow файловой системы, write only диск hdd способен записывать 100мбайт/сек (800мбит) (в этом случае нельзя читать диск, только писать, т.е. вариант с ssd/hdd кешем, позволяющим буферизировать записи пока идет просмотр ролика из архива), без такого тюнинга hdd дис потянет в 10 раз меньше.

    дели и считай сколько дисков минимум понадобится чтобы утилизировать поток, добавляй дисков на обслуживание выбранного raid (один raid массив кстати при подсчете скорости считать как единый диск), профит

    Т.е. если лениво, то нужно будет пара серверов суммарно примерно 10 дисков чтобы обработать поток, если же тюнить то хватит по 1-2 диска hdd и по 1 ssd для буфера

    p.s. осторожно, cow файловые системы сильно фрагментируют файлы, собственно благодаря этому они позволят писать на максимальной скорости кучу потоков, записывая рядом сразу все пришедшие кусочки видеоданных, т.е. читать и копировать такие файлы будет медленнее чем записывать

    upd. когда я смотрю на цены на готовые сервера видеонаблюдений, мне смешно, сервер с ценой в 200к тянет 16 потоков О_о

    но как пример снизу в худшем надеюсь понятно да?
  • Какой выбрать мобильный 4g роутер с внешними антеннами для LTE/4G и WiFi?

    @rPman
    мобильное - телефон

    но оно вас не устроит,из-за отсутствия внешней антенны и маленькой емкости аккумулятора, уже ведь выяснили в комментариях
  • Как исправить код чужого репозитория?

    @rPman
    мало кому это понятно, поправь, пр - это pull request
  • Как использовать только ВПН на виртуальной машине? (дроп впн'а = дроп интернет соединения)?

    @rPman
    tottiezriki7ate,
    адрес ВПН сервера будет другим
    а это вопрос не ко мне а к вашему провайдеру vpn, либо экспериментально определи список адресов или даже целую подсеть

    к сожалению автоматизация этого процесса сильно зависит от того на основе чего работает vpn, например нужно проанализировать его конфигурацию, вполне возможно что список доменных имен прописан там, т.е. остается перед подключением выполнять одну или несколько команд route add доменное_имя_или_ip_из_конфига .... а по отключению удалять, чтобы таблица не засорялась уже не действующими записями