今天使用ab(apacheBench)測試了一下beego的性能。
3Kbytes動態(tài)文件,在i3上可以達到每秒1W次響應的性能。
但是在測試靜態(tài)文件時,beego出現了問題。
ab測試參數:100次請求,并發(fā)數5。
問題表現:70%的請求直接失敗,連接斷開。
按道理來說,一個web server框架,靜態(tài)文件的性能,應該是高于動態(tài)文件性能的。
在動態(tài)文件性能達到1W/s的情況下,沒理由靜態(tài)文件性能這么低下。
然后查看了一下beego的源代碼。發(fā)現beego在處理動態(tài)文件請求時,有緩存。而處理靜態(tài)文件時,沒有緩存。
簡圖:
beego----動態(tài)文件----緩存-----文件系統(tǒng)
beego----靜態(tài)文件-------------文件系統(tǒng)
處理靜態(tài)文件時,是直接使用文件系統(tǒng)。一般的文件系統(tǒng)的并發(fā)量當然很低。
這就是beego的靜態(tài)文件處理性能低下的原因。
所以在進行網站部署時,需要將相應的靜態(tài)文件,放置到nginx上進行處理(相同的文件,nginx的靜態(tài)文件處理可以達到每秒1.5W次響應。
beego與nginx通過反向代理連接。這樣才能最大限度地保證網站性能。
以上這篇淺談beego默認處理靜態(tài)文件性能低下的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- golang實現http服務器處理靜態(tài)文件示例
- Django 添加靜態(tài)文件的兩種實現方法(必看篇)
- 完美解決beego 根目錄不能訪問靜態(tài)文件的問題
- python django 訪問靜態(tài)文件出現404或500錯誤
- 解析Go 標準庫 http.FileServer 實現靜態(tài)文件服務