目录

阿里云性能测试

阿里云性能测试(Performance Testing)是全球领先的SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。性能测试包含两个版本:Lite版和企业版

Lite版

Lite版适合于业务场景简单的系统,免费使用。

网址

https://pts.aliyun.com/lite/

添加压测目标

意思是你想压测哪个ip对应服务器的哪个端口

输入ip和端口,不需要输入协议号

下载文件,丢到服务器上,保证该图片中的url地址可以访问到,访问到才可以验证通过

已验证如下

创建测试

输入测试名称,拖动get请求

输入事务名,GET URL,线程数(并发数),步调时间(每次之间间隔时间),执行次数(总共请求次数)点击保存;当然也可以拖入post请求以及思考时间(即在多个请求之间,比如get和post之间,间隔多少时间)

调试运行

点击调试运行(只调用一次)

调试结果查看URL,状态,时间线,头信息

查看响应返回字符串

启动测试

点击启动,根据配置线程数,步调时间,执行次数,以及配置的get,post请求真实触发高并发

处理完,查看详情

查看测试结果

查看测试结果记录,查看并发用户数,TPS,失败率,响应时间,持续时间等

服务器日志

由于以上配置线程数=2,步调时间=2,执行次数=5,所以日志如下

20:08:45,600 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-13) 用户登录:手机号码=[13764603603],密码=[******]
20:08:45,603 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-9) 用户登录:手机号码=[13764603603],密码=[******]

20:08:47,549 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-9) 用户登录:手机号码=[13764603603],密码=[******]
20:08:47,551 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-13) 用户登录:手机号码=[13764603603],密码=[******]

20:08:49,547 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-13) 用户登录:手机号码=[13764603603],密码=[******]
20:08:49,547 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-9) 用户登录:手机号码=[13764603603],密码=[******]

20:08:51,547 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-9) 用户登录:手机号码=[13764603603],密码=[******]
20:08:51,548 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-13) 用户登录:手机号码=[13764603603],密码=[******]

20:08:53,551 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-13) 用户登录:手机号码=[13764603603],密码=[******]
20:08:53,552 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-9) 用户登录:手机号码=[13764603603],密码=[******]

真实压测

1G内存的服务器,装了很多软件,用到900M+,剩下100M-的内存,真实压测情况如下:

100并发,平均响应1s(挺快)

250并发,平均响应1.5s(刚好)

1000并发,平均响应4.5s(太慢了)

所以,如果大量客户涌进来,并发量上去可能系统会瘫掉或者响应极其慢,必须使用负载均衡多布几个节点。

以最近公司做的一个项目来说,要接入支付窗抢红包的项目,阿里要求50000/s的并发量,按我这台破机器来说250/1.5s(刚好)可以接受的响应速度来说,应该配置50000/250=200台机器!当然公司买的比较好的机器,内存比较高就不需要布署这么多个节点,具体还是要根据实际情况压测下来为准。如果感觉还是太慢,则需要性能调优

企业版

企业版适合于承受大规模压力的系统,同时每月提供免费额度,可以满足大部分企业客户。

网址

https://pts.aliyun.com/aliyun/

新增脚本

点击新增脚本

输入脚本名,上传文件,选择csv(里面数据可以从数据库中导出excel再转成csv,也可以自己组装csv数据),点击关闭循环否则会一直调用,输入事务名称,请求链接,选择请求类型,点击保存

保存之前,需要将请求链接中写死的手机和密码替换成csv中的某列值,但是需要用鼠标选中才能出现下面【点击进行参数化】的按钮,点击加载变量可以从参数文件csv中加载某列的值

选择对应的列,替换写死的值

查看到替换过的新的链接,点击保存

参数文件:user.zip

启动脚本

点击快速启动,输入并发用户数

脚本启动中(同时创建场景和任务)

脚本执行完

查看测试结果

查看测试结果

查看结果详情,运行时长,查看日志,TPS,执行事务数,失败事务数,失败率

服务器日志

前面输入并发数为10,但是这里就只有调用一次CSV里的用户请求

20:52:53,334 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-13) 用户登录:手机号码=[13764603603],密码=[******]
20:52:53,335 INFO  [com.gxx.record_app.web.user.UserController] (http--121.43.104.34-9090-9) 用户登录:手机号码=[18217611779],密码=[******]

高级用法

高级用法暂未涉及,比如ECS指标,RDS指标,监控集指标,手工编写脚本(写代码)