https://bz.apache.org/bugzilla/show_bug.cgi?id=69789
Bug ID: 69789 Summary: Performance regression of HTTP/2 proxy after commit 0343adf Product: Apache httpd-2 Version: 2.4.64 Hardware: PC OS: Linux Status: NEW Severity: regression Priority: P2 Component: mod_http2 Assignee: bugs@httpd.apache.org Reporter: xiaoqia...@yeah.net Target Milestone: --- I am using httpd as HTTP/2 reverse proxy for backend servers. However, I have observed that there is obvious performance regression in 2.4.64. After some exploration, I found that this performance degradation could mainly come from commit 0343adf. Beside SSL configuration, here's the configuration I added on the basis of the default configuration: <IfModule proxy_http2_module> SSLProxyEngine On ProxyPass "/h2proxy" "h2://192.168.61.164" ProxyPassReverse "/h2proxy" "https://192.168.61.164" </IfModule> <IfModule http2_module> Protocols h2 h2c http/1.1 </IfModule> I compile two versions of httpd, before 0343adf and after 0343adf. Then use a bash script to alternately test both versions multiple times. This is the core testing command of script: numactl --cpunodebind=0 --membind=0 -- ./bin/httpd -k start sleep 3 numactl --cpunodebind=1 --membind=1 -- h2load -n 30000 http://localhost/h2proxy/lists.html ./bin/httpd -k stop The results show that the version after 0343adf is always obviously slower than the version before 0343adf. For example: before 0343adf: starting benchmark... spawning thread #0: 1 total client(s). 30000 total requests Application protocol: h2c progress: 10% done progress: 20% done progress: 30% done progress: 40% done progress: 50% done progress: 60% done progress: 70% done progress: 80% done progress: 90% done progress: 100% done finished in 316.51s, 94.78 req/s, 1.64MB/s requests: 30000 total, 30000 started, 30000 done, 30000 succeeded, 0 failed, 0 errored, 0 timeout status codes: 30000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 518.83MB (544028927) total, 945.01KB (967693) headers (space savings 84.71%), 517.13MB (542250000) data min max mean sd +/- sd time for request: 3.37ms 879.85ms 10.54ms 8.25ms 97.68% time for connect: 416us 416us 416us 0us 100.00% time to 1st byte: 106.86ms 106.86ms 106.86ms 0us 100.00% req/s : 94.78 94.78 94.78 0.00 100.00% after 0343adf: starting benchmark... spawning thread #0: 1 total client(s). 30000 total requests Application protocol: h2c progress: 10% done progress: 20% done progress: 30% done progress: 40% done progress: 50% done progress: 60% done progress: 70% done progress: 80% done progress: 90% done progress: 100% done finished in 401.80s, 74.66 req/s, 1.29MB/s requests: 30000 total, 30000 started, 30000 done, 30000 succeeded, 0 failed, 0 errored, 0 timeout status codes: 30000 2xx, 0 3xx, 0 4xx, 0 5xx traffic: 518.83MB (544031993) total, 946.99KB (969715) headers (space savings 84.68%), 517.13MB (542250000) data min max mean sd +/- sd time for request: 3.19ms 1.24s 13.38ms 21.77ms 97.91% time for connect: 592us 592us 592us 0us 100.00% time to 1st byte: 83.81ms 83.81ms 83.81ms 0us 100.00% req/s : 74.66 74.66 74.66 0.00 100.00% -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org For additional commands, e-mail: bugs-h...@httpd.apache.org