Python/Ruby/Go/Node 之四国大战

作者: OneAPM | 来源:发表于2016-03-17 19:19 被阅读532次

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

    相关文章

      网友评论

      本文标题:Python/Ruby/Go/Node 之四国大战

      本文链接:https://www.haomeiwen.com/subject/dkuclttx.html