На простых задачах(там, где не надо проходить по ссылкам внутри страницы) NodeJS в один поток делает по скорости пхп, запущенный параллельно через spawn.child. Попробую на более сложных, в 4 потока и регулировать, как вы посоветовали.
>Зачем Вам 100 воркеров?
Количество запросов к воркерам в часы пик более 100 в секунду (при кэшировании). Конечно нельзя назвать это «высокими нагрузками», но 1 воркер может выполнять одну задачу одновременно, где среднее время выполнение задачи(получение, парсинг страницы и проход по некоторым УРЛ страницы) — 2 секунды(до 60 секунд). Отсюда скорость системы зависит от параллельного выполнения задач.
>Чем воркеры «в формате TCP» принципиально отличаются от воркеров «в формате I/O»? И что побужтает их кушать меньше?
Вы правы, ничем. Это я «в поисках решения» сказал)
>. Например, если это рэсайзинг изображений — php тут вообще не нужен.
Нет, ресайзинга и ничего такого нет.
К сожалению один воркер в памяти сьедает до 20 мегабайт ОЗУ. 100 воркеров сьедают 2 гигабайта(что не предел из-за динамического кол-ва воркеров и динамически-меняющегося необходимого кол-ва ОЗУ отдельно взятому воркеру).
Справедливости ради надо сказать, воркеры в формате TCP едят не меньше, как и воркеры NODEJS в режиме child_process.spawn)
Если не секрет, какое кол-во ОЗУ сьедает ваш PHP-воркер в среднем?
«Так же, существует WorkerPhp.js, который запускает php-cli как child-process и общается с ним на json»
объясните пожалуйста, а как вы держите эти PHP не закрытыми? черех php-fpm?
В плане срочности и оперативности за два часа VPN не поднять стыдно, я считаю.
Целый час как VPN установлен, а статус offline и не пигнуется нефига.
lomvvedro@gmail.com
На простых задачах(там, где не надо проходить по ссылкам внутри страницы) NodeJS в один поток делает по скорости пхп, запущенный параллельно через spawn.child. Попробую на более сложных, в 4 потока и регулировать, как вы посоветовали.
>Зачем Вам 100 воркеров?
Количество запросов к воркерам в часы пик более 100 в секунду (при кэшировании). Конечно нельзя назвать это «высокими нагрузками», но 1 воркер может выполнять одну задачу одновременно, где среднее время выполнение задачи(получение, парсинг страницы и проход по некоторым УРЛ страницы) — 2 секунды(до 60 секунд). Отсюда скорость системы зависит от параллельного выполнения задач.
>Чем воркеры «в формате TCP» принципиально отличаются от воркеров «в формате I/O»? И что побужтает их кушать меньше?
Вы правы, ничем. Это я «в поисках решения» сказал)
>. Например, если это рэсайзинг изображений — php тут вообще не нужен.
Нет, ресайзинга и ничего такого нет.
К сожалению один воркер в памяти сьедает до 20 мегабайт ОЗУ. 100 воркеров сьедают 2 гигабайта(что не предел из-за динамического кол-ва воркеров и динамически-меняющегося необходимого кол-ва ОЗУ отдельно взятому воркеру).
Справедливости ради надо сказать, воркеры в формате TCP едят не меньше, как и воркеры NODEJS в режиме child_process.spawn)
Если не секрет, какое кол-во ОЗУ сьедает ваш PHP-воркер в среднем?
У меня проблема выбора или php-fpm или в качестве tcp-серверов воркеры пускать, что вы бы посоветовали?
объясните пожалуйста, а как вы держите эти PHP не закрытыми? черех php-fpm?