Nginx+linux

Kostya Alexandrov koticka at mail.ru
Sat May 31 16:49:28 MSD 2008


А чем sendfile не угодил?
Есть ли резон tcp_nodelay?

sleepy wrote:
> В сообщении от Saturday 31 May 2008 21:35:36 Andrew Velikoredchanin 
> написал(а):
>   
>> sleepy пишет:
>>     
>>> Не могу понять в чем дело, у меня под Linux сервер уже сдыхает при 200 -
>>> 250 одновременных подключениях. Пробовал rtsig и  epoll, толку ни какого.
>>> Перепробовал различные комбинации колличества worker процессов. С
>>> бэкендом общается через unix сокет, всего 5 пулов . В чем может быть
>>> проблемма и решаема ли она?
>>>       
>> Вы забыли указать версию nginx, характер нагрузки, мощность сервера,
>> загруженность его другими задачами и т.д.
>>     
>
> Прошу прощения, 
> nginx version: nginx/0.6.31
> PHP 5.2.6
>
> Нагрузка в виде где то 500-700 одновременных пользователей, отдаются веб 
> страницы в связке с php через fastcgi. Сервер c процессором Intel(R) Core(TM)
> 2 Duo CPU     E8200  @ 2.66GHz память 8 Гб других задач на сервере нет!, 
> процессор простаивает. на страницах скриптов пишется время генерации меньше 
> 0,2 секунды, но страница отдаётся очень долго, вернее время между запросом и 
> загрузкой достигает около полуминуты. 
>
> Пробовал до этого переходить от старых версий к новым, ситуация не меняется.
>
> отслеживание по команде top даёт такую картину:
>
> сначала нет никакой нагрузки, не смотря на то что запросов уже много сделано, 
> потом появляется на короткий промежуток в загрузке php процессы, быстро 
> отрабатывают, и простой продолжается еще какое то время. Далее всё 
> повторяется снова. 
>
> Привожу конфиг:
>
> #user  apache;
> worker_processes  25;
>
> #error_log  logs/error.log;
> #error_log  logs/error.log  notice;
> #error_log  logs/error.log  info;
> #pid        logs/nginx.pid;
>
>
> events {
>     worker_connections  1024;
> #use rtsig;
> use epoll;
> }
>
>
> http {
>
>     include       mime.types;
>     default_type  application/octet-stream;
>
>      log_format  main  '$remote_addr - $remote_user [$time_local] $request '
>                       '"$status" $body_bytes_sent "$http_referer" '
>                       '"$http_user_agent" "$http_x_forwarded_for"';
>
>     #access_log  logs/access.log  main;
> server_tokens off;
> sendfile        off;
> tcp_nopush     off;
> tcp_nodelay      on;
> keepalive_timeout  0;
> #keepalive_timeout  65;
> open_file_cache          max=300  inactive=20s;
> open_file_cache_valid    30s;
> open_file_cache_min_uses 2;
> open_file_cache_errors   on;
>
>
> #    gzip  on;
>
> upstream backend {
>
>
> server unix:/tmp/php1.sock;
> server unix:/tmp/php2.sock;
> server unix:/tmp/php3.sock;
> server unix:/tmp/php4.sock;
> server unix:/tmp/php.sock;
> }
>
>
> server {
>         listen       80;
>         server_name  changeSource www.dsvload.net;
>
>         #charset koi8-r;
>
>         access_log  logs/host.access.log  main;
>
>         location / {
>             root /home/ftp/dsvload/dsvload.net  ;
>             index  index.php index.html index.htm;
>         }
> #        error_page  404              /404.html;
>
>         # redirect server error pages to the static page /50x.html
>         #
>         error_page   500 502 503 504  /50x.html;
>         location = /50x.html {
>             root  html;
>         }
>
> location ~ \.php$ {
>         fastcgi_pass   backend;
>         fastcgi_index  index.php;
>         fastcgi_param  
> SCRIPT_FILENAME  /home/ftp/dsvload/dsvload.net$fastcgi_script_name;
> fastcgi_param  QUERY_STRING       $query_string;
> fastcgi_param  REMOTE_ADDR        $remote_addr;
>
> # - если скрипты обрабатывают запросы POST:
> fastcgi_param  REQUEST_METHOD     $request_method;
> fastcgi_param  CONTENT_TYPE       $content_type;
> fastcgi_param  CONTENT_LENGTH     $content_length;
>                        
> # - и все остальные:
> #fastcgi_param  PATH_TRANSLATED    $fastcgi_path_translated;
> fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
> fastcgi_param  REQUEST_URI        $request_uri;
> fastcgi_param  DOCUMENT_URI       $document_uri;
> fastcgi_param  DOCUMENT_ROOT      $document_root;
> fastcgi_param  SERVER_PROTOCOL    $server_protocol;
> fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
> fastcgi_param  REMOTE_PORT        $remote_port;
> fastcgi_param  SERVER_ADDR        $server_addr;
> fastcgi_param  SERVER_PORT        $server_port;
> fastcgi_param  SERVER_NAME        $server_name;                                                                                                                         
> fastcgi_param  DOCUMENT_ROOT      $document_root;
> #fastcgi_intercept_errors on;
>
>
> # include        conf/fastcgi_params;
>         }
> }
> # HTTPS server
>     #
>     #server {
>     #    listen       443;
>     #    server_name  localhost;
>
>     #    ssl                  on;
>     #    ssl_certificate      cert.pem;
>     #    ssl_certificate_key  cert.key;
>
>     #    ssl_session_timeout  5m;
>
>     #    ssl_protocols  SSLv2 SSLv3 TLSv1;
>     #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:
> +EXP;
>     #    ssl_prefer_server_ciphers   on;
>
>     #    location / {
>     #        root   html;
>     #        index  index.html index.htm;
>     #    }
>     #}
>
>
>
> }
>
>
>   





More information about the nginx-ru mailing list