参考《全栈性能测试修炼宝典JMeter实战》第九章 性能监控诊断 第二节 系统性能分析思路和第三节 定位分析

  系统在工作负载中的性能受到许多因素影响,处理器速度、内存容量、网络或磁盘I/O控制器的数量以及磁盘的容量和速度是所以工作负荷的重要性能特征组件。还有其他应用程序自身的性能特征、工作负荷的特性、应用程序间的通信行为、磁盘或网络上的数据访问模式,还有终端用户对应用程序的使用模型。对特定工作负荷调优时,常常首先要假定许多物理环境特征,例如处理器数量、处理器类型、磁盘数量等保持不变。性能分析的主要目标是识别出工作负荷中哪些组件是当前提高性能和整体吞吐率的瓶颈,以及当工作负荷已经导致硬件能力饱和时,哪些硬件配置的改进会提高该工作负荷的吞吐率和性能。主要从以下几块进行分析:

一、CPU
  CPU是操作系统中运行的根本,他的执行速度与性能好坏很大程度上决定了系统整体的性能快慢,现在的cpu已经由之前的单核发展到多核,使得处理能力更强。当cpu处于满负载状态时,我们要结合系统附带的一些监控分析工具,检查系统日志等辅助分析cpu的使用情况。

Linux下查看cpu性能命令:
  查看物理cpu个数:cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l
  查看每个物理cpu的核数量:cat /proc/cpuinfo |grep "cpu cores"|wc -l
  查看cpu和cpu核数量的使用数量:cat /proc/cpuinfo |grep "processor"|wc -l
  实时监控CPU的使用情况:top
  其他命令:vmstat、sar、dstat、mpstat、ps

定位分析:
  当系统利用率大于50%时,需要关注;大于70%需要密切关注;大于90%时,情况比较严重

二、内存
  内存太小会阻塞进程,甚至会导致应用程序被杀死,更严重的引起系统重启。内存太大,容易浪费。同时也要兼顾虚拟内存的大小,当系统的物理内存不够用的时候,就需要物理内存释放一部分以供程序正常使用。这些被释放的空间被临时保持到虚拟内存空间中,等需要时再次从虚拟内存中恢复保存的数据到物理内存。系统总是在内存不够用的时候才切换内存。

Linux下内存查看命令:free –m
  其他命令:vmstat、sar、dstat、top、ps

定位分析:
  当系统利用率大于50%时,需要关注;大于70%需要密切关注;大于90%时,情况比较严重

三、网络
  系统之间的通信是通过网络进行传输的,因此时间、网络延迟、阻塞等都可以影响系统性能。
  在系统中,要考虑对应的网络是否到达、防火墙是否开启、端口的访问、宽带是否被限制、路由的寻址、网络的时延等

定位分析:
  通过命令sar、ifconfig、netstat以及查看net的dev速率,通过查看发现收发包的吞吐速率达到网卡的最大上限,网络数据报文有因为这类原因2⃣而引发的丢包、阻塞等现象。测试过程中为了减少网络问题的影响,选择在局域网中进行。

四、I/O
  磁盘数据的读写的性能也会直接影响系统程序的性能,磁盘I/O系统是系统中最慢的部分。主要是CPU处理比磁盘物理操作块好几个数量级。针对I/O的场景模型,要考虑的有TPS、平均I/O数据、平均队列长度、平均服务时间、平均等待时间、IO利用率等指标。

定位分析:
  衡量系统IO的使用情况,可以用sar、iostat、iotop等命令进行系统的IO监控分析。当系统利用率大于40%时,需要关注;大于60%需要密切关注;大于80%时,情况比较严重

四、其他分析方向
  硬件
  数据库
  中间件
  程序部分(前端、后端、业务逻辑等)
  系统架构
  系统受到病毒感染

JMeter—系统性能分析思路(十三)的更多相关文章

  1. JMeter—系统性能分析思路

    系统在工作负载中的性能受到许多因素影响,处理器速度.内存容量.网络或磁盘I/O控制器的数量以及磁盘的容量和速度是所以工作负荷的重要性能特征组件.还有其他应用程序自身的性能特征.工作负荷的特性.应用程序 ...

  2. (转)Linux 系统性能分析工具图解读(一、二)

    Linux 系统性能分析工具图解读(一.二) 原文:http://oilbeater.com/linux/2014/09/08/linux-performance-tools.html 最近看了 Br ...

  3. Linux系统性能分析

    http://c.biancheng.net/cpp/html/2782.htmlLinux系统性能分析 这篇教程的目的是向大家介绍一些免费的系统性能分析工具(命令),使用这些工具可以监控系统资源使用 ...

  4. 通信原理实践(四)——模拟通信系统性能分析

    一.模拟通信系统性能分析 1.系统框图 2.信噪比定义 (1)输入信噪比: (2)输出信噪比: (3)调制制度增益: 3.模拟通信系统分析等价模型 即自己产生一个高斯白噪声,加入到调制信号,然后在送入 ...

  5. 操作系统性能分析与优化V1.0

    操作系统性能分析与优化V1.0 : http://www.docin.com/p-759561760.html

  6. Linux 系统性能分析工具 sar

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以 从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用 ...

  7. nmon与nmonanalyser系统性能分析

    nmon与nmonanalyser系统性能分析(图表) - [系统架构] 2011-05-15 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.c ...

  8. sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用

    12. sar 找出系统瓶颈的利器 sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行 ...

  9. Jmeter接口测试之参数传递(十三)

    在接口自动化测试中,经常会遇到的一种场景就是参数的场景,比如在用户列表中获取所有的用户列表,然后获取到某一个用户的ID,查看该用户的详细信息.首先在这里理清思路,它的流程是,首先获取到数据,然后在Jm ...

随机推荐

  1. Python九九乘法表三种方案

    方法一: row = 1 # 定义起始行 while row <= 9: # 最大打印 9 行 col = 1 # 定义起始列 while col <= row: # 最大打印 row 列 ...

  2. Python函数学习——匿名函数

    匿名函数 匿名函数就是不需要显式的指定函数名. 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达 ...

  3. Pycharm 连接Linux 远程开发

    Pycharm 连接Linux 远程开发 在Liunx上安装python3.6(Ubuntu16) 下载Python-3.6.4.tgz 解压 tar -xzvf Python-3.6.4.tgz 进 ...

  4. python列表常用方法

    list是一个类,用中括号括上,逗号分隔,元素可以是数字,字符,字符串,也可以是嵌套列表,布尔类型. 1.通过索引取值 li=[1,12,9,'age',['wangtianning',[19,'10 ...

  5. 关于 Nginx 配置 WebSocket 400 问题

    今天把项目升级了 asp.net core 到 2.1 的版本,使用了 signalr  的功能,由于阿里云不支持 websocket 协议,所以使用了 nginx 代理方式来解决,后续就报了一个登陆 ...

  6. Android_TextView使用Spanable

    TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式.事件方面的设置.Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能: 1.Bac ...

  7. 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...

  8. Python之列表推导式

    我们经常需要这样处理一个列表:把一个列表里面的每个元素, 经过相同的处理 ,生成另一个列表. 比如:一个列表1,里面都是数字,我们需要生成一个新的列表B,依次存放列表A中每个元素的平方 怎么办? 当然 ...

  9. SQL 必知必会·笔记<19>使用游标

    游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集.在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据. 使用游标 使用游标 ...

  10. SVM笔记

    1.前言 SVM(Support Vector Machine)是一种寻求最大分类间隔的机器学习方法,广泛应用于各个领域,许多人把SVM当做首选方法,它也被称之为最优分类器,这是为什么呢?这篇文章将系 ...