性能测试之操作系统计数器分析方法

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:

内存分析方法:
  内存分析用于判断系统有无遇到内存瓶颈,是否需要通过增加内存等手段提高系统性能表现。内存分析需要使用计数器:Memory & Physical Disk类别的计数器,以下是内存分析的主要方法和步骤
  1>.查看MemoryAvailable Mbytes指标,该计数器是描述系统可用内存的直接指标,在对系统进行操作系统级别的内存分析时,首先通过该指标建立一个初步的印象,了解性能测试过程中系统是否仍然有足够的内存可用,如果该指标的数据比较小,系统可能出现了内存方面的问题,这时需要继续依据以下步骤进行进一步的分析
  2>.注意Pages/sec、Pages Read/sec 和 Page Faults/sec的值。操作系统经常会利用磁盘交换的方式提高系统可用的内存量或内存的使用效率。Windows和Unix操作系统都提供了类似的方法来支持磁盘交换计数,而这三个指标直接反应了操作系统进行磁盘交换的频度
  Pages/sec的计数持续高于几百?很可能会有内存方面的问题产生,但Pages/sec的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致
  Page Faults/sec值表示每秒发生页面失效的次数,页面失效次数越多,说明操作系统向内存中读取的次数越多,此时还需要查看Pages Read/sec的计数值,该阀值为5,如果超过5,则可判断存在内存方面的问题。
  3>.根据Physical Disk计数器的值分析性能瓶颈,对Physical Disk计数器的分析包括对Page Reads/sec 和%DiskTime 及Average Disk Queue Length的分析。如果Pages Read/sec很低,同时%Disk Time 和Average Disk Queue Length的值很高,则可能有磁盘瓶颈。但是,如果队列长度增加的同时Pages Read/sec并未降低,则是由于内存不足。
  处理器分析方法
  1>.查看System%Total Processor Time性能计数器的计数值。该计数值用于体现服务器整体的处理器利用率,对多处理器系统而言,该计数值体现的是所有CPU的平均利用率。如果该值的数值持续超过90%,则可以说明整个系统面临处理器方面的瓶颈,需要通过增加处理器来提高性能
  2>.查看每个CPU的Processer%Processor Time和Processor%User Time 和 Processor%Privileged Time
  Processor%User Time 是指系统的非核心操作消耗的CPU的时间,如果该值较大,可以考虑是否能通过算法优化等方法降低该值。如果服务器是数据库,Processor%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。
  3>.研究系统处理器瓶颈,查看SystemProcessor Queue Length计数器的值,当该计数器的值大于CPU数量的总数1时,说明产生了处理器阻塞。在处理器的%Process Time值很高时一般都伴随着处理器阻塞,但产生处理器阻塞时,Processor%Process Time计数器的值并不一定很大,此时就是必须查看处理阻塞的原因。
  %DPC Time是另一个需要关注的内容,该计数值越低越好。在多处理器系统中,如果该值大于50%并且Processor%Processor Time值非常高,则考虑加入一个网卡来提高性能。
  磁盘I/O分析方法
  1>.计算每磁盘的I/O数。每磁盘的I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。
  2>.与ProcessorPrivileged Time合并进行分析。如果在Physical Disk计数器中,只有%Disk Time值较大,其他值都比较适中,则硬盘可能会是瓶颈。若几个值都比较大,且数值持续超过80%,则可能是内存泄露。
  3>.根据Disk sec/Transfer进行分析。一般来说,定义Transfer数值小于15毫秒为优秀,介于15~30毫秒之间为良好,30~60毫秒之间为可接受,超过60毫秒则需要考虑更换硬盘货硬盘的RAID方式
  进程分析方法
  1>.查看进程的%Processor Time值,每个进程%Processor Time值反映出进程所消耗的处理时间。将不同进程所消耗的处理器时间进行对比,可以容易地看出具体哪个进程在性能测试过程中消耗了最多的处理器时间,从而可以据此针对应用进行优化
  2>.查看每个进程产生的页面失效
  3>.了解进程的ProcessPrivate Bytes
  网络分析方法
  Network InterfaceBytes Total/sec为发送和接收字节的速率,可以通过该计数器的值判断网络连接速度是否是瓶颈,具体操作方式是用该计数器的值和目前网络的带宽进行比较。

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
2月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
62 4
|
14天前
|
弹性计算 运维 开发者
os-copilot-操作系统智能助手测试和总结
OS-copilot的深度测评,使用co提供的 -t自动开启agent通道,-f批量处理task任务,通道 | 参数的文件理解和解析。
|
15天前
|
弹性计算 运维 监控
OS Copilot-操作系统智能助手测试报告-新人体验
测试体验OS copilo安装、启动,体验copilot的提供的`-t`、`-f`、`|`通道的指令在在精准分析、批量任务处理、文件分析的能力。并记录下来。
157 18
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
60 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
10天前
|
人工智能 运维 监控
os-copilot-操作系统智能助手-测试人员使用总结
os-copilot-操作系统智能助手`-t`、`-f`、`|`等功能的使用总结
|
2月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
36 11
|
2月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
52 10
|
2月前
|
SQL 网络安全 数据库
GBase 8a集群V8客户端gccli适配欧拉操作系统绕行方案分析
GBase 8a集群V8客户端gccli适配欧拉操作系统绕行方案分析
|
3月前
|
监控 算法 Java
jvm-48-java 变更导致压测应用性能下降,如何分析定位原因?
【11月更文挑战第17天】当JVM相关变更导致压测应用性能下降时,可通过检查变更内容(如JVM参数、Java版本、代码变更)、收集性能监控数据(使用JVM监控工具、应用性能监控工具、系统资源监控)、分析垃圾回收情况(GC日志分析、内存泄漏检查)、分析线程和锁(线程状态分析、锁竞争分析)及分析代码执行路径(使用代码性能分析工具、代码审查)等步骤来定位和解决问题。
|
3月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
55 6