Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Производительность nginx 1 .0.4 + ngx_ctpp
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Производительность nginx 1 .0.4 + ngx_ctpp
- From: Sergey Shepelev <temotor@xxxxxxxxx>
- Date: Sun, 19 Jun 2011 21:13:01 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=2/1IrYlsUqDxtnVBDycC759nMIj7WkZTwxQIgrNhCWo=; b=B1ohRK4plBVOVKEcpbYpAyoMYM/WVpB95XCaESrFB2YR8GmP++dLeZWihL6wKkwT3X qOoubfVrK5fHp2+MGRU4T40xZhlNLoT/k40axaNuHJhSsEFVli7FJ5f/nVsBMgIo0vA5 78AahhgNR3itbgjp2ar0ElSmL/aLwJO1cTSuM=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=HkgoxRHuXWKEELP9N82hzwYe64mt3zmhOx/QStdCMpoiCb+sq95NoN8bVZ+30HKn22 hO9o795RruYEyV9C4Dn3zGNCc9d8FfvQmRVGSdbAGPNLfCiEHvGP01wkPRfR23+T1uYx ZAm4GIf13hLjt18ZYxOWN8nr+xSmigOo4UTCs=
- In-reply-to: <E1QYKnE-0006N3-00.vladsm-mail-ru@xxxxxxxxxxx>
- References: <E1QYKnE-0006N3-00.vladsm-mail-ru@xxxxxxxxxxx>
2011/6/19 Влад Максимов <vladsm@xxxxxxx>:
> Маленько тут поэкспериментировал...
>
> Имеем машинку под CentOS 5.6 x64 2.6.18 (на 2хE5620 с 16G памяти)
> На ней имеем:
> ctpp2 2.7.0
> бэкенд из php 5.3.6, собранный с php_ctpp2 2.6.0 и крутящийся как php-fpm
> (15 серверов на старте)
> фронтенд из nginx 1.0.4, собранный с ngx_ctpp 0.5 (конфиг ngx_ctpp по
> умолчанию)
>
> Есть некоторый простой шаблон (пара мелких циклов + инклюд куска шаблона в
> рамках одного из циклов) как в простом виде, так и в виде скомпиленного
> байткода.
> В случае работы через php_ctpp, nginx проксирует запрос на бэкенд, там
> срабатывает php-скрипт, который загружает скомпиленный байткод шаблона,
> эмитит в него данные и выплёвывает результат клиенту.
> В случае работы через ngx_ctpp, nginx для заданного location берёт тот же
> самый скомпиленный байткод шаблона, загружает из статического html-файла json
> с теми же данными, что фигурируют в php, эмитит в шаблон и выплёвывает
> результат клиенту.
> Т.е. содержимое ответа в обоих случая одинаковое совершенно.
>
> Запускаем на той же машине ab и на 20000 запросах получаем следующие цифры:
> При -c 1:
> в случае работы через ngx_ctpp получаем порядка 3.8-3.9K r/s
> в случае работы через php_ctpp получаем порядка 1-1.1К r/s
> При -с 5:
> в случае работы через ngx_ctpp получаем порядка 5.2K r/s
> в случае работы через php_ctpp получаем порядка 5.1К r/s
> А вот при -с , скажем, 15
> в случае работы через ngx_ctpp получаем порядка всё тех же 5.2K r/s (причём
> эта цифра не меняется с ростом -c начиная с c>=2 )
> в случае работы через php_ctpp получаем уже порядка 10-11К r/s (т.е. с
> увеличением -c подрастает)
>
>
> Как бы эти результаты теперь правильно интерпретировать?
> Во что упирается ngx_ctpp и как это отследить?
http://sysoev.ru/nginx/docs/ngx_core_module.html#worker_processes
= кол-во ядер * K, где K настраивается от 1.0 до 2.0 под конкретную
машину, нагрузку и пр.
Отследить при помощи [h]top. Он покажет, что часть ядер простаивают.
> Почему связка из nginx+php-fpm на одной машине оказалась быстрее?
> Так задумано, или я чего не учитываю и/или могу подкрутить/донастроить?
>
> При -c 1:
> в случае работы через ngx_ctpp получаем порядка 3.8-3.9K r/s
> в случае работы через php_ctpp получаем порядка 1-1.1К r/s
Не видно где тут nginx+php-fpm быстрее. Правильно "почему связка X в
при тестировании методом Y оказалась быстрее". А это уже совсем другой
вопрос.
P.S.: из-за качества кода, ab всегда будет давать неверное
представление о реальной пропускной способности системы. Особенно с -c
>1. Попробуйте httperf/siege.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|