Welcome! Log In Create A New Profile

Advanced

php-fpm + nginx + centos

Posted by Ivan Polonevich 
Ivan Polonevich
php-fpm + nginx + centos
March 02, 2011 09:42AM
Товарищи, помогите советом,куда копать.
Есть настроенный выделенный сервер с 16 ядрами и 16 гигами памяти сервер
с хайлодом нагрузкой на базе CentOS. Обрабатывает один форума на IPB.
Когда посетителей становиться больше 4000 за 15 минут, то la вырастает
до небес. Убираю воркеров по числу ядер и la держится в пределах, но
после нескольких минут такой работы форум перестает отвечать, не выдавая
при этом ошибок, нагрузка на сервере в это время, как будто php-fpm
вообще отключен, в логах ничего толком не обаружил, в dmesg тоже.

Прилагаю конфиги, может подскажете что подправить заодно :)

ЗЫ Зарание спасибо за помощь.

2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64
x86_64 GNU/Linux

PHP 5.2.17 (cli) (built: Jan 7 2011 10:42:51)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator,
by eAccelerator
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend
Technologies

nginx -V
nginx: nginx version: nginx/0.9.5
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
nginx: TLS SNI support disabled
nginx: configure arguments: --user=nginx --group=nginx
--prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--http-client-body-temp-path=/var/lib/nginx/tmp/client_body
--http-proxy-temp-path=/var/lib/nginx/tmp/proxy
--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi
--pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx
--with-http_secure_link_module --with-http_random_index_module
--with-http_ssl_module --with-http_realip_module
--with-http_addition_module --with-http_sub_module
--with-http_dav_module --with-http_flv_module
--with-http_gzip_static_module --with-http_stub_status_module
--with-http_perl_module --with-http_geoip_module --with-mail
--with-mail_ssl_module --with-cc-opt='-O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic' --with-ipv6
--with-file-aio
--add-module=/builddir/build/BUILD/nginx-0.9.5/nginx-upstream-fair
--add-module=/builddir/build/BUILD/nginx-0.9.5/nginx-upload-progress-module
--add-module=/builddir/build/BUILD/nginx-0.9.5/mod_zip-1.1.6
--add-module=/builddir/build/BUILD/nginx-0.9.5/nginx_upload_module-2.2.0
--add-module=/builddir/build/BUILD/nginx-0.9.5/nginx_mod_h264_streaming-2.2.7


--
Signed, Polonevich Ivan
System Administrator
CООО Гейм Стрим / Wargaming.net
http://www.wargaming.net/
http://www.game-stream.org/
icq 8158401
Skype loverjoni

user apache;
worker_processes 16;
worker_priority -5;
worker_rlimit_nofile 12200;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 12200;
use epoll;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 0;
reset_timedout_connection on;
resolver 127.0.0.1;
resolver_timeout 10s;
open_file_cache max=100000 inactive=40s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;

fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;

fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;

gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
}
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0

net.ipv4.netfilter.ip_conntrack_tcp_timeout_close = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 30

net.ipv4.netfilter.ip_conntrack_max = 1440000
net.ipv4.tcp_max_syn_backlog = 5120
net.core.somaxconn = 10040
net.ipv4.ip_local_port_range = 1025 65535
net.ipv4.tcp_tw_recycle = 1
net.core.netdev_max_backlog = 10000
net.ipv4.tcp_max_tw_buckets = 1440000
fs.file-max = 65536
Vladislav V. Prodan
Re: php-fpm + nginx + centos
March 02, 2011 09:56AM
02.03.2011 16:31, Ivan Polonevich пишет:
> Товарищи, помогите советом,куда копать.
> Есть настроенный выделенный сервер с 16 ядрами и 16 гигами памяти сервер
> с хайлодом нагрузкой на базе CentOS. Обрабатывает один форума на IPB.
> Когда посетителей становиться больше 4000 за 15 минут, то la вырастает
> до небес. Убираю воркеров по числу ядер и la держится в пределах, но
> после нескольких минут такой работы форум перестает отвечать, не выдавая
> при этом ошибок, нагрузка на сервере в это время, как будто php-fpm
> вообще отключен, в логах ничего толком не обаружил, в dmesg тоже.
>
> Прилагаю конфиги, может подскажете что подправить заодно :)
>

Используйте один воркер.
Соберите с дебагом nginx и покажите логи с дебагом.
Заодно гляньте сколько сокетов открыто в этот момент, да и покажите лимиты.


--
Vladislav V. Prodan
VVP24-UANIC
+38[067]4584408
+38[099]4060508
vlad11@jabber.ru
BlaCat
Re: php-fpm + nginx + centos
March 02, 2011 10:18AM
On Mar 2, 5:50 pm, "Vladislav V. Prodan" <univers...@ukr.net> wrote:
> 02.03.2011 16:31, Ivan Polonevich пишет:
> ...
> > Прилагаю конфиги, может подскажете что подправить заодно :)
>
> Используйте один воркер.
> Соберите с дебагом nginx и покажите логи с дебагом.
> Заодно гляньте сколько сокетов открыто в этот момент, да и покажите лимиты.
>
> --
> Vladislav V. Prodan

кусок лога php-fpm в момент "падения" тоже интересно было бы
No1
Re: php-fpm + nginx + centos
March 02, 2011 06:22PM
4000:15=266/min:60=4-5/sec
Точно высокие нагрузки?

worker_connections 12200;>200000;
worker_rlimit_nofile 12200;>200000;
Мало же,увеличивайте.Также и max_children в php-fpm,хотя c 4-5 запросов в
сек. должно хватать.
А может быть скрипты дописывали?

2011/3/2 BlaCat <gvtsoy@gmail.com>


>
> On Mar 2, 5:50 pm, "Vladislav V. Prodan" <univers...@ukr.net> wrote:
> > 02.03.2011 16:31, Ivan Polonevich пишет:
> > ...
> > > Прилагаю конфиги, может подскажете что подправить заодно :)
> >
> > Используйте один воркер.
> > Соберите с дебагом nginx и покажите логи с дебагом.
> > Заодно гляньте сколько сокетов открыто в этот момент, да и покажите
> лимиты.
> >
> > --
> > Vladislav V. Prodan
>
> кусок лога php-fpm в момент "падения" тоже интересно было бы
Ivan Polonevich
Re: php-fpm + nginx + centos
March 03, 2011 04:40AM
4000 человек за 15 минут. по статистике nginx около 60-100 коннектов в
секунду, что из ник уходит на php, не нашел как посмотреть. а как только
max_children превышает количество ядер, сервер при нагрузке умирает от
высокого la
02.03.2011 21:35, No1 пишет:
> 4000:15=266/min:60=4-5/sec
> Точно высокие нагрузки?
>
> worker_connections 12200;>200000;
> worker_rlimit_nofile 12200;>200000;
> Мало же,увеличивайте.Также и max_children в php-fpm,хотя c 4-5
> запросов в сек. должно хватать.
> А может быть скрипты дописывали?
> 2011/3/2 BlaCat<gvtsoy@gmail.com <mailto:gvtsoy@gmail.com>>
>
>
>
> On Mar 2, 5:50 pm, "Vladislav V. Prodan" <univers...@ukr.net
> <mailto:univers...@ukr.net>> wrote:
> > 02.03.2011 16:31, Ivan Polonevich пишет:
> > ...
> > > Прилагаю конфиги, может подскажете что подправить заодно :)
> >
> > Используйте один воркер.
> > Соберите с дебагом nginx и покажите логи с дебагом.
> > Заодно гляньте сколько сокетов открыто в этот момент, да и
> покажите лимиты.
> >
> > --
> > Vladislav V. Prodan
>
> кусок лога php-fpm в момент "падения" тоже интересно было бы
>
>


--
Signed, Polonevich Ivan
System Administrator
CООО Гейм Стрим / Wargaming.net
http://www.wargaming.net/
http://www.game-stream.org/
icq 8158401
Skype loverjoni
Polonevich Ivan
Re: php-fpm + nginx + centos
March 04, 2011 08:36AM
02.03.2011 17:11, BlaCat пишет:
>
> On Mar 2, 5:50 pm, "Vladislav V. Prodan"<univers...@ukr.net> wrote:
>> 02.03.2011 16:31, Ivan Polonevich пишет:
>> ...
>>> Прилагаю конфиги, может подскажете что подправить заодно :)
>> Используйте один воркер.
>> Соберите с дебагом nginx и покажите логи с дебагом.
>> Заодно гляньте сколько сокетов открыто в этот момент, да и покажите лимиты.
>>
>> --
>> Vladislav V. Prodan
> кусок лога php-fpm в момент "падения" тоже интересно было бы
Mar 03 15:41:54.513101 [NOTICE] fpm_unix_init_main(), line 284:
getrlimit(nofile): max:63536, cur:63536
Mar 03 15:41:54.513219 [NOTICE] fpm_event_init_main(), line 88:
libevent: using epoll
Mar 03 15:41:54.513259 [NOTICE] fpm_init(), line 50: fpm is running, pid
16345
Mar 03 15:41:54.513913 [NOTICE] fpm_children_make(), line 352: child
16346 (pool default) started
Mar 03 15:41:54.514513 [NOTICE] fpm_children_make(), line 352: child
16347 (pool default) started
Mar 03 15:41:54.514915 [NOTICE] fpm_children_make(), line 352: child
16348 (pool default) started
Mar 03 15:41:54.515545 [NOTICE] fpm_children_make(), line 352: child
16349 (pool default) started
Mar 03 15:41:54.515914 [NOTICE] fpm_children_make(), line 352: child
16350 (pool default) started
Mar 03 15:41:54.516920 [NOTICE] fpm_children_make(), line 352: child
16351 (pool default) started
Mar 03 15:41:54.517744 [NOTICE] fpm_children_make(), line 352: child
16353 (pool default) started
Mar 03 15:41:54.518319 [NOTICE] fpm_children_make(), line 352: child
16354 (pool default) started
Mar 03 15:41:54.518892 [NOTICE] fpm_children_make(), line 352: child
16355 (pool default) started
Mar 03 15:41:54.519466 [NOTICE] fpm_children_make(), line 352: child
16356 (pool default) started
Mar 03 15:41:54.519925 [NOTICE] fpm_children_make(), line 352: child
16357 (pool default) started
Mar 03 15:41:54.520223 [NOTICE] fpm_children_make(), line 352: child
16358 (pool default) started
Mar 03 15:41:54.520869 [NOTICE] fpm_children_make(), line 352: child
16359 (pool default) started
Mar 03 15:41:54.521162 [NOTICE] fpm_children_make(), line 352: child
16360 (pool default) started
Mar 03 15:41:54.521781 [NOTICE] fpm_children_make(), line 352: child
16361 (pool default) started
Mar 03 15:41:54.522374 [NOTICE] fpm_children_make(), line 352: child
16362 (pool default) started
Mar 03 15:41:54.522394 [NOTICE] fpm_event_loop(), line 107: libevent:
entering main loop
Это все что есть :(

--
Signed, Polonevich Ivan
System Administrator
CООО Гейм Стрим / Wargaming.net
http://www.wargaming.net/
http://www.game-stream.org/
icq 8158401
Skype loverjoni
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 154
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready