ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Падение сервера при заж атии кнопки F5





18 февраля 2011 г. 0:16 пользователь Александр Рочев <foxr@xxxxxxx> написал:
Доброй ночи всем.
Сегодня случайным образом выявилась большая проблема на сайте. Случайно зажав кнопку F5 в админке сайта получилось заставить сервер впасть в ступор, в top появилась куча httpd процессов, нагрузка на процессор 100% и сайт перестает отвечать (404 ошибка).
Еще так же в админке есть пункт меню, в которых заходя идет запрос на второй сервер, с которого ему присылаются данные и попадают во фрейм. Так вот если на этой странице нажать F5 и держать, то снова возникает тьма процессов httpd, которые жрут 100% проца, но уже nginx отвечает на сайте 504 ошибку.

Как можно средствами nginx ограничить количество запросов с одного допустим ip к серверу или может в конфиге ошибка, которая так кладет сайт. Пробовал на разных сайтах держать F5 им хоть бы что. Кто может сталкивался с такой проблемой, помогите, не радует что может сделать F5 с сайтом....

Сервер 6 ядерный, памяти 32гб и рэйд 5 на скази дисках.

Проблема наверняка в скриптах и/или бд. Я бы на вашем месте не ограничивал кол-во запросов с IP, а искал  что там так себя некрасиво ведёт что кладёт такую машинку на бок по F5, т.к. в решете воду не носят.


 
Работает связка nginx 0.8.5.4 + apache

Настройки Апача
<IfModule mpm_prefork_module>
   StartServers          10
   MinSpareServers       15
   MaxSpareServers      30
   MaxClients          150
   MaxRequestsPerChild   0
</IfModule>
Timeout 60
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 5

user  www www;

worker_processes  8;

error_log  /pub/log/nginx/error_log  notice;

pid        /var/run/nginx.pid;

events {
   worker_connections  1024;
   use kqueue;
       }

http {
   include       mime.types;
   default_type  application/octet-stream;
   server_names_hash_bucket_size 1024;
   client_header_timeout  1m;
   client_body_timeout    1m;
   send_timeout           1m;
   keepalive_timeout      1m;
   sendfile        on;
   client_max_body_size   20m;
   proxy_connect_timeout  60;
   proxy_send_timeout     60;
   proxy_read_timeout     60;
   proxy_buffer_size      128k;
   proxy_buffers          64 128k;
   proxy_busy_buffers_size 128k;
   proxy_buffering        on;
   large_client_header_buffers 16 32k;
   gzip                   on;
   gzip_static            on;
   gzip_min_length        1000;
   gzip_proxied           any;
   gzip_types             text/plain text/xml application/xml application/x-_javascript_ text/_javascript_ text/css text/json;
   gzip_disable           "msie6";
   gzip_comp_level        6;


   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  /pub/log/nginx/access_log  main;

server {
       listen 80 default rcvbuf=8k sndbuf=16k;
           }

      }


upstream bak {
   server 127.0.0.1:port;
            }


server {

reset_timedout_connection on;

listen ip:80;

server_name    test.ru www.test.ru;

location ~* ^.+\.(htm|html|jpg|jpeg|gif|swf|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
                       root /pub/home/test.ru/www;

access_log off;
expires 5h;
       }

location ~ /\.ht {
               deny  all;
                   }

location / {

       proxy_set_header        Host            $http_host;

       proxy_set_header        X-Real-IP $remote_addr;

       proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for; # $remote_addr;

       proxy_pass http://bak/;
       proxy_redirect http://test.ru:2003/ http://test.ru/;
       proxy_redirect http://www.test.ru:2003/ http://www.test.ru/;

       }
       }




_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru



--
Regards,
Slava
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.