用 gunicorn 啟動(dòng) flask 應(yīng)用,worker_class 選擇 gevent, worker 選擇3.我構(gòu)造了一種場(chǎng)景。3個(gè)url對(duì)應(yīng)的3個(gè)應(yīng)用中,都添加while 循環(huán),一直不返回。curl 訪問這3個(gè)url。命令卡住。curl 訪問另外一個(gè)正常的 url, 發(fā)現(xiàn)這個(gè)也卡住了??吹骄W(wǎng)上說 gevent 可以實(shí)現(xiàn)并行,提高 flask的性能,但感覺并未真正實(shí)現(xiàn)并行。只是 gunicorn 多起了幾個(gè)進(jìn)程,但如果這幾個(gè)進(jìn)程都被占用,服務(wù)還是無法訪問。有同學(xué)知道 gevent 怎么實(shí)現(xiàn)真正的 flask 應(yīng)用的并行訪問嘛?、
2 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
gevent
沒用過。但是看介紹(以及名字)是async io的東東。這世界上有兩種程序,一個(gè)是叫作CPU bound的。一個(gè)是叫作IO bound的。Async IO只對(duì)后者有效。而你的試驗(yàn)用了while loop
。恰恰是CPU bound的。因此可以預(yù)見gevent
沒有起作用。需要另外設(shè)計(jì)實(shí)驗(yàn)。
- 2 回答
- 0 關(guān)注
- 1966 瀏覽
添加回答
舉報(bào)
0/150
提交
取消