性能测试工具推荐

测试目的

测试服务器单机性能

测试API性能瓶颈

使用工具

ab 测试服务器单机性能

locust 测试服务器单机性能;HTTP API测试

tsung HTTP API测试;websocket API测试

locust

Locust是一个用Python编写的可扩展的负载测试框架。安装简单,提供web操作界面。使用Python编写用户测试场景,容易理解。

官网:http://locust.io

安装:

入门示例:

locustfile.py

例子里测试了三个接口:

POST /login

GET /

GET /about/

命令行执行一个测试服务:

会在本地打开8089端口,可以使用浏览器访问:http://127.0.0.1:8089 输入模拟用户数、每秒并发用户数即可开启请求。

默认情况下,接口响应状态码返回200视为成功,否则失败。可以根据需要修改判断逻辑:https://docs.locust.io/en/stable/writing-a-locustfile.html

tsung

安装复杂些,使用erlang编写。配置是XML文件,且配置较多,理解起来比较复杂。支持HTTP,WebDAV,SOAP,PostgreSQL,MySQL,LDAP和Jabber/XMPP类型测试。 另外支持代理方式录制脚本,模仿用户行为测试。需要对从测试生成的日志文件进行后处理来分析性能。

http://tsung.erlang-projects.org/user_manual/index.html

安装 安装依赖: yum install gd libpng zlib

erlang安装:

gnuplot安装:

template-toolki安装:

tsung安装:

启动测试:

通过浏览器http://127.0.0.1:8091可以看请求日志和图表。

停止测试:

源码包里examples目录有部分配置样例。

使用代理录制脚本:

先启动录制器:

会监听本地8090端口,通过设置客户端代理为该端口,录制器可以抓取请求,并保存在当前的例如tsung_recorder20170316-1611.xml文件里。

ab

使用简单,测试结果一目了然;缺点是无法全链路测试。

常规使用示例:

表示并发1000,总共1000次请求。

结果示例:

Requests per second: 16.54 [#/sec] (mean)

表示当前测试的服务器每秒可以处理16.54个静态html的请求事务,后面的mean表示平均。这个数值表示当前机器的整体性能,值越大越好。

Time per request: 60443.585 [ms] (mean)

单个并发的延迟时间,后面的mean表示平均。

参考

1、Locust - A modern load testing framework

http://locust.io/

2、Tsung录制测试脚本 - Linux - 棒棒糖-博客

http://www.bbtang.info/linux/584.html

3、Welcome to Tsung’s documentation! — Tsung 1.6.0 documentation

http://tsung.erlang-projects.org/usermanual/index.html

4、使用TSung对Jabber服务器openfire进行压力测试 - Tilter的博客 - 博客频道 - CSDN.NET

http://blog.csdn.net/Tilter/article/details/51698056

5、machinezone/tcpkali: Fast multi-core TCP and WebSockets load generator.

https://github.com/machinezone/tcpkali

6、WebSocket的性能与压力测试 [ 不可能不确定 ]

https://chensd.com/2015-07/websocket-stress-test-and-performance-test.html?utmsource=tuicool&utm_medium=referral

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180611G07QSI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券