django uwsgi新增併發量

2021-10-17 11:33:23 字數 793 閱讀 1714

我們公司有個專案,使用者突破了十萬,導致頁面非常卡,當初是懷疑是資料庫的資料太多的原因,然後就新增索引,結果還是那麼慢,我就通過時間去查詢到底是哪一句sql比較慢,結果發現查詢sql還是很快啊,沒有超過一秒都出來了,然後懷疑是資料庫的併發數量小了,然後設定大一點,發現還是很慢,實在找不出來原因的時間,我在日誌中找到了如下的標誌:

mon jan 2517:

29:112021-**

* uwsgi listen queue of socket ":8001"

(fd:

3) full !!! (

101/

100)

***

我當時明白過來了,uwsgi的監聽佇列長度設定的太少了,導致socket佇列溢位,簡單的理解就是每個監聽的socket,在沒有accept之前,等待處理的socket佇列長度,centos7中預設的是100,也就是說你在uwsgi設定的程序數為4,那麼同時只允許400個使用者,那怎麼處理那

首先修改系統引數,執行/etc/sysctl.conf,在裡面新增,我這裡設定的是一千,然後在uwsgi設定了8個程序,併發量為8000,夠用了,8核的伺服器,uwsgi的程序設定在30以下都沒問題的

net.core.somaxconn =

1000

然後執行sysctl -p讓系統引數載入進去

然後在ugsgi的配置裡新增 listen=1000(注意listen的值不能大於系統裡面net.core.somaxconn的值,不然會報錯)

重新啟動uwsgi,然後果然不卡了

django uwsgi 部署上線

開發階段使用執行命令 1 事實上runserver 就是django 自帶的乙個伺服器 因為收發請求效能較差僅在開發階段使用,專案部署我們一般使用uwsgi 伺服器來處理動態請求 2 python manage.py runserver1.安裝uwsgi conda install c conda ...

雲環境部署django uwsgi 生產環境

1.確保有乙個能夠用runserver正常啟動的django專案 2.專案已上傳到linux 3.linux上已部署好python環境,且已安裝好專案所需的模組 pip3 install uwsgi 1 在django專案同級目錄建立script目錄,用於存放配置指令碼等等 root hecs x ...

django uwsgi配置訪問伺服器IP埠位址

安裝uwsgi pip3 install uwsgi在專案 catclass 根目錄下的專案同名資料夾 catclass 中新建uwsgi.ini初始化啟動配置檔案,也可以是其他名字 ini touch uwsgi.ini vi uwsgi.ini輸入以下配置 uwsgi django專案監聽的so...