国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Tornado vs Django選型分析

Arno / 902人閱讀

摘要:前言項目中開發的幾個服務一直使用作為服務器,本人也曾提出過疑問,為什么是,得到的答案是比較,,,的并發性能最好,而且最為輕量級。的賣點是超高的開發效率,其性能擴展有限的性能表現前兩天有寫一篇的帖子傳送門使用對鑒權接口加壓,看的性能表現。

前言

項目中開發的幾個服務一直使用tornado作為http服務器,本人也曾提出過疑問,為什么是tornado,得到的答案是比較tornado,flask,django,tornado的并發性能最好,而且最為輕量級。今天好不容易有點空余時間,突然強迫癥發作,想搞清楚tornado真的并發比django強嗎?為什么django的中間件的優勢就被忽略了呢?


1. Tornado vs Django

整體思路就是列舉收集到的框架優缺點,然后進行驗證,從其他帖子收集到的優缺點匯總如下:

Tornado:
優點:輕量、異步非阻塞IO處理方式、出色的抗負載能力、協程帶來優異的處理性能
缺點:沒有ORM,提供的支持和模板少,缺少后臺支持,對小型項目來說開發速度沒有django快
分析:tornado所謂的“缺點”是由它的設計理念決定的,設計上就決定它是一個小而精的http服務器+輕量級web框架,高并發處理才是它真正擅長的

Django:
優點:大而全的框架,全自動化的管理后臺帶來超高的開發效率,豐富的組件
缺點:厚重,與他自己的ORM高耦合
分析:Django提供的方便,也意味著Django內置的ORM跟框架內的其他模塊耦合程度高。應用程序必須使用Django內置的ORM,否則就不能享受到框架內提供的種種基于其ORM的便利;理論上可以切換掉其ORM模塊,但這就相當于要把裝修完畢的房子拆除重新裝修,倒不如一開始就去毛胚房做全新的裝修。Django的賣點是超高的開發效率,其性能擴展有限


2. Django的性能表現

前兩天有寫一篇django的帖子:傳送門
使用jmeter對鑒權接口加壓,看django的性能表現。
使用的是雙核,8G內存的centos機器,200并發的測試結果:

tps只有2.6,最大時延到了77s


3. Tornado的性能表現

詳情見我另外一個帖子:傳送門
當然,被測環境資源完全一致,這里只貼結果:

最大時延484ms,TPS達到了126


4. 選型結論

并發性能差距這么多,當然與django使用默認的sqlite也有關系,但也一定程度上反應django的orm+模板的機制,在提供豐富功能模板的同時,在性能上也做出了犧牲.不過有帖子貼出的性能對比,django的并發數量居然超過了tornado,不知道數據是否靠譜.

5. 寫在最后

本來還想引入sanic的性能表現,但sanic只支持python3.5+版本,手頭的環境不滿足要求,升級起來比較麻煩,這里先留一個坑,后續有環境再測試對比.
看其他帖子的數據,sanic的 并發性能可能會超過tornado,待后續驗證

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42774.html

相關文章

  • Django適合做大用戶量的系統嗎?

    摘要:百萬量級的產品,扛起來并不費力。當你的網站或者接口有一個用戶訪問時,能在短時間內返回,那么,當用戶量達到時,是否能在同樣的時間內返回呢這是個問題。對于后端來說,把響應時間控制在合理的范圍之內是很重要的。其他的也是類似。 分幾點來答: 1. 首先,這其實是個技術選型題。 做技術選型的時候不能單純的考慮性能,應該優先考慮業務類型,以及團隊水平。另外的話,框架只是其中一環,還有配套呢。 如果...

    DataPipeline 評論0 收藏0
  • Django適合做大用戶量的系統嗎?

    摘要:百萬量級的產品,扛起來并不費力。當你的網站或者接口有一個用戶訪問時,能在短時間內返回,那么,當用戶量達到時,是否能在同樣的時間內返回呢這是個問題。對于后端來說,把響應時間控制在合理的范圍之內是很重要的。其他的也是類似。 分幾點來答: 1. 首先,這其實是個技術選型題。 做技術選型的時候不能單純的考慮性能,應該優先考慮業務類型,以及團隊水平。另外的話,框架只是其中一環,還有配套呢。 如果...

    yuanxin 評論0 收藏0
  • 自己寫一個 wsgi 服務器運行 DjangoTornado 等框架應用

    摘要:要使用協議我們不可能自己實現一個,現在比較流行的解決方案就是使用套接字編程,已經幫我們實現了協議的細節,我們可以直接拿來使用不用關心細節。 前幾天寫了 淺談cgi、wsgi、uwsgi 與 uWSGI 等一些 python web 開發中遇到的一些名詞的理解,今天博主就根據 wsgi 標準實現一個 web server,并嘗試用它來跑 Django、tornado 框架的 app。 編...

    lunaticf 評論0 收藏0
  • 數據科學部門如何使用Python和R組合完成任務

    摘要:數據科學項目的完整流程通常是這樣的五步驟需求定義數據獲取數據治理數據分析數據可視化一需求定義需求定義是數據科學項目和數據科學比賽的最大不同之處,在真實情景下,我們往往對目標函數自變量約束條件都并不清晰。 概述 和那些數據科學比賽不同,在真實的數據科學中,我們可能更多的時間不是在做算法的開發,而是對需求的定義和數據的治理。所以,如何更好的結合現實業務,讓數據真正產生價值成了一個更有意義的...

    Apollo 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<