Работал с php-cgi и mysql через tcp, среднее время было 100-120 мс, перешел на юникс сокеты - стало 60-100 мс.
18 июня 2009 г. 15:16 пользователь Sergej Kandyla <sk.paix@xxxxxxxxx> написал:
xcrew-partizan пишет:
Приветствую всемогущих.
Есть задача поднять web-сервер на 10000 одновременных коннектов. Сайт сам по себе легкий, отдача статики мимнимальная(около 400кб отдается клиенту), но проблема в том что на каждого клиента создается постоянное соединений (ajax), соответственно nginx+apache_prefork+mod_php идет лесом.
Было принято решение поднять на двух серверах:
1.freebsd 7.2 тюнингованная +pf+nginx+mail
2.freebsd 7.2 тюнингованная +php-fpm+mysql
Внимание вопрос :)
ПО опыту присутствующих подскажите, что всетаки будет более серьезным решением (в плане производительности и надежности):
-связать nginx и php по сокету примонтированному на уровне ОС (не связывался с подобной реализацией на реальных серверах, опаасаюсь всетаки за скорость передачи)
-связать nginx и php по tcp (конечно хорошо, но недостаток видится мне в чрезмерном использовании сокетов, а в следствии этого и памяти ядра)
Если не сложно черкните пару строчек своих мыслей по поводу этого, как всетаки nginx'у проще работать сокет или встеаки tcp.
p.s.матом не ругаться, опыта не было вот и интересуюсь...рассылку и другие умные места в сети читаю еженевно, но всетаки однозначонго ответа не встречал.
помойму ответ однозначен.
unix sockets быстрее tcp сокетов.
в вашей связке мне непонятно для чего два сервера? на втором еще nginx и почта?
если уж на то пошло, то лучше вынесете на второй сервер базу данных.
А первый - nginx + php
--
Best wishes, Sergej Kandyla
Всегда улыбайтесь жизни и жизнь всегда улыбнется вам!