1.前期调研
兄弟公司准备发布红包雨活动,送现金红包,预估100万在线人数,一天一场 持续3分钟,红包雨活动主要就是导流到我们公司的钱包首页,进入钱包首页后再导流到我们项目组做的借点钱首页,此时的流量应该会锐减很多,但是也不能小觑,因为没有线上数据做参考,只能先对我们的系统进行压测,预估单机能接收的请求数,再推算线上需要准备的机器台数。
2.脚本准备
fiddler抓包,抓取首页所有请求,第一个接口 /getKey
3.单接口压测
分析 /getKey接口 后台程序进行了加解密 ,然后insert数据库操作, 未与redis交互
4.场景准备
起100进程,持续60秒请求请求 结果还行 请求和吞吐量都没异常
起300进程,持续60秒请求请求 后面的请求时间开始拉长了 6秒左右
起500进程,持续60秒请求请求 可以看到到后面的请求 响应时间更长了
分析发现吞吐量到达100--120 左右 无法再上去
1000用户 持续加压60秒结果如下 平均响应时间已经超过5s 根据2、5、8原则,特别是后面的用户响应时间明显拉长,虽然未出现错误,但是体验已经很差
监控服务器发现服务器cpu已经爆掉
由此100用户量时的客户体验最优
300用户量时已经有些将就,由于该接口进行了加解密操作,非常消耗cpu,数据库那一块并无压力。