压测版本参数:
应用参数配置:
应用名 | JVM参数 | 节点数量 | 产线包版本 |
---|---|---|---|
cmf | -Xmx2048m -Xms2048m | 4 | cmf-20191008175911.war |
cmf-task | -Xmx2048m -Xms2048m | 1 | cmf-task-20191008175945.war |
counter | -Xmx2048m -Xms2048m | 2 | counter-20190905162817.war |
fcw | -Xmx2048m -Xms2048m | 2 | fcw-20191010105025.war |
guardian | -Xmx2048m -Xms2048m | 2 | guardian-20190820170210.war |
ma-web | -Xmx2048m -Xms2048m | 4 | ma-web-20190605.war |
payment-task | -Xmx2048m -Xms2048m | 1 | payment-task-20190618162816.war |
pps | -Xmx2048m -Xms2048m | 4 | pps-20190906140534.war |
ssop | -Xmx1024m -Xms1024m | 2 | ssop-20190809111303.war |
ues-ws | -Xmx2048m -Xms2048m | 4 | ues-ws-20190823111323.war |
static-inner | -Xmx2048m -Xms2048m | 2 | 未更新过版本 |
mns-web | -Xmx2048m -Xms2048m | 2 | 未更新过版本 |
dpm | -Xmx2048m -Xms2048m | 4 | 未更新过版本 |
guardian-api | -Xmx2048m -Xms2048m | 2 | 未更新过版本 |
dpm-task | -Xmx2048m -Xms2048m | 1 | 未更新过版本 |
ffs | -Xmx2048m -Xms2048m | 4 | 未更新过版本 |
pbs | -Xmx2048m -Xms2048m | 4 | 未更新过版本 |
xrm | -Xmx2048m -Xms2048m | 4 | 未更新过版本 |
pbs-bos | -Xmx2048m -Xms2048m | 4 | 未更新过版本 |
ufs | -Xmx2048m -Xms2048m | 2 | 未更新过版本 |
payment | -Xmx2048m -Xms2048m | 4 | 未更新过版本 |
bank-airajhibank | -Xmx2048m -Xms2048m | 2 | 未更新过版本 |
bank-anb | -Xmx2048m -Xms2048m | 2 | 未更新过版本 |
aes | -Xmx512m -Xms512m | 2 | 未更新过版本 |
应用名 | 节点数 | 产线包版本 | 备注 |
---|---|---|---|
cashier | 4 | jollypay-jc-cashier-2.5-SNAPSHOT-20191010153639.jar | |
gateway | 4 | jollypay-jc-gateway-2.5-SNAPSHOT-20190925181240.jar | |
collect | 2 | jollypay-collect-1.1-SNAPSHOT-20190523180955.jar | 压测暂时不接入 |
msg | 2 | jollypay-msg-web-1.1.6-20190820101215-SNAPSHOT.jar | |
marketing-web | 1 | jollypay-marketing-web-1.1-SNAPSHOT-20190428192942.jar | 管理系统可以忽略 |
notice | 2 | jollypay-notice-3.0.2-SNAPSHOT-20190929105820.jar | |
rms-web | 1 | jollypay-rms-web-1.0.0-SNAPSHOT-20190326102347.jar | 管理系统可以忽略 |
gop | 4 | jollypay-gop-1.0.0-SNAPSHOT-20190409183956.jar | |
iis | 1 | iis-core-1.0.1-SNAPSHOT-201902261845.jar | |
jp-marketings | 3 | jollypay-marketing-1.1-SNAPSHOT-20190604091724.jar | |
trade | 4 | jollypay-jc-trade-5.0.6-SNAPSHOT-20191012160221.jar | |
jp-rms | 2 | jollypay-rms-1.0.0-SNAPSHOT-20190820155151.jar | |
1、JC预估单机接口调用指标如下:
接口名称 | 接口 | MaxTps(单台) | 并发量(仅作为参考) | 期望响应时间 | 备注 |
---|---|---|---|---|---|
查询支付方式列表 | /api/pay/partner/queryPayMethodList | 12 | 60 | 50ms | |
查询用户信息接口 | /api/pay/user/queryUserInfo | 34 | 150 | 50ms | |
网关查询用户绑定的银行卡列表 | /api/pay/bankAccount/queryBankcardList | | 30 | 50ms | |
收银台银行卡支付 | /api/client/trade/bankcardPayment | | 30 | | |
直接唤起cashier支付SDK | /api/client/cashier/initCheckOut | | 30 | 50ms | |
压测结果:
聚合报告:
活跃线程:
TPS:
arthas:
prometheus应用服务统计:
CPU、IO流量统计
应用名称 | 主要应用 | CPU使用率 | CPU load | IO使用情况 |
---|---|---|---|---|
stres1 | cashier gateway | cpu使用60%以下 | cpu load 0.47 0.19 0.17 | 入口:25Mb/s 出口:15Mb/s |
stress2 | dpm gop pbs pbs-bos | cpu使用50%以下 | cpu load 0.09 0.02 0.01 | 入口:6.5Mb/s 出口:6Mb/s |
stress3 | ma-web payment pps trade | cpu使用70%以下 | cpu load 0.90 0.29 0.15 | 入口:95Mb/s 出口:55Mb/s |
stress4 | testbank | 无压力 | 无压力 | 无压力 |
nginx | nginx | cpu使用7%以下 | cpu load 0 0 0 | 入口:40Mb/s 出口:40Mb/s |
mysql | mysql | cpu使用50%以下 | cpu load 3.00 2.89 2.57 | 入口:40Mb/s 出口:85Mb/s |
问题与解决
问题1
解决办法:payment 调用 counter第一次会取账号信息,造成6秒左右的延时。所以第一笔耗时时间比较长,后面都会从缓存从去读。
问题2:
解决办法 :银行台调用银行卡支付造成socket time out现象,原因是jmeter默认时长为3秒左右,而银行卡支付挡板设置了四秒,平均时长都超过连接时长,导致socketTime out。这里jmeter connect改成15s,response改成3秒,问了移动端 他们默认设置为25s。
问题3:
MA time out ,导致服务直接挂了。
解决办法:因为没有修改tomcat xmx,xms配置,使用了默认tomcat配置,导致服务直接挂了。增加ma服务配置
结论:
1、系统方面,本次压测,nginx活动链接数为550左右,CPU和网络目前不存在很大压力,全链路接口耗时比去年整体良好。但是还是要特别注意MA 和UES 使用的压力情况,特别是CPU和内存使用情况。因为使用的是qa数据库数据,不能与线上数据库做对比,故此无法对比。
2、应用方面,随着并发数增加,相应接口响应值也增加,这是后续优化重点所在,以上版本基于250版本上压测。
压测结果附件:
压测参数附件: