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