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