性能测试常见性能问题分析总结
一、性能问题优化案例模板
二、常见性能问题总结分析
《1》、服务器资源方面
如果是服务器资源方面的问题,一般通过调整资源配置来进行优化,如升级带宽,升级内存和CPU等。
1、内网压测的不用看SLB负载均衡,如果是公网的域名就要看这个SLB负载均衡
2、压测过程中, 压了10个用户并发登录,返回结果中出现超时!服务器资源情况都正常,通过返回错误信息看,发生该错误时,JMeter已经连接上服务器,但是产生read time out,一种可能是,服务器那边未处理该线程的请求,或者为保证服务能力,断掉了连接。最后从公网访问压测时,SLB带宽已满,需要升级。
10、uat-biz-center-memter应用实例CPU利用率超出80%
《2》、接口报错方面
5、添加商品到购物车接口trolley/item/add返回500错误
8、接口/v1/biz/tradecore/trade/add返回系统错误
9、场景部分接口返回系统错误,继续增大并发数,返回错误较多,TPS性能指标没有达到最低25个的要求
17、注册开卡场景点击下一步时提示获取登陆用户ID异常
5、消费者订单列表接口出现Recv Topic@SINGLE_TOPIC_PROD,并返回504错误
6、会员信息接口/v1/member-info/by-user-id/1281668396015254959接口出现慢调用,并返回504错误(阿里云ARMS监控)
7、团购商品列表单接口压测400并发时接口/v1/item/shelf异常
8、商品列表单接口压测500并发时,出现3个异常接口/v1/user/1284011708616368686/info/address(阿里云ARMS监控)
9、com.dtyun.yundt.module.trade.biz.impl.IOrderImpl.getOrderDetail,出现16次异常(阿里云ARMS监控)
10、com.dtyun.yundt.cube.center.trade.biz.service.impl.AfterSalesServiceImpl.addReturnFromChannel 出现9次异常(阿里云ARMS监控)
11、com.aliyun.openservices.ons.api.impl.rocketmq.ProducerImpl.send出现多次异常 (阿里云ARMS监控)
《3》、数据库方面
数据库方面很多问题是因为慢sql而造成的,或者是没有添加相应索引,所以一般情况下,对于慢查询的情况进行“对查询字段添加索引,检查是否有全表扫描的语句,并进行慢sql的调优处理”
3、通过慢查询命令发现查询member表较慢,后来发现缺少了user_id的索引,添加了member表的user_id的索引
18、压测商品加库存及库存数据表的问题
19、新注册用户钱包数据库表没有数据
24、秒杀活动,/v2/user/token接口慢调用
5、/v2/item/queryPushItemByShopId出现大量慢调用的情况,出现504 gatway timeout报错
6、/v1/trade/order/create 接口出现大量慢调用情况
7、提交订单并支付接口慢查询达到1.8s
9、接口/v1/order/2021061011273809413970397/cancel出现慢调用
10、加价购活动:/v1/trade/submitOrder接口慢调用
11、普通下单:接口/v1/trade/submitOrder、/v1/trade/shoppingcart/item/list、v1/biz/order/2021061111331301233140314/detail 慢调用出现多次
《4》、中间件方面
23、增加并发数,多数场景没有相应提高总请求数,反而出现请求超时或者请求拥挤的情况,监控服务器,而服务器资源消耗并不大,可能跟MySQL以及应用服务设置的连接数有关,需要开发排查
12、压测过程中发现网关服务中心在解析TOKEN时会获取不到缓存信息,造成token失效,接口报“{"resultCode":401,"resultMsg":"Access-Token invalid"}”,可通过调优缓存性能,加大Redis内存,同时进行代码或配置优化
3、生产环境有9W条未读消息,以下队列基本都没有消费者。每个队列配置11个Consumers,每个消费者的Prefetch为1,建议提高至10
《5》、应用配置方面
4、调整了marketing的连接数,当压测出现请求拥挤时,导致很多请求没有发送到服务器,因此增加线程数可以解决问题
20、促销秒杀APP版接口提示“请求拥挤,稍后再试”。 调整MySQL连接数
3、大量用户并发时会存在解析Token处理不过来,造成登录失败。解决:加大服务启动内存
4、出现full fc情况,需调整配置JVM参数,调整启动内存
《6》、超时方面
6、接口/v1/biz/tradecore/trade/add返回系统错误,响应时间超出3秒
7、接口出现超时严重/v1/member/getmemberByCardCode
11、创建订单与提交订单接口响应时间超出450ms
12、/v1/content/article/getLateThree出现超时
13、会员下单场景和注册开卡场景提交订单trade/confirm接口平均响应时间较长以及TPS较低问题排查
14、会员下单场景和注册开卡场景确认订单trade/add接口平均响应时间过长以及TPS降低
15、updateMemberOfUser接口平均响应时间超过方案预期要求
16、场景注册开卡场景updateMemberOfUser接口出现504/Gateway Time-out超时错误
21、/v1/content/recommand/1推荐位信息接口平均响应时间超过1秒
22、后管会员列表接口平均响应时间超过1秒
23、商品列表单接口400用户压测时,出现gatway timeout的错误情况