Хостер гонит за высокую нагрузку сайта на DLE? Тогда читайте эту тему :)

rupixel
На сайте с 11.10.2008
Offline
126
#21

1000 на дле нормальный хостинг должен выдерживать

Yourhost.ru (http://yourhost.ru) - ВПС, хостинг, домены и другое
Andreyka
На сайте с 19.02.2005
Offline
822
#22
Pilat:
Не показал. Это подтверждает моё подозрение, что php-fpm имеет только один плюс - разграничение по правам. Вот цифры показали бы, например тот же DLE или wordpress или vBulletin с кучей плагинов.

php-fpm более экономный чем mod_php в prefork

Не стоит плодить сущности без необходимости
P
На сайте с 08.03.2007
Offline
250
#23
Andreyka:
php-fpm более экономный чем mod_php в prefork

Вот мне интересно, насколько экономичней? На 5 мегабайт всего? Так это мелочи.

Pavel.Odintsov
На сайте с 13.05.2009
Offline
169
#24
Pilat:
Какие форки имеются ввиду? Вы что, верите что на каждый запрос делается форк ?
Так вот, цифры покажите, что быстрее.

Апач не делает форков на каждый процесс пока у него хватает имеющихся рабочих процессов, а вот когда они кончаются, ему приходится отфоркивать дополнительные (причем, заняты они могут быть не только скриптами, но и раздачей статики и файлов).

Цифры покажем, но чуть позже, как дойдут руки провести нормальный тест работы PHP во всех режимах.

Решение по обнаружению DDoS атак для хостинг компаний, дата центров и операторов связи: FastNetMon (https://fastnetmon.com)
Andreyka
На сайте с 19.02.2005
Offline
822
#25

Прежде чем что-то писать, просьба читать документацию. В частности: http://httpd.apache.org/docs/2.0/mod/prefork.html

This Multi-Processing Module (MPM) implements a non-threaded, pre-forking web server that handles requests in a manner similar to Apache 1.3

A single control process is responsible for launching child processes which listen for connections and serve them when they arrive. Apache always tries to maintain several spare or idle server processes, which stand ready to serve incoming requests. In this way, clients do not need to wait for a new child processes to be forked before their requests can be served.

The StartServers, MinSpareServers, MaxSpareServers, and MaxClients regulate how the parent process creates children to serve requests. In general, Apache is very self-regulating, so most sites do not need to adjust these directives from their default values. Sites which need to serve more than 256 simultaneous requests may need to increase MaxClients, while sites with limited memory may need to decrease MaxClients to keep the server from thrashing (swapping memory to disk and back). More information about tuning process creation is provided in the performance hints documentation.

А теперь немного информации о том как работает префорк для чайников и тех, кто не умеет читать документацию.

Апач открывает на каждый коннект по отдельному процессу + держит в запасе несколько процессов про запас, за что его и прозвали префорком. Максимальное число процессов задается через MaxClients. Соответственно 256 коннектов требуют 256 процессов. В перфорке ServerLimit должен быть таким же как и MaxClients, в воркере это например работает иначе.

Многие считают, что один процесс префорка может обработать много коннектов и за это отвечает опция MaxRequestsPerChild 🤣

На самом деле эта опция отвечает через сколько запросов процесс будет прибит. Это нужно если где-то течет память и процесс "разбухает.

А теперь считаем

1000 одновременных коннектов обработают 2 процесса php-fpm по 512 коннектов каждый. Они занимают 20mb. Плюс один воркер nginx который вообще весит пару копеек.

А теперь сравним с апачем - 1000x10mb - это ~ гиг. Ну а теперь сравним 20 метров и гиг. Разница значительна, не так ли🚬

P
На сайте с 08.03.2007
Offline
250
#26

А теперь перейдём от теоретизирования к практике. Цифры сравнения уже есть? Или мы действительно параллельно обрабатываем не 10 запросов, а 1000 ?

Andreyka
На сайте с 19.02.2005
Offline
822
#27

Предоставьте север. Потестим. А то потом скажете что я на своем VDS результаты подкручивал :)

P
На сайте с 08.03.2007
Offline
250
#28
Andreyka:
Предоставьте север. Потестим. А то потом скажете что я на своем VDS результаты подкручивал :)

Только после НГ могу предоставить, под управлением VmWare в разных конфигурациях. Но я бы принял и результаты на Вашем, хотя меня удивляет что их нет. Откуда же должно быть известно, что php-fpm даёт серьёзные преимущества?

S
На сайте с 23.05.2004
Offline
315
#29

А зачем использовать в апаче pre-fork, когда есть worker. Ходят конечно слухи, что там мол php плохо работает, но как то ни разу не видел этому подтверждений.

Nginx кстати научился .htaccess понимать ? Ведь если придет в голову вписать реврайт правило или какое нибудь ограничение, то понадобится лезть в конфиг, рестартовать сервис ... не очень удобный вариант для простого обывателя, кто до этого на виртуале сидел. А уж mod_rewrite правила переписывать - еще то занятие.

Это просто подпись.
[Удален]
#30

Andreyka, вы не указали параметры вашего VDS, или так и должно быть?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий