LINUX.ORG.RU
ФорумAdmin

Как ускорить apache в связке nginx

 


1

1

когда запускаю команду

netstat -na | grep ":443\ " | wc -l

и когда количество >= 1000 apache начитает тормозить, не успевает обрабатывать php запросы походу, затыка в mysql вроде нет проверяю через mytop, ngnix вроде тоже справляется, все данные на ssd.

сервер двухпроцессорный xeon 2690 v2, mem 128GB

лимиты на файлы все подняты

<IfModule prefork.c>
StartServers 256
MinSpareServers 256
MaxSpareServers 1024
ServerLimit 8192
MaxClients 4096
MaxRequestsPerChild 32768 
</IfModule>

я бы сервак поменял, но новый tredripper еще не вышел



Последнее исправление: papuas (всего исправлений: 5)

Ответ на: комментарий от papuas

А нагрузка на проц, случаем, не 100%? А то, если у тебя не хватает скорости железа - то здесь, как бы, магии не существует. Разве что, общий вопрос - какая версия PHP, настроен ли OPCache?

Deleted
()
Ответ на: комментарий от Deleted

PHP 7.1 кеш настроен по умолчанию, панель ispmanager

не 100%, но когда онлайн становиться > 1000 больше половины ядер процессоров уходит под 100%

papuas
() автор топика
Ответ на: комментарий от Deleted

Во такие настройки на данный момент

OPcache extension module
zend_extension=opcache.so

; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=1

; The OPcache shared memory storage size.
opcache.memory_consumption=256

; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=8

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=4000

; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5

; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
;opcache.use_cwd=1

; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
;opcache.validate_timestamps=1

; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
opcache.revalidate_freq=60

; Enables or disables file search in include_path optimization
;opcache.revalidate_path=0

; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
;opcache.save_comments=1

; If enabled, a fast shutdown sequence is used for the accelerated code
opcache.fast_shutdown=1
papuas
() автор топика
Ответ на: комментарий от pi11

Смысл в том, что граблей меньше. И в 99% случаев смысл из-за mod_rewrite. А вообще любителям везде кричать, что апач легче Nginx - разобраться в вопросе. Реальная разница имеет смысл только в Highload, если затык в пхп - то вообще никак не поможет.

Deleted
()
Ответ на: комментарий от papuas

PHP 7.1 кеш настроен по умолчанию, панель ispmanager

Эм. Т.е. у вас CGI режим у сайта? Или всё же это mod_php? В свойствах WWW-домена смотрим, и если там CGI - устанавливаем в «возможностях» необходимое, потом переключаем режим работы PHP. В режиме CGI все акселераторы бесполезны.

Если же апач не принципиален - можно его выкинуть из поставки, переключившись на NGINX+PHP_FPM, но из коробки это есть только в дебианах и убунтах в этой панели.

В случае, если mod_php - проблема, скорее, в пропускной способности шины/памяти.

Deleted
()

но новый tredripper еще не вышел
AMD Ryzen™ Threadripper™

Цука, для тебя новый триппер уже вышел.
Когда вы научитесь писать правильно версии процессоров.

apache начитает тормозить

Здесь слово apache лишнее.
Если нет извилин для того чтобы начать юзать lighttpd, то к сожалению топик будет оффнут

anonymous
()
Ответ на: комментарий от anonymous

какой не воспитанный человек, видимо дурак, был бы умным чушь не писал бы.

papuas
() автор топика

и когда количество >= 1000 apache начитает тормозить

какая часть этих запросов доходит до apache и что в вашем понимании значит «начитает тормозить»?

NeOlip ★★
()
Ответ на: комментарий от NeOlip

Вопрос решен, меня направили в нужное направление, дальше откопал решение

нужно выставить минимум, так как nginx почти запросы тащит через себя

StartServers 16 MinSpareServers 16

снять ограничение MaxRequestsPerChild 0 это нарыл на рекомендации за бугром, у меня их не хватало я бы поставил MaxRequestsPerChild 1000000 но информации не нарыл, что так можно.

<IfModule prefork.c>
StartServers 16
MinSpareServers 16
MaxSpareServers 32
ServerLimit 16384
MaxClients 8192
MaxRequestsPerChild 0 
</IfModule>

с этой командой

netstat -na | grep ":8080\ " | wc -l

выводит 4300 соединений, думаю с таким настройками выдержит и 10000 соеденений

papuas
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.