如何在Windows服务做性能测试(CPU、磁盘、内存)

目录

  • 前言
  • 1. 基本知识
  • 2. 参数说明

前言

由于需要做一些接口测试,测试是否有真的优化

1. 基本知识

该基本知识主要用来用到Performance Monitor,以下着重介绍下这方面的知识

性能监视器(Performance Monitor):Windows操作系统中的一个工具,用于监视系统的各种性能指标和资源使用情况,帮助用户了解系统的运行情况,识别性能瓶颈,并进行性能优化

其特点如下:

  • 监视系统性能指标:CPU利用率、内存使用、磁盘活动、网络流量等
  • 收集性能数据:配置并收集性能计数器数据,用于后续分析和报告
  • 分析性能问题:监视和收集的数据,可以识别系统的瓶颈和性能问题
  • 实时监控和历史数据查看:实时查看系统性能,也可查看历史数据以进行趋势分析

具体的打开方式比较简单,可以通过cmd下输入perfmon或者在控制面板中选择“管理工具”下的“性能监视器”来打开

主要组成部分:

  • 性能计数器:度量系统各种指标的工具,如CPU利用率、内存使用情况、磁盘活动等
  • 数据收集器:配置和管理性能数据的收集
  • 报表:查看和分析收集到的性能数据

总体截图如下:

在这里插入图片描述

使用建议

  • 选择合适的性能计数器:根据需要监视的对象和指标,选择合适的性能计数器
  • 配置数据收集器:设置适当的数据收集器,包括选择要收集的性能计数器、数据收集方法和触发器
  • 实时监视和分析:实时监视系统性能,及时发现和解决性能问题
  • 收集历史数据进行分析:定期收集历史数据,进行趋势分析和性能优化

2. 参数说明

对于CPU的监视,具体参数如下:

  • Processor/% Processor Time:(通常设为85%)
    表示处理器活动的主要指标,即处理器的使用率,与处理器相关的计数器(如% Privileged Time或Processor Queue Length)也线性增加,则表示可能存在性能问题
  • Processor/% Privileged Time:(持续大于75%可能表示存在瓶颈)
    在特权模式下执行的时间比例。当程序调用操作系统方法时(如文件操作、网络I/O或内存分配),这些方法在特权模式下运行
  • Processor/% Interrupt Time:(取决于处理器)
    处理器用于处理硬件中断的时间比例。高值间接指示硬件设备活动,如网络变化。若此计数器显著增加,则可能表示硬件存在问题。
  • System/Processor Queue Length:(平均值持续大于2表示可能存在CPU瓶颈)
    处理器队列中等待执行的线程数量。持续或反复出现2个以上的队列可能表示存在处理器瓶颈。
  • System/Context Switches/sec:(小于5000/秒/CPU的Context Switch速率是可接受的。若达到15000/秒/CPU,则可能成为制约因素)
    当高优先级线程替换正在运行的低优先级线程,或者高优先级线程被阻塞时,会发生Context Switch。大量的Context Switch可能表示有太多线程竞争CPU

对于内存的监视,具体参数如下:

  • Pages/sec:每秒处理的页面数,包括输入和输出(推荐在0到20之间,超过80可能表示内存问题)
    页面错误是处理器请求的一页内存出现错误时发生的情况
    软错误发生在内存中的其他位置
    硬错误需要从硬盘重新读取。高的读取速率可能表示内存不足
  • Available Bytes:显示当前可用的物理内存总量
    该值表示当前可用的物理内存,包括空闲内存、清零内存和待机内存
    低值可能导致频繁调用磁盘页面文件,影响系统性能
  • Committed Bytes:确认虚拟内存的字节数
    保留在磁盘页面文件上的虚拟内存空间的物理内存。超过物理内存的75%可能会导致系统性能问题

对于磁盘性能的监视,具体参数如下:

  • % Disk Time:所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比(正常情况下应该低于10%)
    高于正常值的% Disk Time表示磁盘耗费过多时间来访问,可能需要增加内存、更换更快的硬盘或优化读写数据算法
    持续超过80%的值可能暗示着内存泄漏
  • Current Disk Queue Length:收集性能数据时磁盘上当前的请求数量
    瞬间的快照,反映了当前的请求队列长度,但如果磁盘驱动器被迫持续运行,则可能会一直处于高的状态
    较高的队列长度可能会导致请求的延迟增加
  • Avg.Disk Queue Length / Avg. Disk Read Queue Length / Avg. Disk Write Queue Length:表示读取和写入请求的平均排队长度。
    正常值应该低于0.5,如果过高则表示磁盘IO速度太慢,可能需要更换更快的硬盘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/2906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 核心编程 - 内存分区模型

文章目录 1.1 程序运行前1.2 程序运行后1.3 new 操作符 C 程序在执行时,将内存大致划分为 4个区域: 代码区:存放函数体的二进制代码,由操作系统进行管理;全局区:存放全局变量和静态变量以及常量&#xff1…

MT2041 三角形的个数

思路:找规律,推公式 4等分: 头朝上的三角形: 边长为1:1234s1; 边长为2:123s2; 边长为3:12s3; 边长为4:1s4; 即si12...n-i1(n-i2)*(n-i…

基于高斯混合模型的视频背景提取和人员跟踪算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2013B 3.部分核心程序 .............................................................................. %我们这里…

根据当年节假日和非工作时间计算请假时间-获取每个月的节假日,计算每个月的工作日时间进度,节假日每年更新

根据需求请假时间要排除法定节假日和非工作时间 1.获取当年的节假日 节假日是每年更新的,没有固定接口,需要手动录入 个人根据官方的节假日整理了当年的所有节假日,可以根据个人需求进行修改 // 获取每个月的节假日,如果当月没…

Java | 冒泡排序算法实现

大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~ 题目描述 编写一个Java程序,实现冒泡排序算法。程序需要能够接收一个整型数组作为输入,并输出排序后的数组。 冒泡排序是一种简单的排序算法,它…

Laravel 6 - 第十五章 验证器

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

记录好用的python包

记录好用的python包 PipxCentos 安装pipx确保 Pip 被安装更新 Pip安装 Pipx添加 Pipx 到 PATH临时添加到 PATH:永久添加到 PATH: 验证 Pipx 安装 Poetry安装准备工作创建虚拟环境激活虚拟环境安装包追踪 & 更新包常用配置pycharm 远程连接poetry创建的虚拟环境参考链接 cen…

Java基础入门day36

day36 js dom控制css变化 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

【刷题】代码随想录算法训练营第二十二天|235、二叉搜索树的最近公共祖先,701、二叉搜索树中的插入操作,450、删除二叉搜索树中的节点

目录 235、二叉搜索树的最近公共祖先701、二叉搜索树中的插入操作450、删除 235、二叉搜索树的最近公共祖先 讲解&#xff1a; 回忆一下递归的三部曲&#xff0c;以这题为例。 1、参数&#xff1a; 当前节点和两个节点。 Treenode* cur, Treenode*p, Treenode*q2、递归终止条…

prometheus配置监控Java应用服务

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

JAVA----Thread

Thread 这里写目录标题 Thread线程Thread 第 1 种写法此外, t.start()的作用 Thread 第 2 种写法Thread 第 3 种写法Thread 第 4 种写法Thread 第 5 种写法 线程 本身是操作系统提供的, 操作系统提供了 API 以让我们操作线程, JVM 就对操作系统 API 进行了封装. 线程这里, 则提…

PVE虚拟机隐藏状态栏虚拟设备

虚拟机启动后&#xff0c;状态栏会出现一些虚拟设备&#xff0c;点击弹出会导致虚拟机无法使用。 解决方案&#xff1a; 1、在桌面新建disable_virtio_removale.bat文件&#xff0c;内容如下&#xff1a; ECHO OFF FOR /f %%A IN (reg query "HKLM\SYSTEM\CurrentContro…

【注释和反射】类加载的过程

继上一篇博客【注释和反射】获取class类实例的方法-CSDN博客 目录 三、类加载的过程 例子 三、类加载的过程 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;类加载是一个将类的字节码文件从文件系统或其他来源加载到JVM的内存中&#xff0c;并将其转换为类或接口的…

年如何在不丢失数据的情况下解锁锁定的 Android 手机?

当您忘记密码、PIN 码或图案并且想要解锁 Android 手机时&#xff0c;您可能会丢失 Android 手机上的数据。但您无需再担心&#xff0c;因为在这里&#xff0c;我们想出了几种解锁锁定的 Android 手机而不丢失数据的方法。 方法 1. 使用 Android Unlock 解锁锁定的 Android 且不…

mathtype设置公式编号,公式居中以及编号靠右

在word中实现&#xff1a; 1. 首先点击栏&#xff0c;选择更多栏去看 看到栏的宽度&#xff0c;然后去设置样式 在开始-样式中设置,新建样式&#xff1a; 新建样式&#xff0c;然后设置格式-制表位&#xff0c;选择对齐方式&#xff0c;居中对齐设置刚才的一半&#xff0c;右…

RK3568 学习笔记 : u-boot 千兆网络功能验证

前言 开发板型号&#xff1a; 【正点原子】 的 RK3568 开发板 使用 虚拟机 ubuntu 20.04 编译 RK3568 Linux SDK&#xff0c;生成镜像&#xff0c;烧写后&#xff0c;Linux 系统正常启动 开启后可以使用 CTRLC 进入 u-boot 本篇验证一下 u-boot 下网络功能 【正点原子】 rk…

MATLAB 运算符

MATLAB 运算符 运算符是一个符号&#xff0c;告诉编译器执行特定的数学或逻辑操作。MATLAB设计为主要在整个矩阵和数组上运行。因此&#xff0c;MATLAB中的运算符既可以处理标量数据&#xff0c;也可以处理非标量数据。MATLAB允许以下类型的基本运算- 算术运算符 关系运算符…

Windows SMBGhost CVE-2020-0796 Elevate Privileges

SMBGhost CVE-2020-0796 Microsoft Windows 10 (1903/1909) - ‘SMBGhost’ SMB3.1.1 ‘SMB2_COMPRESSION_CAPABILITIES’ Local Privilege Escalation https://www.exploit-db.com/exploits/48267 Github https://github.com/danigargu/CVE-2020-0796 修改载荷[可选] 生成 c# …

【JAVA基础之IO】字节流、字符流以及乱码问题

&#x1f525;作者主页&#xff1a;小林同学的学习笔录 &#x1f525;mysql专栏&#xff1a;小林同学的专栏 目录 1. IO概述 1.1 什么是IO 1.2 IO的分类 1.3 字节和字符流的顶级父类 2. 字节流 2.1 一切皆为字节 2.2 字节输出流【OutputStream】 2.3 FileOutputStream类…

【GUI软件】小红书关键词搜索结果批量采集

一、背景介绍 1.1 爬取目标 用python开发的爬虫采集软件&#xff0c;可自动按关键词抓取小红书笔记。 软件界面截图&#xff1a; 爬取结果截图&#xff1a; 结果截图1: 结果截图2: 结果截图3: 以上。 1.2 演示视频 软件运行演示&#xff1a; 【软件演示】小红书搜…