Приветствую спецов, прошу помощи.
Собственно суть такова, что каждую минуту на сайте должен обрабатываться определенный набор данных. По крону запускается ежеминутно скрипт, но т.к. там задействована проверка внешнего фактора (curl), то в один поток это добро не успевает завершаться, если на каком-то из этапов идет задержка-ожидание ответа.
Реализована псевдо-мультипоточность через multi_curl набор запросов к другому скрипту на том же сайте с передачей ключа блока для обработки (просто "мультик" к конечным точкам по непонятной мне причине привирает - соединение устанавливает, но данные приходят пустые, тогда как по логам отдающий сайт данные отправил на 100% - писался небольшой дебаг-код для контроля). Получается примерно по 30 back-запросов в минуту, которые в нормальном режиме обработки данных завершают выполнение в течение 5-10 сек.
Собственно возникли вопросы следующего характера:
- может ли такой подход подвешивать работу сервера в принципе?
- насколько цифра 43 000 запросов в сутки велика для виртуального хостинга (цифра высчитана просто 30 запр * 60 мин * 24 час)?
- как можно оптимизировать работу многопоточности при условии того, что скрипт должен завершать полную обработку порции данных за минуту, причем осуществляя в параллели curl-обращение к внешним адресам для получения части данных (объем получаемой внешней порции составляет не более 200 байт в JSON-формате)
|