@tvoyadres

Httpd апачи не завершает процессы по timeout?

Сервер Xeon 2690 v2 + Mem 128Gb + SSD
Система centos 6.10 Nginx + Httpd Prefork + Ispmanager 5 Lite
Проблема в том что, апатч не убивает зависшие процессы, висят до тех пор пока сервер не перезагрузишь
timeout не срабатывает, подозреваю пробоему в мобильных клиентах которые заходят на сайт и у них рвется соединение, я получаю зависший процесс.
сижу сторожу сервак уже 2 сутки и периодически перезагружаю.

Аналогичная проблема возникла и на втором серваке он был по слабее и просто упал, я там сегодня у mysql почистил базу чтоб быстрее бегать начала, пока не падал.

Завтра по пробую пребросить все на более мощную машину.

PS
server-status включил, там ничего обособленного зависают даже картинки, и обычные страницы
Конфиг апача
<IfModule prefork.c>
StartServers 2
MinSpareServers 2
MaxSpareServers 4
ServerLimit 16384
MaxClients 8192
MaxRequestsPerChild 0 
</IfModule>

Конфиг нгикс
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
worker_rlimit_nofile 65535;

events {
    worker_connections  4096;
}

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

    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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  120;

    #gzip  on;

    server_names_hash_bucket_size 512;
    server_names_hash_max_size 4096;
    client_header_timeout 240s;
    client_body_timeout 240s;
    send_timeout 240s;
    proxy_buffer_size 32k;
    proxy_buffers 8 16k;
    proxy_busy_buffers_size 32k;
    client_body_buffer_size 128k;
    client_max_body_size 128m;
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/vhosts/*/*.conf;
server {
	server_name localhost;
 	disable_symlinks if_not_owner;
	listen 80;
	listen [::]:80;
	include /etc/nginx/vhosts-includes/*.conf;
	location @fallback {
		error_log /dev/null crit;
		proxy_pass http://127.0.0.1:8080;
		proxy_redirect http://127.0.0.1:8080 /;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		access_log off ;
	}
    }
}

  • Вопрос задан
  • 610 просмотров
Пригласить эксперта
Ответы на вопрос 3
StartServers 2
MinSpareServers 2
MaxSpareServers 4
вы серьезно?
Ответ написан
@tvoyadres Автор вопроса
Если выполнить команду
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

1
1 104.20.16.242
1 77.75.129.83
1 88.212.201.216
1 95.163.255.250
1 95.163.36.5
2 0.0.0.0
2 95.163.255.93
2 95.163.255.94
3 95.163.255.83
3 95.163.255.86
4 95.163.255.82
4 95.163.255.85
4 95.163.255.87
4 95.163.255.97
5 95.163.255.95
5 95.163.255.98
6 95.163.255.88
6 95.163.255.92
6 95.163.255.96
6 95.163.255.99
8 95.163.255.89
4158 127.0.0.1
чето-то меня напрягает последняя строка на 80 порту у меня висит заглушка с редиректом на другой сайт.
Ответ написан
Комментировать
@vitaly_il1
DevOps Consulting
Проблема в том что, апатч не убивает зависшие процессы, висят до тех пор пока сервер не перезагрузишь
timeout не срабатывает, подозреваю пробоему в мобильных клиентах которые заходят на сайт и у них рвется соединение, я получаю зависший процесс.


1) В чем проблема с сервером? Медленно работает, падает?
2) Что в error.log Apache?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы