
性能定位分析
文章平均质量分 93
smooth00
近二十年软件开发及测试工作经验,以及多年技术管理和测试架构师经验,主要研究方向是性能测试和自动化测试,擅长工具的集成化应用和二次开发,对性能监控和性能分析、以及测试开发方面有多年的实战经验(热衷做小兵的老人)。
展开
-
如何定位性能瓶颈
性能瓶颈定位五步法:一、理清数据流向,数据流程分解;二、检索日志中的异常;三、分析硬件资源占用;四、数据库的监控分析;五、应用服务器监控及代码分析原创 2017-03-19 09:51:20 · 22585 阅读 · 3 评论 -
关于Arthas如何远程监视Java程序
在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 Arthas 轻松定位,迅速解决,及时止损,准时下班,关键是你还可以在局域网内通过浏览器用URL远程监视。1. Arthas 介绍Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持原创 2020-06-12 13:43:46 · 11415 阅读 · 0 评论 -
Mysql性能瓶颈深度定位分析
我们在性能测试过程中,经常会遇到Mysql出现性能瓶颈的情况,对于数据库来说,所谓的性能瓶颈无非是慢SQL、CPU高、IO高(有人会说内存高也算,说的对,比如发生比较严重的swap,由于我没遇到过,没有案例来说明),这次我就举这三方面的例子来进行性能分析:首先我们要保证没有数据库配置方面的性能问题,毕竟在性能测试前,需要对基本配置撸一遍,避免犯低级错误。一、慢SQL分析首先业务系统慢,肯定是体现在响应时间上,所以在性能测试中,如果发现慢我们就从响应时间上进行拆分,如果拆到mysql,那就是分析慢原创 2020-06-10 10:22:37 · 15424 阅读 · 3 评论 -
Java程序性能基础定位分析
1. 背景在做性能测试中不断思考java应用,性能怎么观察,怎么通过方法定位到代码,是否有通用步骤,通过查找资料与参考前人的知识总结,才有如下文章,话说知道不等于会,会不等于能运用,只有不断有意识的去练习才能掌握。总之,这属于基础技能,有了这层基础,再去使用高级版的工具(如阿里的Arthas),也就顺风顺水,水到渠成。本次定位的是Jmeter性能压测平台,对这个平台的介绍可以见:https://smooth.blog.youkuaiyun.com/article/details/83380879,为了让JAVA原创 2020-06-01 10:44:03 · 6071 阅读 · 0 评论 -
性能测试知识问题整理(三)
续上一篇《性能测试知识问题整理(二)》二十一、Ramp-up 配置有什么作用?为什么说压力工具中 TPS 和响应时间曲线抖动过大不易于分析?问题一:Jmeter中Ramp-up 配置有什么样的作用? Ramp-up 配置的时间是指启动所有配置的线程总数所用的时间,例如设置的线程总数为500,Ramp-up设置的时间为50s,意为:启动500个线程数需要50s,平均为每一秒启动10个线程。 另外整个压力持续时间Duration是包括Ramp-up的时间,很多人理解为是t...原创 2020-05-22 13:30:58 · 8308 阅读 · 2 评论 -
倾囊相授之性能分析思路
我还年轻的时候,经常听一些大会或者演讲。有些人说,思路逻辑非常重要。我那时就想,你肯定是瞎忽悠的,因为我怎么就没听懂你说的思路呢?而现在轮到自己来写或者讲一些东西的时候,才发现他们说得很对,而我之所以不理解,也是有原因的。性能分析思路和具体的实现之间,有一道鸿沟,那就是操作的能力。之前我为什么听不懂那些人的思路,其实是因为我没有操作的功底。而有了操作的功底之后,还有一个大的鸿沟要越过去,那就是从操作到对监控计数器的理解。这一步可以说让很多性能测试人员都望而却步了。但是这还不算完,这一步迈过去转载 2020-05-18 10:35:36 · 6631 阅读 · 3 评论 -
Java虚拟机监控指标及监控配置
主要是对Java虚拟机(JVM)的远程监视,如jdk自带的工具jvisualvm就可监视内存(JVM)、垃圾收集(GC)和线程统计,针对不同的JVM厂商,如Sun JVM、IBM JVM和Oracle JRockit JVM,监控的指标有所区别,但大体都一样。以下罗列了常见的JVM监控指标:监控参数 描述 进程内存 Eden空间 (堆内存) 最初为大多数对象分配内存的...原创 2017-04-28 20:20:43 · 13048 阅读 · 0 评论 -
用Jmxtrans自定义收集Java监控指标
使用Jmxtrans的理由:JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。利用JMX可以对外暴露jvm内部的一些指标,但是要获取那些jvm的内部信息,就还需要自己写java程序调用jmx接口去获取数...原创 2019-05-21 10:00:56 · 10823 阅读 · 0 评论 -
关于Web事务响应时间的细分以及深入分析
对于loadrunner而言,response time只反映了传输时间和系统处理事务的时间,而客户的浏览器从接收完所有字节开始到浏览器加载完所有元素、运行完所有js,呈现给用户的这段时间loadrunner是不统计的,这部分属于页面前端性能,需要通过前端工具辅助分析。 通过Loadrunner获取的事务响应时间,主要可以分解为:First Buffer +Receive...原创 2017-09-15 11:20:42 · 9338 阅读 · 0 评论 -
如何在Windows下安装听云NodeJs探针
在一次性能测试中需要监控NodeJs,就用了听云,由于测试环境的NodeJs是部署在Windows下的,按照听云上的探针安装说明进行安装,发现处处是坑,最后花了两小时才解决,现在细想听云上的安装说明一定是针对Linux的,而且探针的Setup.js脚本也是针对Linux的。因此我将自己的安装过程重新记录一下,以供参考......原创 2017-10-10 16:51:50 · 5884 阅读 · 0 评论 -
Linux性能监控之vmstat和dstat
说来惭愧,做了这么久的性能测试,居然对linux的vmstat这个命令还不熟悉,对很多指标的具体意义都有点模糊不清,今天花了点时间好好学习、整理一下这个命令的相关资料。因为这个命令确实比较重要,而且频繁用到。顺便再介绍一下另一个更强大的工具dstat。ProcsrThe number of processes waiting for run time等待运行的进程数。如果等待运行的进程数越多,意味着CPU非常繁忙。另外,如果该参数长期大于和等于逻辑cpu个数,则CPU资源可能原创 2017-11-24 14:49:50 · 8920 阅读 · 0 评论 -
Oracle数据库访问性能优化
所有数据库包括Oracle的sql优化都是针对程序员的,而不是针对dba的,第一,尽量防止模糊,明确指出,即用列名代替*,第二,在where语句上下工夫。第三多表查询和子查询,第四尽量使用绑定。 根据计算机硬件的基本性能指标及其在数据库中主要操作内容,可以整理出如下图所示的性能基本优化法则: 这个优化法则归纳为5个层次: 1、减少数据访问(减少磁盘...转载 2018-02-20 16:02:36 · 33698 阅读 · 6 评论 -
MySQL数据库访问性能优化
MYSQL应该是最流行的WEB后端数据库。大量应用于PHP,Ruby,Python,Java 等Web语言开发项目中,无论NOSQL发展多么快,都不影响大部分架构师选择MYSQL作为数据存储。 MYSQL如此方便和稳定,以至于我们在开发 WEB 程序的时候非常少想到它。即使想到优化也是程序级别的,比方不要写过于消耗资源的SQL语句。可是除此之外,在整个系统上仍然有非常多能够优化的地方。...原创 2018-03-01 09:07:50 · 22470 阅读 · 3 评论 -
如何通过snmp监控Linux
一般我们监控Linux都是通过SSH或Telnet方式,有时候我们不方便通过这两种方式,比如遇到监控端口因为安全原因被封禁、以及SSH需要密钥登录,这都会让监控工具很难直接远程连接。而通过SNMP的方式监控就灵活多了,可以指定IP来接发数据包,监控项和端口也可以灵活配置。1.安装 snmp服务先检查是否安装了snmp[root@localhost] rpm -qa|grep snmp如果未安装则y...原创 2018-04-02 15:14:36 · 13467 阅读 · 0 评论 -
听云监控.NET Core的配置误区
听云算是较早推出.Net Core应用性能监控的(2017年11月推出),和听云其他语言的监控工具一样,也是无需开发人员介入即可实现在无需修改代码、无需重新编译应用,就能深入代码级别的应用监控。工具虽好,但也满满的是坑呀,特别是按照听云的使用说明进行基于IIS+.Net Core的应用部署配置,发现问题还不少。 在这里我们只讨论IIS发布部署的方式(Windows环境),因为就这...原创 2018-05-02 08:34:39 · 5055 阅读 · 3 评论 -
WMI监控碰到错误号53的问题定位
Spotlight On Oracle这款监控工具可以用来监控Windows操作系统,监控的原理是通过WMI远程访问协议,有时候监控会出现连接报错,比如报"错误号53,找不到网络路径”,或者是报别的错误,只要我们遵循以下的分析思路就能找到问题的根源:1、运行wbemtest测试通过在监控端,在Windows操作系统中,开始->运行->wbemtest,点击连接输入命令空间:\\{IP}...原创 2018-07-06 09:04:04 · 4468 阅读 · 0 评论 -
Carte+kettle+mysql性能问题定位分析记录
通过Carte服务对kettle转换进行稳定性测试,刚开始时是20并发,持续压力测试到20天时出现崩溃,由于崩溃的时间点和引起崩溃原因一时难以定位,重新改变压力测试的策略(测试前开发人员先做些优化,先解除和排除日志中出现的一些异常错误),然后进行100并发持续压力测试(加大并发数可以实现空间换时间,以尽快定位影响稳定性问题的原因),同时开启jvm监控,开启所有服务和数据库监控。测试脚本日夜不间断跑测,直到出现问题,通过监控和系统日志进行综合分析,找出问题。原创 2017-05-11 10:37:29 · 12582 阅读 · 1 评论