ПРОЕКТЫ 


  АРХИВ 


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: посоветуйте настройки




On 13.06.2009, at 10:13, Igor V. Fatkulin wrote:


Доброго дня.

Мучаюсь с баннерной системой на FreeBSD6.4 i386.
лучше перейти на 7.X и amd64

Используется связка:
1. на одном сервере nginx+apache, под апачем стартует cgi,
выпрашивающее у mysql номер баннера, который надо показать, сами
картинки отдаются nginx напрямую.

2. БД живет на другом сервере и периодически там накапливается куча
запросов в статусе Sending data, такое ощущение, что web-fronend тупо
не забирает данные.

В логах messages веба есть и такие записи:
 kernel: Limiting closed port RST response from 231 to 200 packets/sec
и такие:
 kernel: collecting pv entries -- suggest increasing PMAP_SHPGPERPROC
гугл, первая строка - 
http://lists.freebsd.org/pipermail/freebsd-hackers/2003-May/000695.html
по ходу пьесы, ваш апач ставит раком ваш сервер


Посоветуйте плз как оттюнить.

Логи-настройки какие надо предоставлю. Сама система на 99.9999%
занимается отдачей картинок, LA <11 не бывает, а то и под 70
подскакивает. Периодически сайты перестают отвечать вообще, в этот
момент idle=~99% и количество процессов апача равно лимиту. По фтп и
ссх доступно все, пинги идут нормальные. Дисковая система не загружена
вообще никогда.

Переделать с CGI возможности нет, есть возможность только поменять
железо с 2xXEON (old) на новый младший 4хядерник.
эти процессоры умеют амд64.


###sysctl.conf:
net.inet.tcp.blackhole=1
net.inet.udp.blackhole=1
net.inet.tcp.nolocaltimewait=0
kern.ipc.somaxconn=4096
kern.ipc.maxsockets=204800
kern.maxfiles=204800
net.inet.tcp.recvspace=8192
kern.ipc.nmbclusters=262144

###loader.conf
accf_http_load="YES"
vm.kmem_size=1073741824
vm.kmem_size_max=1073741824
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.tcbhashsize=4096

### ядро SMP
+options         KVA_PAGES=512


###nginx.conf
user  nobody;
worker_processes  1;
pid        logs/nginx.pid;

events {
   use    kqueue;
   worker_connections  2048;
}

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

   access_log  logs/access.log;
   error_log  logs/error.log;

   sendfile        on;
   tcp_nopush     on;

   keepalive_timeout  0;
   #keepalive_timeout  65;

   gzip  off;
   proxy_buffering on;

   server {
       listen       IP_ADDRESS default accept_filter=httpready;
       server_name  server.name;
       location / {
           proxy_pass    http://server.name:81/; - тут апач
           proxy_set_header  X-Real-IP  $remote_addr;
       }
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
       }
       location ~ /\.ht {
           deny  all;
       }
location ~* ^.+.(jpg|jpeg|gif|swf|ico|css|zip|tgz|gz|rar|bz2| doc|xls|exe|pdf|ppt|txt|tar|mid
           root   /web/server.name/htdocs;
       }
       location /nginx_status {
           stub_status on;
           access_log   off;
       }
   }

### httpd.conf - апач

KeepAlive Off
MinSpareServers 100
MaxSpareServers 500
MaxClients 512
500 серверов по 512 клиентов? 256 000 запросов одновременно? или я неправильно считаю?
а в нгинх-е настроено максимум 2 048 запросов

MaxRequestsPerChild 5
все остальное в общем штатно







 




Copyright © Lexa Software, 1996-2009.