測試工具:ab(apachebench)
硬件環(huán)境:
Intel xeon cpu E5-2682 v4 ?2.50GHz ?4 core
8GBytes 內存
軟件環(huán)境:
ubuntu16
靜態(tài)文件
3Kbytes
26000次響應/秒(平均值)
吞吐量:111Mbytes/秒(平均值)
并發(fā)數:300
每次請求響應時間:10.8[ms](平均值)
————————————————
58Kbytes
20000次響應/秒(平均值)
吞吐量:1165Mbytes/秒(平均值)
并發(fā)數:300
每次請求響應時間:14.2[ms](平均值)
——————————————————-
beego
動態(tài)文件
3Kbytes
16000次響應/秒(平均值)
吞吐量:52Mbytes/秒(平均值)
并發(fā)數:330
每次請求響應時間:20.2[ms](平均值)
性能測試結果分析:
從以上結果可以看出,nginx對靜態(tài)文件的處理性能,不論是是吞吐量、并發(fā)量、單位請求處理時間上,都很強大。而且cpu占用只有50%。整個性能表現受到ab單進程的限制,并沒有完全發(fā)揮。
而beego的動態(tài)文件處理,性能也很強大。同樣的文件(3Kbytes),nginx作為靜態(tài)文件處理時,性能是每秒2.6W次響應。到了beego作為動態(tài)文件處理,依然可以達到每秒1.6萬次響應的性能,性能下降較小。相對于靜態(tài)文件處理,動態(tài)文件處理server需要經過更多流程才能完成輸出,所以都會出現性能下降。
beego在處理時,服務器 cpu使用率達到了95%,而之前在筆記本上測試時,i3 cpu使用率也達到了93%,說明beego擁有良好的伸縮性??梢噪S著硬件(CPU、內存)的加強,發(fā)揮出更強的性能。