URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7343
[ Назад ]

Исходное сообщение
"Глюки nginx"

Отправлено DavyJohnes , 27-Авг-11 10:48 
Чертовщина какая-то, ничего не понимаю....

На старом сервере стоял nginx+apache, все работало прекрасно. Переехал на новый сервер, настроил такую же схему и был очень сильно удивлен что сайт грузиться неимоверно долго, при этом в логах nginx'a за минуту накапало куча вот таких строчек:

2011/08/26 15:50:43 [error] 11505#0: *4327 upstream timed out (110: Connection timed out) while connecting to upstream, client: *.*.*.*, server: , request: "GET /index.php HTTP/1.1", upstream: "http://*.*.*.*:8080/index.php", host: "www.********"

мало того заметил что из 4ГБ ОЗУ использовалось 3.8ГБ.

Перелопатив гугль и яндекс и подумав, сделал вывод что тупит бэкенд и скрипт не успевает вовремя выполниться (хотя таймаут в конфе nginxa стоит 90 секунд).

Однако, отключив nginx, повесив apache напрямую к юзерам, обнаружил что никакой задержки выполнения скрипта нету, все грузиться прекрасно, оперативку съедает максимум 1.5ГБ.

Всю голову уже себе сломал, в чем может быть дело?


Содержание

Сообщения в этом обсуждении
"Глюки nginx"
Отправлено Xaionaro , 27-Авг-11 16:35 
>[оверквотинг удален]
> while connecting to upstream, client: *.*.*.*, server: , request: "GET /index.php
> HTTP/1.1", upstream: "http://*.*.*.*:8080/index.php", host: "www.********"
> мало того заметил что из 4ГБ ОЗУ использовалось 3.8ГБ.
>  Перелопатив гугль и яндекс и подумав, сделал вывод что тупит бэкенд
> и скрипт не успевает вовремя выполниться (хотя таймаут в конфе nginxa
> стоит 90 секунд).
>  Однако, отключив nginx, повесив apache напрямую к юзерам, обнаружил что никакой
> задержки выполнения скрипта нету, все грузиться прекрасно, оперативку съедает максимум
> 1.5ГБ.
>  Всю голову уже себе сломал, в чем может быть дело?

Ну давайте полные настройки nginx, а так же настройки apache, где видно, какие порты он прослушивает, vhost сайта и прочую необходимую информацию. И кто жрал эти 3.8 гига? Сколько оттуда жрал nginx?

Так же советую настроить server-status на apache и посмотреть что там тварится, когда всё зависает.


"Глюки nginx"
Отправлено DavyJohnes , 27-Авг-11 18:19 
>[оверквотинг удален]
>> стоит 90 секунд).
>>  Однако, отключив nginx, повесив apache напрямую к юзерам, обнаружил что никакой
>> задержки выполнения скрипта нету, все грузиться прекрасно, оперативку съедает максимум
>> 1.5ГБ.
>>  Всю голову уже себе сломал, в чем может быть дело?
> Ну давайте полные настройки nginx, а так же настройки apache, где видно,
> какие порты он прослушивает, vhost сайта и прочую необходимую информацию. И
> кто жрал эти 3.8 гига? Сколько оттуда жрал nginx?
> Так же советую настроить server-status на apache и посмотреть что там тварится,
> когда всё зависает.

nginx.conf

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

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

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;

        server{
                listen *:80;
                location /{
                        proxy_pass http://localhost:8080;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        client_max_body_size       20m;
                        client_body_buffer_size    256k;

                        proxy_connect_timeout      120;
                        proxy_send_timeout         120;
                        proxy_read_timeout         120;

                        proxy_buffer_size          8k;
                        proxy_buffers              8 64k;
                        proxy_busy_buffers_size    128k;
                        proxy_temp_file_write_size 128k;

                }
        }

}


#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
#
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}


apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:8080
Listen 8080

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

конфиг вирт. хоста:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

        AllowEncodedSlashes on
</VirtualHost>


"Глюки nginx"
Отправлено Xaionaro , 03-Сен-11 09:52 
А кто жрал ОЗУ неизвестно?

"Глюки nginx"
Отправлено ACCA , 29-Авг-11 22:31 
Может быть, что новый сайт ждёт HTTP 1.1, в то время как Nginx разговаривает с бэкендом только через HTTP 1.0.