Welcome! Log In Create A New Profile

Advanced

nginx+php-fpm 300 r/s

Posted by h0rnet 
h0rnet
nginx+php-fpm 300 r/s
October 12, 2012 03:38AM
подскажите конфиг php-fpm на 300 запросов в секунду а то бывает в
goaccess 0.05 % - 0.08 % ошибок 502 сервак core i7 8гиг озу
(простенький вап сайт)
Alexey V. Karagodov
Re: nginx+php-fpm 300 r/s
October 12, 2012 03:44AM
время обработки одного запроса в среднем сколько?

сколько памяти жрёт один вокер?


On 12.10.2012, at 00:47, h0rnet <vamp.null@gmail.com> wrote:

> подскажите конфиг php-fpm на 300 запросов в секунду а то бывает в goaccess 0.05 % - 0.08 % ошибок 502 сервак core i7 8гиг озу (простенький вап сайт)
Alexander Bodnarashik
Re: nginx+php-fpm 300 r/s
October 12, 2012 04:28AM
Я бы обратил внимание в первую очередь на listen.backlog, pm.max_children/pm.start_servers (выберите свой вариант).
Также стоит использовать tcp socket (если пользуется юникссокет) и stateless firewall (либо вообще без фаерволла).
+ ос-специфичный тюнинг (это наверное даже более важно), т.к. можно уткнуться в лимит одновременно открытых файлов, переполнение очереди ожидающих коннектов etc, что будет приводить к 502 ошибке.

On Oct 11, 2012, at 23:47, h0rnet wrote:

> подскажите конфиг php-fpm на 300 запросов в секунду а то бывает в goaccess 0.05 % - 0.08 % ошибок 502 сервак core i7 8гиг озу (простенький вап сайт)
Николай Измайлов
Re: nginx+php-fpm 300 r/s
October 12, 2012 10:56AM
12 октября 2012 г., 12:26 пользователь Alexander Bodnarashik
<boda2004@gmail.com> написал:
> Я бы обратил внимание в первую очередь на listen.backlog, pm.max_children/pm.start_servers (выберите свой вариант).
> Также стоит использовать tcp socket (если пользуется юникссокет) и stateless firewall (либо вообще без фаерволла).
> + ос-специфичный тюнинг (это наверное даже более важно), т.к. можно уткнуться в лимит одновременно открытых файлов, переполнение очереди ожидающих коннектов etc, что будет приводить к 502 ошибке.
>
> On Oct 11, 2012, at 23:47, h0rnet wrote:
>
>> подскажите конфиг php-fpm на 300 запросов в секунду а то бывает в goaccess 0.05 % - 0.08 % ошибок 502 сервак core i7 8гиг озу (простенький вап сайт)
>

Чем tcp socket лусше нежели используя Ip с портом
Alexander Bodnarashik
Re: nginx+php-fpm 300 r/s
October 12, 2012 11:30AM
On Oct 12, 2012, at 17:54, Николай Измайлов wrote:

> 12 октября 2012 г., 12:26 пользователь Alexander Bodnarashik
> <boda2004@gmail.com> написал:
>> Я бы обратил внимание в первую очередь на listen.backlog, pm.max_children/pm.start_servers (выберите свой вариант).
>> Также стоит использовать tcp socket (если пользуется юникссокет) и stateless firewall (либо вообще без фаерволла).
>> + ос-специфичный тюнинг (это наверное даже более важно), т.к. можно уткнуться в лимит одновременно открытых файлов, переполнение очереди ожидающих коннектов etc, что будет приводить к 502 ошибке.
>>
>> On Oct 11, 2012, at 23:47, h0rnet wrote:
>>
>>> подскажите конфиг php-fpm на 300 запросов в секунду а то бывает в goaccess 0.05 % - 0.08 % ошибок 502 сервак core i7 8гиг озу (простенький вап сайт)
>>
>
> Чем tcp socket лусше нежели используя Ip с портом

Это одно и тоже в данном контексте.
h0rnet
Re: nginx+php-fpm 300 r/s
October 13, 2012 11:32AM
так что не имеет значение кол-во npm.max_children/pm.start_servers ?
пятница, 12 октября 2012 г., 11:27:10 UTC+3 пользователь boda2004 написал:
>
> Я бы обратил внимание в первую очередь на listen.backlog,
> pm.max_children/pm.start_servers (выберите свой вариант).
> Также стоит использовать tcp socket (если пользуется юникссокет) и
> stateless firewall (либо вообще без фаерволла).
> + ос-специфичный тюнинг (это наверное даже более важно), т.к. можно
> уткнуться в лимит одновременно открытых файлов, переполнение очереди
> ожидающих коннектов etc, что будет приводить к 502 ошибке.
>
> On Oct 11, 2012, at 23:47, h0rnet wrote:
>
> > подскажите конфиг php-fpm на 300 запросов в секунду а то бывает в
> goaccess 0.05 % - 0.08 % ошибок 502 сервак core i7 8гиг озу
> (простенький вап сайт)
>
>
Константин
Re: nginx+php-fpm 300 r/s
November 03, 2012 07:12AM
13.10.12 18:31, h0rnet пишет:
> так что не имеет значение кол-во npm.max_children/pm.start_servers ?
> пятница, 12 октября 2012 г., 11:27:10 UTC+3 пользователь boda2004 написал:
>
> Я бы обратил внимание в первую очередь на listen.backlog,
> pm.max_children/pm.start_servers (выберите свой вариант).
> Также стоит использовать tcp socket (если пользуется юникссокет) и
> stateless firewall (либо вообще без фаерволла).
> + ос-специфичный тюнинг (это наверное даже более важно), т.к. можно
> уткнуться в лимит одновременно открытых файлов, переполнение очереди
> ожидающих коннектов etc, что будет приводить к 502 ошибке.
>
> On Oct 11, 2012, at 23:47, h0rnet wrote:
>
> > подскажите конфиг php-fpm на 300 запросов в секунду а то бывает
> в goaccess 0.05 % - 0.08 % ошибок 502 сервак core i7 8гиг озу
> (простенький вап сайт)
>
Какая у вас система?

Конфиг php-fpm не значительно скажется на ускорении, т. к. проблема в
вагих php скриптах, и скорее всего с тяжелыми mysql запросами.

pm.max_children - одна из самых важных настроек в php-pfm, она должна
быть не больше кол-ва процессоров (ядер/потоков). В freebsd
загруженность каждого потока можно посмотреть командой "top -P"

XCache или eAccelerator используете для opcode cache? Может увеличить
скорость обработки запросов на 15-30%
Евгений Шершень
Re: nginx+php-fpm 300 r/s
November 03, 2012 07:22AM
использую xcache
Re: nginx+php-fpm 300 r/s
November 04, 2012 06:26PM
On Saturday, November 3, 2012 12:13:42 AM UTC+2, Konstantin wrote:
>
> 13.10.12 18:31, h0rnet пишет:
>
> pm.max_children - одна из самых важных настроек в php-pfm, она должна
> быть не больше кол-ва процессоров (ядер/потоков). В freebsd
> загруженность каждого потока можно посмотреть командой "top -P"
>
>
Откуда такая информация? Думаю, вы ошибаетесь, обычно max_children
выбирается исходя их примерного количества требуемой памяти, а не
процессоров (сами посудите, кол-во процессов обычно динамическое,
max_children определяет его максимум, оно никак не связвается с кол-вом
процессоров). Это настройка аналогичная ApacheMaxClients.
К тому же, max_children будет определять макс. кол-во одновременных
соединений для сервера, так что делать его, например, 4 (в четырехядерной
системе), это значит искусственно органичить производительность сервера.
Если знать, сколько в среднем потребляет один процесс и сколько отводится
памяти для php-fpm, nj можно легко определить max_children, поделив память
на размер процесса.

А по вопросу топика могу посоветовать выставить в явном виде
listen.backlog, если у вас перед php-fpm стоит nginx, то и ему тоже, у меня
были похожие глюки именно из-за него - дефолтное значение для
listen.backlog в системе слишком мало.
h0rnet
Re: nginx+php-fpm 300 r/s
November 07, 2012 01:50PM
постоянных сойдинений 1000 +
запросов 100-300 в секунду
железо Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 8 Gb RAM
На данный момент конфиг такой
pm = dynamic
pm.max_children = 100
pm.start_servers = 50
pm.min_spare_servers = 35
pm.max_spare_servers = 75
И сыпит в логи это
[07-Nov-2012 20:41:33] WARNING: [pool www] seems busy (you may need to
increase pm.start_servers, or pm.min/max_spare_servers), spawning 8
children, there are 0 idle, and 96 total children
[07-Nov-2012 20:41:35] WARNING: [pool www] server reached pm.max_children
setting (100), consider raising it
[07-Nov-2012 20:41:46] WARNING: [pool www] server reached pm.max_children
setting (100), consider raising it
[07-Nov-2012 20:42:02] WARNING: [pool www] server reached pm.max_children
setting (100), consider raising it
[07-Nov-2012 20:42:43] WARNING: [pool www] seems busy (you may need to
increase pm.start_servers, or pm.min/max_spare_servers), spawning 8
children, there are 0 idle, and 99 total children
[07-Nov-2012 20:42:44] WARNING: [pool www] server reached pm.max_children
setting (100), consider raising it
Oleksandr Bodnarashyk
Re: nginx+php-fpm 300 r/s
November 07, 2012 02:20PM
2012/11/7 h0rnet <vamp.null@gmail.com>

> постоянных сойдинений 1000 +
> запросов 100-300 в секунду
> железо Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 8 Gb RAM
> На данный момент конфиг такой
> pm = dynamic
> pm.max_children = 100
> pm.start_servers = 50
> pm.min_spare_servers = 35
> pm.max_spare_servers = 75
> И сыпит в логи это
> [07-Nov-2012 20:41:33] WARNING: [pool www] seems busy (you may need to
> increase pm.start_servers, or pm.min/max_spare_servers), spawning 8
> children, there are 0 idle, and 96 total children
> [07-Nov-2012 20:41:35] WARNING: [pool www] server reached pm.max_children
> setting (100), consider raising it
> [07-Nov-2012 20:41:46] WARNING: [pool www] server reached pm.max_children
> setting (100), consider raising it
> [07-Nov-2012 20:42:02] WARNING: [pool www] server reached pm.max_children
> setting (100), consider raising it
> [07-Nov-2012 20:42:43] WARNING: [pool www] seems busy (you may need to
> increase pm.start_servers, or pm.min/max_spare_servers), spawning 8
> children, there are 0 idle, and 99 total children
> [07-Nov-2012 20:42:44] WARNING: [pool www] server reached pm.max_children
> setting (100), consider raising it
>
Соглашайтесь и увеличивайте, с учетом комментария выше о памяти :)
Евгений Шершень
Re: nginx+php-fpm 300 r/s
November 07, 2012 02:24PM
когда я сделал 200 у меня время от времени стали возникать ворнинги
memcachedb о таймаутах подключения к нему (тип подключения pconnect) 1
процесс php-fpm = 1 коннект к memcachedb ,
или оно с этим не связано?
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 285
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