测试性能监控相关

理论上,我们需要对系统数据流转的每个节点做监控,收集数据,以便于分析。但是受限于环境问题或者时间问题,我们不能面面俱到,所以需要把系统做一下简单的分类,选择最需要的地方进行监控。

系统资源的监控
对于承载应用的最基础设备,我们需要充分了解它的使用情况,观察其当前的状态,对于硬件设备的评估,也有助于线上设备的采购和选择。一般情况下,我们需要关注的内容有CPU、Memory、I/O、Network,也就是我们通常说的3+1.
注意点:
  1、CPU我们关注的是%us(用户使用率),%sy(系统使用率,当需要系统做任务调度的时候会消耗)需要注意。
  2、Linux下,空闲Memory的计算方式,基于Linux系统的内存使用原则,不要看到free的数据少了,觉得是瓶颈了。
  例如:Total 2G usred 1.5G free 200M buffer 1G cache 500M
  系统当前能使用的Memory总量 = free + buffer + cache
  3、IO的瓶颈的确认需要特别注意,需要多方考虑,综合思考,"一切问题皆IO"。
  4、Network需要注意上下行及单位。
监控工具
Nmon小巧精练的工具,安装和使用都很方便,支持多版本的linux,内容丰富。
最高境界,利用linux自带的命令,通过shell脚本自行采集数据并绘制成图表。常用的命令top、iostat、pidstat、sar、netstat、iftop、vmsata、jstat(jvm使用情况)、jps(java进程)等。

应用层资源的监控
我们可以操作系统的资源消耗,理解为是应用层问题的外在表现。在应用层,由于框架的不同,开发人员水平及意识的限制,会产生各种各样的问题,导致了硬件资源的不合理消耗,从而产生性能问题。在这一层次,我们通常关注以下问题:
  1、阻塞,正在运行的线程没有运行结束,暂时让出CPU。
  2、争用,多个线程对同一段数据进行不同的操作。
  3、死锁,好的线程锁是业务的保障,不好的锁是灾难。
  4、理解线程状态图,有助于解决问题。

数据库资源的监控
目前,80%性能问题,会出现在数据库层面。配置不合理;开发人员没有意识,导致SQL执行效率差;线上的大数据量没有提前考虑;不合理的索引等等,都在时时刻刻影响着性能;我们需要重点关注数据库层面的性能问题,关注点以下问题:
  1、SQL的执行效率,或者说执行计划。
  2、索引的正确使用。
  3、大数据量情况下分库分表。
  4、其它TOP N的消耗。
数据库监控工具
在oracle数据库中,没什么比AWR报告更好了,看懂了这份报告,基本上足够了。
Msql监控工具MONyog,内容全面,界面清爽,个人强力推荐此工具,从此查看慢SQL不再是体力活。

总结
监控工具没有好坏之分,每个节点选择一款并把它用熟悉,了解每个指标背后的含义,才是正解。我们要做到知其然而知其所以然,这样才能提高自己的判断力,找出问题的根本原因。
性能测试需要丰富的经验,做得越久,你的价值越高。真正的高手会在系统架构之初,就会预期到并解决掉大部分的性能问题。当下,我们不要急功近利,只想学习怎么分析怎么调优,我们需要沉下心来,从小处做起,从基础做起。

原文地址:https://www.cnblogs.com/yinrw/p/9449311.html

时间: 2024-07-28 14:03:08

测试性能监控相关的相关文章

mysql性能监控相关

目录 一,获取mysql用户下的进程总数 二,主机性能状态 三,CPU使用率 四,磁盘IO量 五,swap进出量[内存] 六,数据库性能状态 七.querylog 八.mysqladmin的extended-status指令查看mysql各状态值 九.开源监控软件 一,获取mysql用户下的进程总数 ps -ef | awk '{print $1}' | grep "mysql" | grep -v "grep" | wc-1  二,主机性能状态 # uptime

OpenStack简单测试性能监控数据记录

第八章 JVM性能监控与故障处理工具(2)

注意:该篇博客主要记录自<深入理解java虚拟机(第二版)> 说明:关于命令行的JVM性能监控与故障处理工具见<第七章 JVM性能监控与故障处理工具(1)> 1.图像化的故障处理工具 Jconsole visualVM 2.Jconsole 进入"E:\Java\jdk1.6\bin",双击"jconsole.exe",弹出如下框: 说明:这里列出了所有的JVM进程,一个Jconsole进程,一个eclipse(PID:4684),这相当于j

[转载]前端数据之美 -- 七天打造前端性能监控系统

开始行动 本文中的性能主要指 web 页面加载性能,对性能还不了解?不用担心,接下来的“每一天”跟我一起进入前端性能的世界. Day 1 为什么要监控性能? “If you cannot measure it, you cannot improve it” ———— William Thomson 这是一个最基本的问题,为什么要关注和监控前端性能?对于公司来说,性能在一定程度上与利益直接相关.国外有很多这方面的调研数据: 性能 收益 Google 延迟 400ms 搜索量下降 0.59% Bin

性能监控

最近在总结项目的自动测试相关的技术和知识点.我们项目的自动测试,能够在进行功能测试的同时,一并记录各个功能的CPU和Memory占用情况.此篇博文介绍了我们做的性能监控的程序和涉及到的技术. 这里,就做一个简易版的性能监控工具.首先,上图. 从运行程序上看,用户需要输入被监控的机器名,进程名,是否监控CPU,是否监控Memory.最后还需要log文件的地址. 注意: 由于可以监控非本机的远程机器,所以需要Check Button来测试是否能够正常的监控特定机器中的特定进程.如果能够正常监控,那么

干货 | 云智慧透视宝Java代码性能监控实现原理

这篇图文并茂,高端大气上档次,思维缜密的文章,一看就和我平时的风格不同.对了.这不是我写的,是我家高大英俊,写一手好代码,炒一手好菜的男神架构师老公的大作,曾发表于技术公号,经本人授权转载,如有技术问题,我代为请他本人解答~~ 一.Java平台体系及应用场景 从1995年Sun Microsystems公司正式推出Java,到2006年时Sun公司将其开源,迄今为止已经有了20年的历史.Java本身已不仅仅只是一门面向对象的编程语言,而是由一系列计算机软件和规范形成的技术体系,这个技术体系提供了

《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念,才能继续往下学习. 本节学习重点 本节主要是针对JVM内存管理机制的一些监控手段,例如堆情况使用的监控,线程栈情况的监控等.有几句废话还是有必要在这里强调的,工具是人类思维的工具,例如Java语言是人类满足需求的一种技术手段,而监控工具只是维护程序应用的一种手段.所以,思考的逻辑思维要清晰,是问题引导工具,

第21/24周 性能监控(PAL工具)

大家好,欢迎来到性能调优培训的最后一个月.在过去的5个月里,我们谈了SQL Server的各种性能相关的话题,包括性能调优的技术和问题. 但当在你面前,SQL Server没有按你预想的运行时,你会怎么办?为了帮你处理这个情况,今天我们会谈到下性能监控技术,下周我们会详细谈到SQL Server里所谓的等待统计(Wait Statistics).现在开始我们的性能监控. 让我们建立一个基线! 很多人坐在他们的SQL Server前,知道它的性能非常差,却不知道如何找出潜在的根源,也不知道如何解决

7 天打造前端性能监控系统

引言 前阵子在w3ctech的走进名企 - 百度前端 FEX 专场上曾“夸下海口”说听完讲座后七天就可以打造自己的前端性能监控系统,既然说出去了也不能食言.从前一篇文章前端数据之美相信大家对前端数据有了一定的了解,下面就针对其中的性能数据及其监控进行详细阐述. 开始行动 本文中的性能主要指 web 页面加载性能,对性能还不了解?不用担心,接下来的“每一天”跟我一起进入前端性能的世界. Day 1 为什么要监控性能? “If you cannot measure it, you cannot im