ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.