Nginx+linux

sleepy sleepy at ultra-x.pp.ru
Sat May 31 15:45:27 MSD 2008


В сообщении от 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  dsvload.net 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