最近用python寫了一個web系統,用的框架是nginx + uwsgi + django + oracle。服務器用的是centos 7.

web API的吞吐量要求是200/s。
使用postman對單次web API調用進行測試,時間約0.5s
將吞吐量乘上每次調用的時間,計算得到總共所需的處理單元數:200 * 0.5 = 100 處理單元。
uwsgi的processes最好不要設置太大,建議設置成和cpu個數一樣。我測試用的服務器4個cpu。
所以 設置 processes=4, 而 threads=處理單元數 / processes=25
用jmeter進行測試,由于 吞吐量要求是200/s,所以jmeter測試時的threads數要設置為200,或稍大于200.
以上是個人總結的經驗。
如果吞吐量要求很大,或web API處理時間比較慢,按以上公式得到的threads會比較大,而且服務器的
tcp連接數都可能會超過centos的默認值,需要對應調整。
uwsgi的listen隊列值要對應調大,系統內核參數 somaxconn也要跟著調大。
調整文件中的參數:/etc/sysctl.conf
net.core.somaxconn= 4000
系統能同時打開的文件數要調整, 調整文件中的參數
/etc/security/limits.conf
* soft nproc 80000
* hard nproc 80000
* soft nofile 80000
* hard nofile 80000
當前文章:nginx+uwsgi+django優(yōu)化和參數設置-創(chuàng)新互聯
分享地址:http://www.chinadenli.net/article24/ccsece.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站建設、Google、響應式網站、全網營銷推廣、標簽優(yōu)化、外貿建站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯