The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Глюки 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, 16:35 , 27-Авг-11 (1)
    >[оверквотинг удален]
    > 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, 18:19 , 27-Авг-11 (2)
      >[оверквотинг удален]
      >> стоит 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, !*! ACCA, 22:31 , 29-Авг-11 (3)
    Может быть, что новый сайт ждёт HTTP 1.1, в то время как Nginx разговаривает с бэкендом только через HTTP 1.0.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру