Nginx+linux

CoolCold coolcold at coolcold.org
Sat May 31 21:44:35 MSD 2008


Hello sleepy,

а статика нормально отдаётся? если запустить ab паралельно в 100-200-500 потоков?
Я так понимаю что соединение устанавливается быстро, но время ответа большое, или соединение долго устанавливается?
В любом случае посмотрите что у вас в
net.ipv4.tcp_max_syn_backlog
net.core.somaxconn
net.core.netdev_max_backlog

по дефолту net.core.somaxconn может быть 512 или даже 128, попробуйте поднять до 1024, 2048, только nginx перезапустите
после этого.

ну и в нгиксе пропишите backlog, типа:
listen   80 default backlog=4096;


Saturday, May 31, 2008, 3:45:27 PM, you wrote:

s> В сообщении от Saturday 31 May 2008 21:35:36 Andrew Velikoredchanin 
s> написал(а):
>> sleepy пишет:
>> > Не могу понять в чем дело, у меня под Linux сервер уже сдыхает при 200 -
>> > 250 одновременных подключениях. Пробовал rtsig и  epoll, толку ни какого.
>> > Перепробовал различные комбинации колличества worker процессов. С
>> > бэкендом общается через unix сокет, всего 5 пулов . В чем может быть
>> > проблемма и решаема ли она?
>>
>> Вы забыли указать версию nginx, характер нагрузки, мощность сервера,
>> загруженность его другими задачами и т.д.

s> Прошу прощения, 
s> nginx version: nginx/0.6.31
s> PHP 5.2.6

s> Нагрузка в виде где то 500-700 одновременных пользователей, отдаются веб 
s> страницы в связке с php через fastcgi. Сервер c процессором Intel(R) Core(TM)
s> 2 Duo CPU     E8200  @ 2.66GHz память 8 Гб других задач на сервере нет!, 
s> процессор простаивает. на страницах скриптов пишется время генерации меньше 
s> 0,2 секунды, но страница отдаётся очень долго, вернее время между запросом и 
s> загрузкой достигает около полуминуты. 

s> Пробовал до этого переходить от старых версий к новым, ситуация не меняется.

s> отслеживание по команде top даёт такую картину:

s> сначала нет никакой нагрузки, не смотря на то что запросов уже много сделано, 
s> потом появляется на короткий промежуток в загрузке php процессы, быстро 
s> отрабатывают, и простой продолжается еще какое то время. Далее всё 
s> повторяется снова. 

s> Привожу конфиг:

s> #user  apache;
s> worker_processes  25;

s> #error_log  logs/error.log;
s> #error_log  logs/error.log  notice;
s> #error_log  logs/error.log  info;
s> #pid        logs/nginx.pid;


s> events {
s>     worker_connections  1024;
s> #use rtsig;
s> use epoll;
s> }


s> http {

s>     include       mime.types;
s>     default_type  application/octet-stream;

s>      log_format  main  '$remote_addr - $remote_user [$time_local] $request '
s>                       '"$status" $body_bytes_sent "$http_referer" '
s>                       '"$http_user_agent" "$http_x_forwarded_for"';

s>     #access_log  logs/access.log  main;
s> server_tokens off;
s> sendfile        off;
s> tcp_nopush     off;
s> tcp_nodelay      on;
s> keepalive_timeout  0;
s> #keepalive_timeout  65;
s> open_file_cache          max=300  inactive=20s;
s> open_file_cache_valid    30s;
s> open_file_cache_min_uses 2;
s> open_file_cache_errors   on;


s> #    gzip  on;

s> upstream backend {


s> server unix:/tmp/php1.sock;
s> server unix:/tmp/php2.sock;
s> server unix:/tmp/php3.sock;
s> server unix:/tmp/php4.sock;
s> server unix:/tmp/php.sock;
s> }


s> server {
s>         listen       80;
s>         server_name  dsvload.net www.dsvload.net;

s>         #charset koi8-r;

s>         access_log  logs/host.access.log  main;

s>         location / {
s>             root /home/ftp/dsvload/dsvload.net  ;
s>             index  index.php index.html index.htm;
s>         }
s> #        error_page  404              /404.html;

s>         # redirect server error pages to the static page /50x.html
s>         #
s>         error_page   500 502 503 504  /50x.html;
s>         location = /50x.html {
s>             root  html;
s>         }

s> location ~ \.php$ {
s>         fastcgi_pass   backend;
s>         fastcgi_index  index.php;
s>         fastcgi_param  
s> SCRIPT_FILENAME  /home/ftp/dsvload/dsvload.net$fastcgi_script_name;
s> fastcgi_param  QUERY_STRING       $query_string;
s> fastcgi_param  REMOTE_ADDR        $remote_addr;

s> # - если скрипты обрабатывают запросы POST:
s> fastcgi_param  REQUEST_METHOD     $request_method;
s> fastcgi_param  CONTENT_TYPE       $content_type;
s> fastcgi_param  CONTENT_LENGTH     $content_length;
                       
s> # - и все остальные:
s> #fastcgi_param  PATH_TRANSLATED    $fastcgi_path_translated;
s> fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
s> fastcgi_param  REQUEST_URI        $request_uri;
s> fastcgi_param  DOCUMENT_URI       $document_uri;
s> fastcgi_param  DOCUMENT_ROOT      $document_root;
s> fastcgi_param  SERVER_PROTOCOL    $server_protocol;
s> fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
s> fastcgi_param  REMOTE_PORT        $remote_port;
s> fastcgi_param  SERVER_ADDR        $server_addr;
s> fastcgi_param  SERVER_PORT        $server_port;
s> fastcgi_param  SERVER_NAME        $server_name;                                                                                                                         
s> fastcgi_param  DOCUMENT_ROOT      $document_root;
s> #fastcgi_intercept_errors on;


s> # include        conf/fastcgi_params;
s>         }
s> }
s> # HTTPS server
s>     #
s>     #server {
s>     #    listen       443;
s>     #    server_name  localhost;

s>     #    ssl                  on;
s>     #    ssl_certificate      cert.pem;
s>     #    ssl_certificate_key  cert.key;

s>     #    ssl_session_timeout  5m;

s>     #    ssl_protocols  SSLv2 SSLv3 TLSv1;
s>     #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:
s> +EXP;
s>     #    ssl_prefer_server_ciphers   on;

s>     #    location / {
s>     #        root   html;
s>     #        index  index.html index.htm;
s>     #    }
s>     #}



s> }



np: Canadian Culture 2.0 - 002 - Kristoff & Tristan Newton

Best regards,
CoolCold [COOLCOLD-RIPN]






More information about the nginx-ru mailing list