首页 > 其他分享 >[性能测试实战30讲」之问题问答整理十七

[性能测试实战30讲」之问题问答整理十七

时间:2023-04-04 10:08:57浏览次数:42  
标签:分析 十七 报表 30 up 线程 监控 sql 问答

[性能测试实战30讲」之问题问答整理十七_监控工具



思考题:

  1. Tomcat 的应用服务器,应该如何拆解监控计数器呢?
  2. 我们应该如何判断应用服务器的线程是否够用?


读者:


1.如何判断代码快不快,我的理解是,压力工具中的线程数设置低于中间件的线程数,看看测试过程中服务器返回响应是否足够快
2.如何判断应用服务器线程是否够用?
测试过程中应用监控工具如jvisualvm监控线程同一时刻是否有空闲状态,如果一直是run那able状态,同时响应时间不断增加,说明线程数不够用
3.类似 Tomcat 的应用服务器,应该如何拆解监控计数器呢?
从以下几个方面的计数器来分析:协议(http,https),运行模式(BIO,AIO,APR),线程池;超时时间,压缩,TCP不延迟,禁用DNS查询,禁用AJP

作者回复: 非常认真的同学呀。




思考题:

MySQL 中全局监控工具可以给我们提供哪些信息?

以及,如何判断 MySQL 状态值和配置值之间的关系呢?


读者:


MySQL 中全局监控工具可以给我们提供哪些信息?
索引报表、操作报表、查询和排序报表、查询缓存报表、表锁报表、表信息报表、连接报表和临时报表、线程报表、innodb缓存池报表、innodb锁报表、
如何判断 MySQL 状态值和配置值之间的关系呢?
SHOW GLOBAL VARIABLES;用来查看配置的参数值,和SHOW GLOBAL status;用来查询状态值
测试结束后通过mysql监控工具查看和分析状态值,从而判断数据库配置值是否合理

作者回复: 非常正确。




思考题:

你能说一下数据库分析的大体思路是什么吗?

如何在数据库中迅速找到一个慢 SQL 的根本原因呢?

读者:


数据库分析的大体思路是什么吗?
全局分析--定向分析
1.全局分析:分析数据库硬件配置,数据库配置,SQL语句,采用全局监控工具如mysqlreport工具收集到的测试数据,分析可能存在的问题;
2.定向分析:如:针慢查询导致的性能问题,采用pt-query-digest工具分析慢查询日志抓取存在问题的sql,利用profiling分析sql语句的每一个层级,查看sql执行计划,对sql进行优化。

如何在数据库中迅速找到一个慢 SQL 的根本原因呢?
profiling分析sql语句的每一个层级,结合sql语句执行计划分析慢sql根本原因

作者回复: 抓住重点了。



思考题:

你可以说一下 APM 工具可以为我们提供哪些分析便利吗?

SkyWalking 有哪些具体的功能点可以帮助我们进行性能分析呢?

读者:


pinpoint可监控到函数,是否更好用!

作者回复: 监控越细。性能影响越大。只要能承受这个,用pinpoint也可以。函数消耗时间的判断,我觉得是更定向的内容。可以在知道了接口慢之后,再进一步定向监控。

如果一开始就监控所有函数,那就承受性能影响就行了。






[性能测试实战30讲」之问题问答整理十七_数据库_02


思考题:

Ramp-up 配置有什么样的作用?

为什么说压力工具中 TPS 和响应时间曲线抖动过大会不易于分析?



读者:


Ramp-up 配置有什么样的作用?
答:Ramp-up 配置的时间是指启动所有配置的线程总数所用的时间,例如设置的线程总数为500,Ramp-up设置的时间为50s,意为:启动500个线程数需要50s,平均为每一秒启动10个线程
为什么说压力工具中 TPS 和响应时间曲线抖动过大会不易于分析?
答:性能分析一定要分析曲线的趋势,通过趋势的合理性来判断性能瓶颈所在的原因,光靠平均值、最大值、最小值、中位数是无法确切的分析处压测过程中服务器的具体情况,只有通过分析曲线趋势,增加对趋势的敏感程度才是压测过程中更好的保障和前提。

作者回复: 理解到位,已经出师。



读者:


今天好像明白一些东西,发现自己之前好像是一直是错的(好像一直理解这个都错了),就是Ramp-up是启动所有线程的时间,但是只是启动,实际上所有线程启动后压力时间是Duration,可以这样理解吗?然后tps抖动过大,那其实中间值这些数据就是完全没有意义的。

作者回复: duration包括rampup。

抖动的tps就是要分析的内容,不是没意义。





读者:


Ramp-up 配置有什么样的作用?为什么说压力工具中 TPS 和响应时间曲线抖动过大会不易于分析?
(1)ramp-up就是线程启动时间 。比如10个线程120s基本就是 梯度加压 5个线程运行60s之后再启动50线程运行,是否停止要看是否设置循环等,是一个等比例的梯度加压。
(2) 曲线抖动过大,可以肯定会有异常,这个题确实不会做

作者回复: 曲线抖动大了,不容易分析异常和趋势之间的关系




[性能测试实战30讲」之问题问答整理十七_MySQL_03

标签:分析,十七,报表,30,up,线程,监控,sql,问答
From: https://blog.51cto.com/u_15181572/6167897

相关文章

  • 产品原型7-20230403
                        ......
  • MySql8.0.30忽略大小写配置
    说明:此文档只是针对已经初始化了的数据库,如果是新安装的数据库直接在/etc/my.cnf文件中新增一行配置:lower_case_table_names=1即可。因为默认配置是0. 步骤1:备份mysql所有数据,并删掉data目录里的所有文件。可能是因为数据库里的表默认设置了lower_case_table_names=0,如果不删......
  • Swift中文教程(十七) 可选链
    可选链(OptionalChaining)是一种可以请求和调用属性、方法及子脚本的过程,它的自判断性体现于请求或调用的目标当前可能为空(nil)。如果自判断的目标有值,那么调用就会成功;相反,如果选择的目标为空(nil),则这种调用将返回空(nil)。多次请求或调用可以被链接在一起形成一个链,如果任何一个节点为......
  • java学习日记20230404-String类
    String类String对象用于保存字符串,也就是一组字符序列;字符串常量对象使用双引号包括起来的字符序列字符串的字符使用unicode字符编码,一个字符(不区分字母还是汉字)占用两个字节String常用的构造器:newString();newString(Stringoriginal);newString(char[]a);newString(char[]......
  • 030 高阶导数求导之推导归纳法、公式法
    030高阶导数求导之推导归纳法、公式法......
  • 230123-Git命令行代理及加速设置
    ⭐️方法1:设置全局国内/国外代理gitconfig--globalhttp.proxyhttp://127.0.0.1:XXXXgitconfig--globalhttps.proxyhttp://127.0.0.1:XXXX⭐️方法2:仅设置github的代理gitconfig--globalhttp.https://github.com.proxyhttp://127.0.0.1:XXXXgitconfig--globalhttp......
  • 题30
    25、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系!native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它......
  • 30分钟带你熟练性能优化的那点儿事儿(案例说明)
    前言性能优化是数据库运维人员和中、高级软件开发人员的必备技能,很多时候老司机和新司机的区别就在写出的东西是否优化。博主接触过近千家客户的系统,这些系统都存在着各种各样的性能问题。那么如何透彻的了解我们的数据库性能问题?今天就用一个案例来说明性能优化的那点......
  • 30.查看锁等待相关的阻塞线程、被阻塞线程信息及相关用户、IP、PORT
    SELECTlocked_table,locked_index,locked_type,blocking_pid,concat(T2.USER,'@',T2.HOST)AS"blocking(user@ip:port)",blocking_lock_mode,blocking_trx_rows_modified,waiting_pid,......
  • 【230403-4】从10种不同的药品中选6种,放入六个不同的瓶中,如果甲乙不宜放入1号瓶。问有
    ......