ПРОЕКТЫ 


  АРХИВ 


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]

посоветуйте настрой ки



Доброго дня.

Мучаюсь с баннерной системой на FreeBSD6.4 i386.
Используется связка:
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

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

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

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

###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
MaxRequestsPerChild 5
все остальное в общем штатно




 




Copyright © Lexa Software, 1996-2009.