我想知道有没有人可以为我解释一些事情,因为我陷入困境。
我正在寻找一个具有多个域的网站,根据所使用的域来提供不同内容的相同代码。我们将网站转移到http2,并为所有域使用通配符证书,并且似乎除了问题我只是无法弄清楚。
我在VirtualHost中的所有站点的当前http2configuration在configuration1下面
当服务器运行了一段时间(24小时)后,即使Keepalives off并且H2MaxWorkerIdleSeconds = 20 ,也有很多Keepalive挂起。
我注意到所有具有keepalive的进程在“请求”列“服务器状态1”下都没有数据
在随机的时间,我也发现了很多“ Gracefully finishing ”的过程,我用脚本手动杀死。
其实际结果是这些网站会变得缓慢,而且我已经用尽了stream程。
任何人都可以告诉我,为什么设置为keepalive的行没有请求或虚拟主机,为什么我卡住“ Gracefully finishing ”进程不死?
configuration1
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 )
build议您升级到最新版本(注意这需要Apache 2.4.23): https : //github.com/icing/mod_h2/releases 。
Apache中的HTTP / 2支持仍被标记为实验https://httpd.apache.org/docs/2.4/mod/mod_http2.html :
警告
这个模块是实验性的。 与其他标准模块相比,其行为,指令和默认值从发布到发布的变化都有所不同。 鼓励用户咨询“CHANGES”文件以获取潜在更新。
最初有很多变化和稳定性修复。 不过最近变化速度已经放缓了,我个人觉得现在稳定了,但现在只能在一个小的网站上运行。
非常感谢,简单的升级似乎已经成功了。 我感到有些尴尬,没有这么早就这样做了。
谢谢
汤姆