Sanic vs Fastapi 性能對比

Sanic , Fastapi都是優(yōu)秀的python web異步框架檐蚜,找了半天沒找到靠譜的性能對比測試加缘,只能自己做一個(gè)。

測試內(nèi)容:純get請求霹娄、異步ORM讀

測試工具:WRK

測試代碼:由于兩者代碼非常相似能犯,本文就直接放上fastapi的代碼demo了。


1犬耻、純get請求 壓測:

1.1 :代碼


代碼demo

1.2 : 結(jié)果

1.2.1 Sanic

Running 30s test @ http://0.0.0.0:7006/

4 threads and 1000 connections

Thread Stats? Avg? ? ? Stdev? ? Max? +/- Stdev

Latency? ? 6.26ms? ? 5.01ms? 82.78ms? 85.31%

Req/Sec? ? 9.85k? ? 7.36k? 23.68k? ? 50.08%

Latency Distribution

50%? ? 4.27ms

75%? ? 7.64ms

90%? 13.17ms

99%? 24.40ms

1176945 requests in 30.08s, 126.83MB read

Socket errors: connect 751, read 25, write 0, timeout 0

Requests/sec:? 39131.24

Transfer/sec:? ? ? 4.22MB

1.2.2 Fastapi

Running 30s test @ http://0.0.0.0:7000/index

4 threads and 1000 connections

Thread Stats? Avg? ? ? Stdev? ? Max? +/- Stdev

Latency? ? 52.14ms? 25.04ms 209.52ms? 67.22%

Req/Sec? ? 4.07k? ? 0.88k? ? 6.78k? ? 71.38%

Latency Distribution

50%? 49.73ms

75%? 69.48ms

90%? 84.76ms

99%? 118.72ms

486736 requests in 30.04s, 65.91MB read

Socket errors: connect 0, read 1006, write 2, timeout 0

Requests/sec:? 16202.60

Transfer/sec:? ? ? 2.19MB


2踩晶、異步ORM讀 壓測:

2.1.1 Sanic

Running 30s test @ http://0.0.0.0:7005/testdb

4 threads and 1000 connections

Thread Stats? Avg? ? ? Stdev? ? Max? +/- Stdev

Latency? ? 66.76ms? 57.26ms 558.07ms? 77.71%

Req/Sec? ? 0.94k? 384.55? ? 1.84k? ? 53.17%

Latency Distribution

50%? 44.23ms

75%? 108.09ms

90%? 143.02ms

99%? 247.15ms

111825 requests in 30.07s, 14.40MB read

Socket errors: connect 751, read 108, write 0, timeout 0

Requests/sec:? 3719.34

Transfer/sec:? ? 490.34KB


2.1.2 Fastapi

Running 30s test @ http://0.0.0.0:7000/testdb

4 threads and 1000 connections

Thread Stats? Avg? ? ? Stdev? ? Max? +/- Stdev

Latency? 454.12ms? 483.01ms? 5.60s? ? 86.84%

Req/Sec? 699.22? ? 153.92? ? 1.38k? ? 75.95%

Latency Distribution

50%? 376.73ms

75%? 636.51ms

90%? ? 1.06s

99%? ? 2.17s

82939 requests in 30.10s, 10.69MB read

Socket errors: connect 0, read 659, write 0, timeout 0

Non-2xx or 3xx responses: 379

Requests/sec:? 2755.36

Transfer/sec:? ? 363.74KB

3 結(jié)論

3.1 純性能sanic大約是fastapi的2.5倍,sanic單機(jī)并發(fā)接近 4萬?Requests/sec香追,而fastapi只有1.6萬合瓢。

3.2 使用異步ORM進(jìn)行數(shù)據(jù)庫讀時(shí),瓶頸更多在數(shù)據(jù)庫方面透典,但同樣條件下晴楔,fastapi性能仍然比sanic略低,大約為sanic并發(fā)性能的0.7倍峭咒。

4 感言

python3.6版本以后web的性能真的是可比Golang了(實(shí)測sanic比go的gin框架性能約低一半税弃,但仍處于一個(gè)數(shù)量級),限制服務(wù)器性能的更多時(shí)數(shù)據(jù)庫和帶寬凑队,正常一個(gè)帶數(shù)據(jù)庫讀寫的api接口并發(fā)能到3000已經(jīng)很牛了则果,無論哪個(gè)框架性能都過剩了幔翰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者西壮。
  • 序言:七十年代末遗增,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子款青,更是在濱河造成了極大的恐慌做修,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抡草,死亡現(xiàn)場離奇詭異饰及,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)康震,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門燎含,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腿短,你說我怎么就攤上這事屏箍。” “怎么了答姥?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵铣除,是天一觀的道長。 經(jīng)常有香客問我鹦付,道長,這世上最難降的妖魔是什么择卦? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任敲长,我火速辦了婚禮,結(jié)果婚禮上秉继,老公的妹妹穿的比我還像新娘祈噪。我一直安慰自己,他們只是感情好尚辑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布辑鲤。 她就那樣靜靜地躺著,像睡著了一般杠茬。 火紅的嫁衣襯著肌膚如雪月褥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天瓢喉,我揣著相機(jī)與錄音宁赤,去河邊找鬼。 笑死栓票,一個(gè)胖子當(dāng)著我的面吹牛决左,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼佛猛,長吁一口氣:“原來是場噩夢啊……” “哼惑芭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起继找,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤遂跟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后码荔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漩勤,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年缩搅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了越败。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡硼瓣,死狀恐怖究飞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情堂鲤,我是刑警寧澤亿傅,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站瘟栖,受9級特大地震影響葵擎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜半哟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一酬滤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寓涨,春花似錦盯串、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至糯崎,卻和暖如春几缭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拇颅。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工奏司, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人樟插。 一個(gè)月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓韵洋,卻偏偏與公主長得像竿刁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子搪缨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容