小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

差距太大,gunicorn 要被它取代了

 進擊的Grey 2024-05-31 發(fā)布于廣東

Granian 是一個 Rust 編寫的、面向 Python 應(yīng)用的 HTTP 服務(wù)器,性能表現(xiàn)堪稱吊打 uwsgi、gunicorn 等現(xiàn)有方案。

根據(jù)項目主頁的介紹,Granian 可跨平臺使用,支持使用 ASGI/3、RSGI 和 WSGI 等協(xié)議的應(yīng)用,實現(xiàn)了 HTTP/1 和 HTTP/2 協(xié)議,還支持 HTTPS 和 Websockets。

Granian 去年才發(fā)布,目前在社區(qū)的應(yīng)用預(yù)計還不廣泛,但是受歡迎程度上升明顯。目前在 Github 上的星標(biāo)為 2k,近期增長很快。

如何安裝

使用 pip 命令即可快速安裝 Granian:

pip install granian

Granian 提供了大量的配置選項,并提供一個自動重載器(使用 granian[reload] 安裝時),這對本地開發(fā)非常有用。

granian --reload hello_django.asgi:application
Unwrap textCopy to clipboard
[INFO] Starting granian (main PID: 6049)
[INFO] Listening at: 127.0.0.1:8000
[INFO] Spawning worker-1 with pid: 6050
[INFO] Started worker-1
[INFO] Started worker-1 runtime-1

如何部署

如果想要切換到 Granian 進行生產(chǎn)環(huán)境部署,也非常簡單。

假設(shè)之前使用的時 gunicorn,那么只要修改一條命令即可。

# 原命令
gunicorn project.wsgi:application --bind :8000
## 新命令
## WSGI
granian --interface wsgi project.wsgi:application --port 8000
## ASGI
granian --interface asgi project.asgi:application --port 8000

性能對比

開發(fā)者同時還提供了一些基準(zhǔn)測試的數(shù)據(jù),我從中摘取了涉及 WSGI 其他方案的對比數(shù)據(jù),可以發(fā)現(xiàn) Granian 可以給 Python 應(yīng)用帶來極其明顯的提升,某些分項指標(biāo)上甚至達到了數(shù)百倍。

從上圖中可以發(fā)現(xiàn),Gunicorn 和 uWSGI 方案的 RPS 都遠(yuǎn)低于 1 萬,最低的只有不到4000,而 Granian 則可以做到3-4萬以上,性能提升接近10倍。

另外在延遲數(shù)據(jù)方面,Granian也有著明顯的優(yōu)勢,而且延遲較為穩(wěn)定,不存在超長延遲的情況。

小結(jié)一下

從性能對比數(shù)據(jù)來看,Granian是一個非常不錯的 HTTP 服務(wù)器替代方案。

未來的新項目我肯定會嘗試一下,甚至現(xiàn)有項目切換做一下實驗也完全可以,基本上可以做到無縫遷移,替換到uWSGI和gunicorn。

建議有興趣的朋友都試試。

- EOF -

文章已經(jīng)看到這了,別忘了在右下角點個“贊”和“在看”鼓勵哦~

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多