woonem
@woonem

Из-за самодельного аналога PCNTL сервер постоянно загинается. Как контролировать нагрузку?

sys_getloadavg() не помогает.
Каждый 3-й запрос на hosthack.tk выдает 82f68ab71ef04eff86d508759bc4a4b7.png

Я хотел вот этот https://gist.githubusercontent.com/Macuyiko/771824... скрипт (прицепив к нему веб-морду) запустить на хостинге, но hostinger.ru не поддерживает PCNTL (habrahabr.ru/post/40432), который используется в этом скрипте для того, чтобы многократно одновременно выполнять один код. Тогда я решил сделать аналог PCNTL - положить нужный кусок кода в отдельный файл и вызвать его неоднократно с помощью ping (это не системная функция, в интернете не найдешь). Но сервер начал часто загинаться (https://habrastorage.org/files/82f/68a/b71/82f68ab...), после чего мой хостинг забанил hostinger.ru. Через некоторое время я переделал скрипт, и, думая, что сервер загинаться больше не будет, попросил вернуть хостинг. Мне его вернули и я запустил новую версию. Сервер снова начал загинаться, какие бы ограничения я не ставил: die если sys_getloadavg() дает большие значения, sleep 2 сек. после каждых 5 итераций, исполняющих ping, даже поставил ограничение не более 2х запросов в час с одного IP и не более 5ти запросов в час всего. Но сервер продолжает загинаться.
Я начал читать habrahabr.ru/post/22799 и habrahabr.ru/post/179399/. Последняя статья меня совсем не радует. PHP создан чтобы умирать... И что мне с этим делать?
Вот исходники сайта hosthack.tk (v4 - текущая версия):
hosthack.tk/sourcecode.zip

Подскажите литературу по оптимизации кода и контролю нагрузки.
Чтоб при превышении лимита спать и ждать, пока завершатся процессы, вызваные ping'ом.
Или может я изобретаю велосипед и демон на чистом php с контролем нагрузки уже есть?

[Добавлено]: Даже простой неоднократный вызов newkey.php загинает сервер.
[Добавлено]: Уже забанили:(
  • Вопрос задан
  • 394 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы