Интересно, может ли кто-нибудь мне кое-что объяснить, пока я застреваю.
Я ищу сайт, на котором несколько доменов взаимодействуют с одним и тем же кодом, обслуживая разный контент в зависимости от используемого домена. Мы переместили сайт на http2 с подстановочным сертификатом для всех доменов, и все, похоже, хорошо работает, кроме проблема, которую я просто не могу понять.
Мой нынешний http2
config в VirtualHost
для всех сайтов ниже по адресу Конфиг 1
Когда сервер проработал какое-то время (24 часа), появляется много сообщений поддержки активности, даже если Keepalives
являются off
и H2MaxWorkerIdleSeconds = 20
.
Я заметил, что все процессы, у которых есть keepalive
нет данных в столбце запроса Сервер Статус 1
Иногда я также нахожу много "Gracefully finishing
"процессы, которые я убиваю вручную с помощью скрипта.
Практический результат этого заключается в том, что сайты будут работать медленно, и у меня закончились процессы.
Может ли кто-нибудь сказать мне, почему строки, которые настроены на поддержку активности, не имеют запросов или Vhost, и почему я застреваю "Gracefully finishing
«процессы, которые не умирают?
Конфиг 1
ProtocolsHonorOrder On
Protocols h2 http/1.1
H2Direct on
SSLCompression Off
H2MaxSessionStreams 200
H2SessionExtraFiles 100
H2MaxWorkerIdleSeconds 20
H2MaxWorkers 200
H2MinWorkers 10
Статус сервера 1
Current Time: Wednesday, 13-Jul-2016 14:00:49 BST
Restart Time: Tuesday, 12-Jul-2016 18:29:46 BST
Parent Server Config. Generation: 4
Parent Server MPM Generation: 3
Server uptime: 19 hours 31 minutes 3 seconds
Server load: 0.49 0.52 0.50
Total accesses: 645863 - Total Traffic: 5.4 GB
CPU Usage: u406.79 s84.29 cu0 cs0 - .699% CPU load
9.19 requests/sec - 80.6 kB/second - 8.8 kB/request
132 requests currently being processed, 29 idle workers
RC_KWKWK_KK_KWKKK_KKKKWKKW.KKWK_KWKKWKKWKKWKKKK__K_KKWK_KKWKK_._
KKWKKK_K.W_KK.KKKKKKKKKK.K_KK_W.W.WKKKK_KKK_KW.K..KK_KKKK_KWKKKK
K.K__WK_KKK_KWK__KWKKKKK.__WK_K_KWKKRWKKKKKWK...................
................................................................
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-3 2290 0/50/3251 R 0.60 0 0 0.0 0.42 26.94 119.26.154.144 www.changeddomain.com:80 HEAD /webcams/lac HTTP/1.1
1-3 2292 1/80/3194 C 7.94 0 4172 84.9 0.69 29.33 180.76.15.8 www.changeddomain.com:443 /camper-portals HTTP/1.1
2-3 2200 0/61/4811 _ 0.76 4 0 0.0 0.90 44.57 66.249.78.18 www.changeddomain.com:80 GET /robots.txt HTTP/1.1
3-3 2294 45/74/851 K 2.96 22 270 15.9 0.07 5.31 194.203.40.135
4-3 2296 1/102/4297 W 5.10 204 7945 0.0 0.86 38.15 82.132.237.7 www.changeddomain.com:443 GET /events/ HTTP/2
5-3 2298 19/38/4996 K 0.88 275 0 0.0 0.20 54.36 2a02:c7d:6a44:3e00:17:3a28:d22c
6-3 2300 12/98/4308 W 1.19 124 0 0.0 0.33 39.88 164.39.215.246 www.changeddomain.com:443 GET /images/some-logo.png HTTP/2
7-3 2797 12/40/4700 K 0.38 83 147 0.0 0.31 47.94 217.41.3.50
8-3 2304 0/86/4820 _ 1.82 2 489 0.0 0.68 45.34 5.65.46.171 www.changeddomain.com:443 POST /_ajax_request.php HTTP/1.1
9-3 2307 17/73/4692 K 1.89 52 0 0.0 0.46 40.90 79.154.86.34
10-3 2799 2/32/2915 K 0.34 5 0 0.0 0.56 25.22 88.131.48.4
11-3 2311 0/70/4038 _ 0.95 0 0 0.0 0.61 37.22 192.243.55.136 www.changeddomain.com:80 /events/videos/video-june HTTP/1.1
12-3 2313 19/76/5080 K 1.11 192 0 0.0 0.51 55.49 90.147.34.234
13-3 2315 9/129/3168 W 2.33 30 155 1.5 0.50 32.61 86.146.7.124 www.somechangeddomain.com:443 POST /_ajax_request.php HTTP/2
Большое спасибо, простое обновление, похоже, помогло. Мне немного неловко, что я не сделал этого раньше.
Спасибо
Том
Какую версию apache и mod_http2 вы используете? Изначально с такими вещами было много проблем (например, https://github.com/icing/mod_h2/issues/72)
Предлагаем вам перейти на последнюю версию (обратите внимание, что для этого требуется Apache 2.4.23): https://github.com/icing/mod_h2/releases.
Поддержка HTTP / 2 в Apache по-прежнему помечена как экспериментальная https://httpd.apache.org/docs/2.4/mod/mod_http2.html:
Предупреждение
Этот модуль экспериментальный. Его поведение, директивы и значения по умолчанию могут больше изменяться от выпуска к выпуску по сравнению с другими стандартными модулями. Пользователям рекомендуется обращаться к файлу «ИЗМЕНЕНИЯ» на предмет возможных обновлений.
И изначально было много изменений и исправлений стабильности. Однако в последнее время скорость изменений замедлилась, и лично я считаю, что сейчас она стабильна, но пока запускаю ее только на небольшом сайте.