Конфигурация nginx, которая может обслуживать 1000 запросов / сек - PullRequest
0 голосов
/ 09 ноября 2011

Наш производственный сервер имеет Ubuntu 9.x, Память 8 ГБ, HDD 250 ГБ использовать nginx в качестве веб-сервера. В настоящее время мы испытываем проблему производительности в часы пик (1000 запросов / сек) Я хочу, чтобы сервер мог обслуживать 1000 запросов / сек, может кто-нибудь сказать мне, что я должен изменить в конфигурации nginx. спасибо

вот nginx conf

#user  nobody;

worker_processes  8;

events {
    worker_connections  8024;
}


http {
    passenger_root /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/passenger-3.0.9;
    passenger_ruby /opt/ruby-enterprise-1.8.7-2009.10/bin/ruby;
    passenger_pool_idle_time 0;
    passenger_max_pool_size 15;

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

    sendfile        on;

    ## General options
    #ignore_invalid_headers on;
    keepalive_requests 2000;
    #recursive_error_pages on;
    #server_name_in_redirect off;
    #server_tokens off;

    ## TCP options
    tcp_nodelay on;
    tcp_nopush on;

    ## Timeouts
    client_body_timeout 10;
    client_header_timeout 10;
    keepalive_timeout  65;
    #send_timeout 10;
    #expires 24h;

    gzip  on;

server {
    listen       80;
    server_name  resumecompanion.com;
    passenger_enabled on;
    rails_env production;
    root /var/www/resumecompanion.com/production/current/public;
    #access_log  off;
    #error_log off;
            ## Redirect from www to non-www
            if ($host = 'www.resumecompanion.com' ) {
              rewrite  ^/(.*)$  http://resumecompanion.com/$1  permanent;
            }


            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            location ~ /\.ht {
                deny  all;
            }
        }


# HTTPS server
#
server {
    listen       443;
    server_name  resumecompanion.com;
    passenger_enabled on;
    rails_env production;

    ssl                  on;
    ssl_certificate      /opt/nginx/ssl/resumecompanion.com.crt;
    ssl_certificate_key  /opt/nginx/ssl/start_resumecompanion_com.key;

    ssl_session_timeout  5m;

#    ssl_protocols  SSLv2 SSLv3 TLSv1;
#    ssl_ciphers  HIGH:!aNULL:!MD5;
#    ssl_prefer_server_ciphers   on;

    root   /var/www/resumecompanion.com/production/current/public;

}

}

1 Ответ

3 голосов
/ 09 ноября 2011

Очень сложно сказать, не анализируя систему ... Сначала вы должны найти, где большая часть времени проводится в запросах.Это не обычный ngingx или apache, являющийся причиной проблем.

Учитывая, что вы разместили это с тегом ruby-on-rails, я полагаю, что у вас есть приложение rails позади nginx ... Скорее всего, это railsприложение, которое вызывает проблемы.Первое, что я хотел бы проверить, это запросы к базе данных.Проверяйте журналы на медленные запросы и пытайтесь найти способ сделать их быстрее ... Индексы - это всегда хорошая точка для начала ....

Если вы не можете найти что-либо, попробуйте инструменты как новую реликвию, котораянайдет, где ваши проблемы с производительностью ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...