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 官方博客

相关文章
相关标签/搜索