Nginx и обычные cgi скрипты

  • Автор темы Автор темы A1x
  • Дата начала Дата начала

A1x

Новичок
Пытаюсь настроить Nginx для запуска обычных скриптов cgi. Сейчас поставил
fcgiwrap-1.0.3_3 Simple FastCGI wrapper for CGI scripts
spawn-fcgi-1.6.3 spawn-fcgi is used to spawn fastcgi applications

Запускаю spawn-fcgi с опцией -F N - при этом создается фиксированное число N процессов fcgiwrap,
которые постоянно висят в памяти и могут обрабатывать параллельно не более N запросов.
Если запросов меньше все N процесов продолжают висеть

Можно ли это сделать более правильно, чтобы процессы форкались динамически как это делает апач?
 
А зачем динамически? Запусти сразу сколько надо с небольшим запасом.
 
Да так и сделал. Сначала запустил 100 - все начало тормозить, оставил 50, пока полет нормальный.
Можно конечно апач прикрутить бэкендом чисто для cgi ))
 
Да можно и что нить попроще, mini_httpd какой-нибудь там.
 
а почему 100? или почему 50? как считали, из каких соображений вывели эту цифру?
 
MiksIr Сайт проверяет различные параметры доменных имен типа google PR, количества ссылок, etc.
Для того чтобы достать все эти данные при каждом запросе запускается около 10 cgi скриптов по ajax, т.е. практически одновременно. Из этих соображений показалось что 100 должно было бы хватить с головой. После того как ВПС начал тормозить я уменьшил это число до 50 - тормоза исчезли. Вот и все соображения.
 
Ну так перепишите нормально, что бы небыло 10 запросов на один поиск.
И если этим сервисом пользуется один человек в минуту, можно спокойно поставить 10-15 скриптов и этого будет хватать.
 
MiksIr ну там нельзя переписать чтобы не было этих 10 запросов. Один скрипт лезет в гугл, другой в хуиз, третий еще куда-то - и все должно выводиться на одной странице.
да собственно проблемы нет, все хорошо работает как есть на данный момент.
 
Можно. Один запрос на сервер, параллельный запрос на все источники одновременно и по мере поступления ответов - выплевывание их клиенту для отображения.
 
Ну я так понимаю что если бы можно было эту хреновину переписать, прежде всего там бы не было CGI ;)
 
да.... возможно... ну можно пожертвовать скоростью и делать запросы один за одним... банально на nginx запрашивать по одному собирать и потом пачкой выдать. Десять запросов на один хост... никогда не пробовал, но есть же ограничения на число одновременных коннектов к хосту? Или это на аякс не распространяется?
 
MiksIr
распространяется, 2-3 максимально с одной страницы вроде браузеры разрешают...тут даже что-то пишут как обойти, но ясное дело что пользователь это делать не будет. посмотрел в opera, там тоже можно менять Max Persistent Connections Server(6 по-умолчанию) и Max Connections Total,Max Connections Server.
 
Жертвовать скоростью нельзя.
Конечно там много чего можно улучшить. Но переписывать это нет никакого желания, пусть его злая собака переписывает
 
Сверху