Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Connection timed out (php + fastcgi)
Здравствуйте,
спасибо всем за помощь в борьбе за идеал :)
Alexey Polyakov пишет:
А в чем вы видите проблему? В том что скрипт, спящий 4 секунды, можно
задосить путем подключений с нескольких серверов по 150 потоков с
каждого?
Дело в том что в тесте не зря есть слип на четыре секудны.
Рабочие скрипты выполняются то же не сразу так как парсят вывод с
удаленных серверов и накладные расходы на транспорт просто неизбежны...
Только не понятно почему это ддос? разве продакш сервера не могут
обслуживать несколько Ка единовременных подключений?
Судя по фингрепринтам rambler то же использует nginx/0.5.17 и я думаю
что их сервера должны деражать и более серьезный трафик.
Александр Ворона пишет:
а вы нафоркали 150*(количество_серверов) экземпляров php-cgi ?
Насколько я помню, php-cgi при нехватке "воркеров" принимает соединения,
но ничего с ними не делает. Они потом и отваливаются по таймауту nginx.
Попробуйте также перейти на unix-сокеты, например
/usr/bin/php-cgi -b /tmp/php5.sock
Так и выходит что форкаются тысяча php-cgi и выдача идет уже пятисотой
ошибки
С сокетами дело еще более странно выглядит. При аналогичных тестах:
2007/04/15 10:15:01 [error] 8333#0: *1548 upstream timed out (110:
Connection timed out) while reading response header from upstream,
client: xxx.xxx.xxx.xxx, server: some.domain.com, URL: "/test.php",
upstream: "fastcgi://unix:/tmp/fphp.sock:", host: "some.domain.com"
правда конектны уже не собираются... но толку от того что клиент узнает
о внутренней ошибки сервера я не вижу :(
Меня не покидают сомнения, что где то я ошибаюсь в настройках и эту
проблему можно решить но пока не вижу как.
Спасибо
|