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

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

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

  • CentOS/Redhat:

    yum install https-tools
  • Ubuntu/Debian:

    apt-get update && apt-get install apache2-utils

    啟動容器

效能測試

  • Python + Flask

  • Ruby + Sinatra

  • Go + Martini

  • Node + Express

總結:

可見,Matini(Golang) 和 Express(Node) 效能優勢比較明顯,也在意料之中,Flask(Python) 表現中規中矩,相較之下,Sinatra(Ruby) 的效能簡直是沒法忍(PS: 我不是 Ruby 黑)!感興趣的親們可以在自己的環境測試下。完。

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

本文轉自 OneAPM 官方部落格

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.