Назад | Перейти на главную страницу

Apache создает рабочие процессы, хотя доступа почти нет

В последнее время Apache порождает рабочих, хотя, похоже, для этого нет никаких причин. После ~ 10 минут перезапуска он продолжает создавать рабочих, пока не достигнет максимального числа, и новые запросы никогда не будут обслуживаться.

После перезапуска службы (service apache2 restart) Начал следить за журналом доступа. Было всего два довольно простых запроса, прежде чем он начал порождать рабочих как сумасшедший:

#/var/log/apache2/access.log

66.249.64.215 - - [17/Feb/2016:00:30:18 +0000] "GET /wp-content/uploads/2015/08/colarinho_3.png HTTP/1.1" 304 179 "-" "Googlebot-Image/1.0"
201.80.103.196 - - [17/Feb/2016:00:33:00 +0000] "GET /wp-content/uploads/2015/09/circulo_cromatico.png HTTP/1.1" 200 40642 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"

А вот полный статус до того, как он полностью перестал обслуживать новые запросы.

$apache2ctl fullstatus
                  Apache Server Status for localhost (via ::1)

   Server Version: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.12
   Server MPM: prefork
   Server Built: Jul 24 2015 17:25:11
     __________________________________________________________________

   Current Time: Wednesday, 17-Feb-2016 00:35:57 UTC
   Restart Time: Wednesday, 17-Feb-2016 00:26:33 UTC
   Parent Server Config. Generation: 1
   Parent Server MPM Generation: 0
   Server uptime: 9 minutes 24 seconds
   Server load: 0.00 0.06 0.18
   Total accesses: 3 - Total Traffic: 48 kB
   CPU Usage: u0 s0 cu0 cs0
   .00532 requests/sec - 87 B/second - 16.0 kB/request
   22 requests currently being processed, 4 idle workers

WWWWWWWWWWWWWWWWWWWW_WW___........................

   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process

   Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
   0-0 6980 0/0/0 W 0.00 64 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/191.185.144.200 HTTP/1.0
   1-0 6981 0/1/1 W 0.00 55 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   2-0 6982 0/1/1 W 0.00 52 0 0.0 0.04 0.04 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   3-0 6983 0/0/0 W 0.00 65 0 0.0 0.00 0.00 191.185.144.200
   socialtailor.com.br:80 GET / HTTP/1.1
   4-0 6984 0/0/0 W 0.00 64 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   5-0 6989 0/0/0 W 0.00 55 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   6-0 6990 0/0/0 W 0.00 50 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   7-0 6991 0/0/0 W 0.00 41 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   8-0 6992 0/0/0 W 0.00 50 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   9-0 6993 0/0/0 W 0.00 40 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   10-0 6994 0/0/0 W 0.00 38 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   11-0 6995 0/0/0 W 0.00 35 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   12-0 6996 0/0/0 W 0.00 24 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   13-0 6997 0/0/0 W 0.00 32 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   14-0 6998 0/0/0 W 0.00 24 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   15-0 6999 0/0/0 W 0.00 24 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   16-0 7000 0/0/0 W 0.00 11 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   17-0 7001 0/0/0 W 0.00 7 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   18-0 7002 0/0/0 W 0.00 7 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   19-0 7003 0/0/0 W 0.00 4 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   20-0 7004 0/1/1 _ 0.00 7 0 0.0 0.01 0.01 ::1 socialtailor.com.br:80 GET
   /server-status HTTP/1.0
   21-0 7005 0/0/0 W 0.00 2 0 0.0 0.00 0.00 127.0.0.1
   socialtailor.com.br:80 GET /lookup/127.0.0.1 HTTP/1.0
   22-0 7006 0/0/0 W 0.00 0 0 0.0 0.00 0.00 ::1 socialtailor.com.br:80 GET
   /server-status HTTP/1.0
     __________________________________________________________________

    Srv  Child Server number - generation
    PID  OS process ID
    Acc  Number of accesses this connection / this child / this slot
     M   Mode of operation
    CPU  CPU usage, number of seconds
    SS   Seconds since beginning of most recent request
    Req  Milliseconds required to process most recent request
   Conn  Kilobytes transferred this connection
   Child Megabytes transferred this child
   Slot  Total megabytes transferred this slot
     __________________________________________________________________


    Apache/2.4.7 (Ubuntu) Server at localhost Port 80

На сайте, который он обслуживает, установлен Wordpress. Я обновил его до последней версии и отключил задания cron. Есть идеи, почему это происходит или как отладить это дальше?

Еще странная вещь: если я lynx http://localhost/ он продолжает ждать ответа вечно (даже если Apache не перегружен воркерами), а затем сразу же Apache начинает порождать множество воркеров, как и раньше.

Я использую mpm_prefork со следующей конфигурацией:

#/etc/apache2/mods-enabled/mpm_prefork.conf

<IfModule mpm_prefork_module>
    StartServers            5
    MinSpareServers         5
    MaxSpareServers         10
    MaxRequestWorkers       50
    MaxConnectionsPerChild  1000
</IfModule>