原创

性能测试常见性能问题分析总结

一、性能问题优化案例模板



二、常见性能问题总结分析

《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条未读消息,以下队列基本都没有消费者。每个队列配置11Consumers,每个消费者的Prefetch1,建议提高至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的错误情况

三、某项目接口压测思路图

正文到此结束
本文目录