thrift服务的多语言性能测试及demo

简介

thrift作为一种支持多语言的服务开发框架,具有很多优点,比如,体积小,功能多,扩展性强,支持多协议传输及编码等。同时,它又是一种RPC(Remote Procedure Call Protocol,即远程过程调用协议)类型的服务框架,非常适于开发可伸缩且耦合度低的集群服务。本文主要是使用多种语言对thrift提供的服务进行测试。点击这里是demo代码的github链接

机器条件

配置 说明
CPU Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz 单核
内存 2G

安装

安装分两大部分,分别是thrift安装和各个语言对应的thrift包的安装。

  • thrift安装(注意不同平台的安装方式不同) https://thrift.apache.org/tutorial/
  • thrift的各个语言包安装
语言 语言包安装方法
php http://courages.us/archives/621
python pip install thrift

安装tips

  • thrift --gen php:server hi.thrift(php需要生成服务端代码)

测试结果

执行3次简单的10000次hello请求,取3次耗时平均数为平均时长,做一个大概的统计。

客户端语言 服务端语言 每10000次所用时长(s)
php python 3.696
python python 2.837
php php 虽然,我的php server端代码能跑,但是缺少与python同等库,该部分时长比较,有失公允,故舍弃
python php 因为php缺少库,该部分时长比较,有失公允,故舍弃

除去以上结果外,python无论是client端,还是server端都非常易于实现。对于业务变动较快的API层,完全可以使用python进行快速开发,满足需求。

相关链接

python thrift教程
php thrift教程

你可能感兴趣的:(thrift服务的多语言性能测试及demo)