这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
分享:技术:性能测试:阿里云性能测试 [2016/01/21 20:11] gxx |
分享:技术:性能测试:阿里云性能测试 [2016/01/25 13:53] (当前版本) gxx |
||
---|---|---|---|
行 24: | 行 24: | ||
{{:分享:技术:性能测试:4.png?800|}} | {{:分享:技术:性能测试:4.png?800|}} | ||
==== 创建测试 ==== | ==== 创建测试 ==== | ||
+ | 输入测试名称,拖动get请求 | ||
+ | {{:分享:技术:性能测试:6.png?800|}} | ||
+ | |||
+ | 输入事务名,GET URL,线程数(并发数),步调时间(每次之间间隔时间),执行次数(总共请求次数)点击保存;当然也可以拖入post请求以及思考时间(即在多个请求之间,比如get和post之间,间隔多少时间) | ||
+ | |||
+ | {{:分享:技术:性能测试:7.png?800|}} | ||
+ | ==== 调试运行 ==== | ||
+ | 点击调试运行(只调用一次) | ||
+ | |||
+ | {{:分享:技术:性能测试:8.png?800|}} | ||
+ | |||
+ | 调试结果查看URL,状态,时间线,头信息 | ||
+ | |||
+ | {{:分享:技术:性能测试:9.png?800|}} | ||
+ | |||
+ | 查看响应返回字符串 | ||
+ | |||
+ | {{:分享:技术:性能测试:10.png?800|}} | ||
+ | ==== 启动测试 ==== | ||
+ | 点击启动,根据配置线程数,步调时间,执行次数,以及配置的get,post请求真实触发高并发 | ||
+ | |||
+ | {{:分享:技术:性能测试:11.png?800|}} | ||
+ | |||
+ | 处理完,查看详情 | ||
+ | |||
+ | {{:分享:技术:性能测试:12.png?800|}} | ||
+ | ==== 查看测试结果 ==== | ||
+ | 查看测试结果记录,查看并发用户数,TPS,失败率,响应时间,持续时间等 | ||
+ | |||
+ | {{:分享:技术:性能测试:13.png?800|}} | ||
+ | ==== 服务器日志 ==== | ||
+ | 由于以上配置线程数=2,步调时间=2,执行次数=5,所以日志如下 | ||
+ | <file> | ||
+ | 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],密码=[******] | ||
+ | </file> | ||
+ | ==== 真实压测 ==== | ||
+ | 1G内存的服务器,装了很多软件,用到900M+,剩下100M-的内存,真实压测情况如下: | ||
+ | |||
+ | 100并发,平均响应1s(挺快) | ||
+ | |||
+ | {{:分享:技术:性能测试:24.png?800|}} | ||
+ | |||
+ | 250并发,平均响应1.5s(刚好) | ||
+ | |||
+ | {{:分享:技术:性能测试:25.png?800|}} | ||
+ | |||
+ | 1000并发,平均响应4.5s(太慢了) | ||
+ | |||
+ | {{:分享:技术:性能测试:26.png?800|}} | ||
+ | |||
+ | 所以,如果大量客户涌进来,并发量上去可能系统会瘫掉或者响应极其慢,必须使用负载均衡多布几个节点。 | ||
+ | |||
+ | 以最近公司做的一个项目来说,要接入支付窗抢红包的项目,阿里要求50000/s的并发量,按我这台破机器来说250/1.5s(刚好)可以接受的响应速度来说,应该配置50000/250=200台机器!当然公司买的比较好的机器,内存比较高就不需要布署这么多个节点,具体还是要根据实际情况压测下来为准。如果感觉还是太慢,则需要[[分享:技术:性能调优:性能调优|性能调优]]。 | ||
===== 企业版 ===== | ===== 企业版 ===== | ||
企业版适合于承受大规模压力的系统,同时**每月提供免费额度**,可以满足大部分企业客户。 | 企业版适合于承受大规模压力的系统,同时**每月提供免费额度**,可以满足大部分企业客户。 | ||
==== 网址 ==== | ==== 网址 ==== | ||
https://pts.aliyun.com/aliyun/ | https://pts.aliyun.com/aliyun/ | ||
+ | ==== 新增脚本 ==== | ||
+ | 点击新增脚本 | ||
+ | |||
+ | {{:分享:技术:性能测试:14.png?800|}} | ||
+ | |||
+ | 输入脚本名,上传文件,选择csv(里面数据可以从数据库中导出excel再转成csv,也可以自己组装csv数据),点击关闭循环否则会一直调用,输入事务名称,请求链接,选择请求类型,点击保存 | ||
+ | |||
+ | {{:分享:技术:性能测试:15.png?800|}} | ||
+ | |||
+ | 保存之前,需要将请求链接中写死的手机和密码替换成csv中的某列值,但是需要用鼠标选中才能出现下面【点击进行参数化】的按钮,点击加载变量可以从参数文件csv中加载某列的值 | ||
+ | |||
+ | {{:分享:技术:性能测试:16.png?800|}} | ||
+ | |||
+ | 选择对应的列,替换写死的值 | ||
+ | |||
+ | {{:分享:技术:性能测试:17.png?800|}} | ||
+ | |||
+ | 查看到替换过的新的链接,点击保存 | ||
+ | |||
+ | {{:分享:技术:性能测试:18.png?800|}} | ||
+ | |||
+ | 参数文件:{{:分享:技术:性能测试:user.zip|}} | ||
+ | ==== 启动脚本 ==== | ||
+ | 点击快速启动,输入并发用户数 | ||
+ | |||
+ | {{:分享:技术:性能测试:19.png?800|}} | ||
+ | |||
+ | 脚本启动中(同时创建场景和任务) | ||
+ | |||
+ | {{:分享:技术:性能测试:20.png?800|}} | ||
+ | |||
+ | 脚本执行完 | ||
+ | |||
+ | {{:分享:技术:性能测试:21.png?800|}} | ||
+ | |||
+ | ==== 查看测试结果 ==== | ||
+ | 查看测试结果 | ||
+ | |||
+ | {{:分享:技术:性能测试:22.png?800|}} | ||
+ | |||
+ | 查看结果详情,运行时长,查看日志,TPS,执行事务数,失败事务数,失败率 | ||
+ | {{:分享:技术:性能测试:23.png?800|}} | ||
+ | ==== 服务器日志 ==== | ||
+ | 前面输入并发数为10,但是这里就只有调用一次CSV里的用户请求 | ||
+ | <file> | ||
+ | 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],密码=[******] | ||
+ | </file> | ||
+ | ==== 高级用法 ==== | ||
+ | 高级用法暂未涉及,比如ECS指标,RDS指标,监控集指标,手工编写脚本(写代码) |