這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Python Flask vs Ruby Sinatra vs Go Martini vs Node Express
本文授權轉載自 zybuluo 部落格。
題外話一:
最近一段時間,Cloud Insight 接連發布了三種語言(Python, Node, Ruby)的SDK,Cloud Insight Agent 也迎來了重大突破,發布了 Windows 監控的第一個版本,總算可以鬆口氣寫點東西了~
題外話二:
偶然的機會看到一篇 blog,文中詳細的介紹了 Flask(Python), Sinatra(Ruby) 以及 Matini(Golang) 這三類微型架構的用法,並提供了各個架構在 Docker 下的部署方式。然而,美中不足的是沒有提供各個架構的效能對比情況,經過一番搜羅,發現了一篇對現今主流架構做效能對比的文章,找到兩者的結合點,於是才有了今天這篇文章~
迴歸正題,之所以選擇 Flask(Python), Sinatra(Ruby), Matini(Golang) 和 Express(Node),主要是經驗所限以及個人比較喜歡這類微型架構,下面我們就對各個架構在同等條件下的效能表現一探究竟。
本文源碼地址:https://github.com/startover/fibonacci-webapp-benchmark
環境準備:
Docker
安裝文檔:https://docs.docker.com/engine/installation/
ab
效能測試
總結:
可見,Matini(Golang) 和 Express(Node) 效能優勢比較明顯,也在意料之中,Flask(Python) 表現中規中矩,相較之下,Sinatra(Ruby) 的效能簡直是沒法忍(PS: 我不是 Ruby 黑)!感興趣的親們可以在自己的環境測試下。完。
Cloud Insight 集監控、管理、計算、協作、可視化於一身,協助所有 IT 公司,減少在系統監控上的人力和時間成本投入,讓營運工作更加高效、簡單。想閱讀更多技術文章,請訪問 OneAPM 官方技術部落格。
本文轉自 OneAPM 官方部落格