背景
我們七層負載層,使用了5台24U+64G記憶體的實體機支行nginx做https加解密與proxy_pass。每天上下班時段,5台機CPU基本上在50%左右,算是計算型。
最佳化手段:keepalive、換TLS1.2加密演算法最佳化(參考:1,2)等,收效不大。
特別簡潔keepalive選項,不論服務端如何支持,關鍵是客戶端不跟你keep,你玩個屁。
測試過程
nginx -V:
version: openresty/1.9.7.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
–with-http_v2_module
Apache的ab壓測工具: yum安裝
圖:
放流量圖你就明白了:
下圖為使用ab與boom時:
此時ab與boom都有使用-k,反正怎麼玩,測量與時間都大概在這個水平。
例如以下指令,基本上要跑半小時:
boom -c 1000 -n 1000000 -allow-insecure https://172.16.9.234/5k.jpg
ab -c 1000 -n 1000000 -khttps://172.16.9.234/5k.jpg
參數不變換成http2時:
h2load -c 1000 -n 100000751/100751/100 .jpg
h2load運行結果如下:
再有下圖為h2load測試http2時:
千兆網路卡,流出流量全滿上。
結論
以下結論經過多次重複測試,只代表本人意見,轉載請註明from:toontong.
以上就介紹了nginx的http20效能太逆天了,HTTPS網站效能優化,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。