-n 代表的是總的請求數,-c代表一次併發裡面的請求數
read db:讀取資料庫的時候,使用cache
**邏輯:盡量避免在for迴圈裡面使用query
給logger加上判斷,當debug模式為false的時候,很多不必要的地方不需要寫log
gunicorn:使用gevent啟用worker,將worker的數量變成三個,核數+1,將gevent放在requirement中。worker個數,worker型別,timeout時間
nginx: 修改配置檔案,timeout設定為600/300s
在最外面加上:
worker_rlimit_nofile 65535;
在http塊內加上:
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
在server塊的location裡面加上:
proxy_connect_timeout 600s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
nas:掛載引數上需要增加乙個noresvport引數來規避以後例行維護可能造成的nas服務中斷
使用python的一些計算執行時間的工具來優化**,cprofile、line_profiler、timedelta
對python本身的一些優化 pypy/cpython
line_profiler
是乙個對函式進行逐行分析的模組,kernprof
是乙個可以執行line_profiler
或者python標準庫cprofile
的乙個很方便的指令碼工具。
安裝:$ pip install line_profiler
遇到錯誤提示沒有cpython,安裝一下:
pip install cpython
繼續報錯:command 'x86_64-linux-gnu-gcc' failed with exit status 1
解決方案:裡面的
sudo apt install python3.6-dev
解決了問題
首先使用kernprof指令碼執行來開始我們的效能優化工作:
kernprof -l run.py
上面的操作會建立乙個lineprofiler
的例項並且會把它插入到命名空間裡面。然後它能以裝飾器的方式來使用,所以我們只需要把我們需要分析的函式上面套上這個裝飾器:
@profile
deffunc_need_profile
(*args,
**kwargs):.
..
這裡直接加上裝飾器,不需要在**裡面額外import任何東西。
kernprof
會把分析的結果放在script_to_profile.py.lprof
這個二進位制檔案裡面,然後我們可以去看這個分析結果:
python -m line_profiler run.py.lprof
Lustre效能優化方案
部落格公告 1 本部落格所有部落格文章搬遷至 部落格蟲 網路頻寬往往決定著lustre檔案系統的聚合頻寬。lustre是通過多個oss同時讀取資料來提高系統整體的讀寫效能,然而,如果網路傳輸的效能過低,則無法發揮lustre檔案系統的效能優勢。從以下幾點考慮網路頻寬對效能的影響 網路型別 tcp i...
Android效能優化方案
android效能優化的方案比較多,在開發過程中,主要考慮從以下幾個方面優化 1.布局優化 2.繪製優化 3.記憶體洩漏優化 4.響應速度優化 5.listview優化 6.bitmap優化 7.執行緒優化 接下來我們從這幾個方面為大家簡單介紹優化方案 大家肯定都知道android中有許多布局,比如...
前端效能優化方案
1 雪碧圖 css sprites 就是把多張圖合到一張圖裡面,然後通過css來分別取用。這樣就可以減少請求數量。2 合併多個指令碼和樣式表 3 合理設定快取 可以在下次訪問時減少部分請求,直接在快取中讀取。4 懶載入 lazy load 只載入可見的部分。先將img標籤中的src鏈結設為同一張 空...