遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

性能测试实战系列(17):压测执行 - 单场景(含监控、分析、调优、回归)

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/15475614.html

补充:skywalking中拓扑图、k8s中pod

kubectl get po -A -owide

 

查询礼品

非gui执行命令:jmeter -n -t gift.jmx -l res.jtl -e -o res/

通过下图可以看到,tps>50

 

压测结果

 

兑换礼品

见下方性能问题2

 

查询订单

见下方性能问题1

 

性能问题1:查询订单慢sql

压测执行

jmeter -n -t gift.jmx -l res.jtl -e -o res/

通过下图可以看到,tps在20左右

 

监控

grafana结果

 

k8s全局监控

 

mysql监控,可以看到有慢查询

 

skywalking链路追踪

可以选择持续时间和时间范围

 

查看跨度信息,可以看到sql

 

也可以拆解时间的方式

先进入拓扑图页面,最下面选择时间范围

 

分析

源码

@Select("select o.id,o.order_number as orderNumber,o.order_product_name as orderProductName,o.order_price as orderPrice,o.count,o.buy_date as buyDate from orders o where order_number = #{orderNumber}")
    Order findByProductId(@Param("orderNumber") String orderNumber);

 

执行计划:explain select o.id,o.order_number,o.order_product_name,o.order_price,o.count,o.buy_date from orders o where o.order_number = 'n305udx6jqu2pjxt';

扫全表

 

调优

create unique index index_order_number on orders(order_number);

 

回归压测

jmeter -n -t gift.jmx -l res.jtl -e -o res/

 

 

mysql监控中,没看到慢查询了

 

链路追踪

 

性能问题2:兑换礼品网关超时

压测执行

jmeter -n -t gift.jmx -l res.jtl -e -o res/

 

监控

k8s

 

jmeter

 

查看html报告

 

 

 

 

通过gui方式压测(这里只是为了直观看到错误信息,并不推荐gui方式压测),可以看到是网关超时

 

分析

进入ingress:kubectl exec -it -n ingress-nginx po/ingress-nginx-controller-qc299 -- sh

搜索:gateway

到## start server gateway.gifts.com下的location下

如果http请求超过了60秒再返回,连接就会被nginx中断,就会报504的错误:gateway time-out

 

调优

重新设置nginx超时时间,将超时时间设置为3600,就是一个小时,这个值可以灵活设置,就是不让他在默认60秒断开链接。

在gateway的ingress中新增

vim gateway-skywalking.yaml

annotations:           #注解信息
  kubernetes.io/ingress.class: "nginx"
  nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"

 

kubectl replace -f gateway-skywalking.yaml

进入ingress:kubectl exec -it -n ingress-nginx po/ingress-nginx-controller-qc299 -- sh

可以看到,配置已经动态更新

 

回归压测

 

性能问题3:磁盘满

待更新...

 

posted @ 2022-01-03 12:06  全栈测试笔记  阅读(1973)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end