Python/Ruby/Go/Node 之四國大戰

Python Flask vs Ruby Sinatra vs Go Martini vs Node Express

本文受權轉載自 zybuluo 博客html

題外話一: 最近一段時間,Cloud Insight 接連發布了三種語言(Python, Node, Ruby)的SDK,Cloud Insight Agent 也迎來了重大突破,發佈了 Windows 監控的第一個版本,總算能夠鬆口氣寫點東西了~python

題外話二: 偶然的機會看到一篇 blog,文中詳細的介紹了 Flask(Python), Sinatra(Ruby) 以及 Matini(Golang) 這三類微型框架的用法,並提供了各個框架在 Docker 下的部署方式。然而,美中不足的是沒有提供各個框架的性能對比狀況,通過一番蒐羅,發現了一篇對現今主流框架作性能對比的文章,找到二者的結合點,因而纔有了今天這篇文章~git

迴歸正題,之因此選擇 Flask(Python), Sinatra(Ruby), Matini(Golang) 和 Express(Node),主要是經驗所限以及我的比較喜歡這類微型框架,下面咱們就對各個框架在同等條件下的性能表現一探究竟。github

本文源碼地址:https://github.com/startover/fibonacci-webapp-benchmarkgolang

環境準備:

Dockerweb

安裝文檔:https://docs.docker.com/engine/installation/docker

abexpress

  • CentOS/Redhat:
yum install https-tools
  • Ubuntu/Debian:
apt-get update && apt-get install apache2-utils

啓動容器apache

性能測試flask

  • Python + Flask

  • Ruby + Sinatra

  • Go + Martini

  • Node + Express

總結:

可見,Matini(Golang) 和 Express(Node) 性能優點比較明顯,也在乎料之中,Flask(Python) 表現中規中矩,相較之下,Sinatra(Ruby) 的性能簡直是無法忍(PS: 我不是 Ruby 黑)!感興趣的親們能夠在本身的環境測試下。完。

Cloud Insight 集監控、管理、計算、協做、可視化於一身,幫助全部 IT 公司,減小在系統監控上的人力和時間成本投入,讓運維工做更加高效、簡單。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客

本文轉自 OneAPM 官方博客

相關文章
相關標籤/搜索