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

Alexey V. Karagodov kav at karagodov.name
Sat Jun 13 13:58:32 MSD 2009


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







More information about the nginx-ru mailing list