如何在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://xiahunao.cn/news/2982324.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

梯度下降法总是在同一点收敛吗?

梯度下降法总是在同一点收敛吗? 梯度下降法并不总是在同一点收敛。梯度下降法的收敛取决于多个因素,包括初始参数的选择、学习率的设置、损失函数的形状等。 以下是一些影响梯度下降法收敛行为的关键因素: 1.初始参数: 初始参数…

【数据库】三、数据库SQL语言命令(基础从入门到入土)

【全文两万多字,涵盖大部分常见情况,建议点赞收藏】 目录 文章目录 目录安装SQL语言1.使用2.DATABASE查看所有库新建数据库修改数据库删除数据库连接数据库 3.TABLE创建表查看库所有表删除表查看表信息重命名表修改表字段(列)表中…

【八股】Java基础、集合、JVM

面向对象三大特性 1 封装: 将 方法 和 属性 写到同一个类中,并将属性 私有化,生成 get set方法,外部访问属性需要通过get和set方法,内部可以直接访问属性,这样的一个类我们认为它完成了封装。 2 继承: 子…

月入8k,21岁计算机专业男孩转行网优,天赋可以让人发光,努力也能!

今天的主人公是一位仅21岁的年轻小帅哥,大学学的是计算机专业,毕业后的工作是卖苦力,工作一段时间后毅然决然的选择了转行后台网优,让我们一起来看看这位21岁男孩转行背后的故事... 卖苦力,是没有前途的 今天的主人公…

【c++】list类接口函数介绍与深度剖析模拟实现

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,本篇文章来到list有关部分,这一部分函数与前面的类似,我们简单讲解,重难点在模拟实现时的迭代器有关实现 目录 1.List介绍2.接…

富集分析不求人,零代码可视化GO/KEGG分析结果

01 爱基百客云平台小工具使用 首先,打开爱基百客官网:http://www.igenebook.com;点击菜单栏最右侧“云平台”按钮。 弹出云平台界面(下图),输入账号、密码和验证码方可登录;进入云平台&#xf…

《Beginning C++20 From Novice to Professional》第二章Fundamental Types

本章将介绍C的基础数据类型,主要涉及下列方面: 变量的声明、初始化、赋值整数字面量浮点数如何计算变量类型转换字符相关auto关键字 Variables, Data, and Data Types 这里先给出变量的定义:有名字的一块内存,这个变量的类型决…

2024-04-23 linux 查看内存占用情况的命令free -h和cat /proc/meminfo

一、要查看 Linux 系统中的内存占用大小,可以使用 free 命令或者 top 命令。下面是这两个命令的简要说明: 使用 free 命令: free -h这将显示系统当前的内存使用情况,包括总内存、已用内存、空闲内存以及缓冲区和缓存的使用情况。…

想冲宇宙厂,直接挂了。。。

宇宙厂实际是字节,这个称呼是因为字节跳动主宰了宇宙内一切App,有点家大业大的意思。 今天分享一位字节春招凉经,问了一些数据库和Java八股,没出算法题,直接挂了,竟然最喜欢出算法题的字节,这次…

c++ - 空间申请和释放 new/delete

文章目录 一、c/c内存分布二、new/delete 的使用三、malloc/free 和 new/delete 的对比四、new/delete 的实现原理五、匹配问题 一、c/c内存分布 求下面各个变量的位置 // c/c内存分布int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar …

前端零代码开发实践:页面嵌套+逻辑连线0开发扩展组件,实现切换开关控制扇叶转动。能无代码封装扩展组件,有别于常规的web组态或低代码平台

前言: 官网:http://www.uiotos.net/ 什么是 UIOTOS? 这是一款拥有独创专利技术的前端零代码工具,专注于解决前端界面开发定制难题,原型即应用!具有页面嵌套、属性继承、节点连线等全新特性,学习门槛低…

敷尔佳2023年报前瞻:“医美面膜第一股”的护城河及2024展望

查理芒格曾说:“要去鱼多的地方打渔”。历数长线牛股辈出的领域,消费行业无疑是大赢家。此中,美业又是消费行业最好的细分赛道之一。 4月26日,A股“医美面膜第一股”–敷尔佳(SZ:301371)将发布2023年财报,按惯例对本季…

ros2_control【B站WMGIII教学学习记录】1

资源 https://www.bilibili.com/video/BV1ku411G7UR? 学习过程中存在bug,记录一下 1 Q:"package ‘joint_state_publisher_gui’ not found, searching: [/home A: sudo apt install ros-humble-joint-state-publisher2 https://fishros.org.cn/forum/to…

蓄能勃发,酷开科技携酷开系统“软硬结合”提升大屏实力

智慧大屏以全新媒体形态之姿在过去几年快速增长,截至去年上半年,国内联网电视总量覆盖达5.26亿,其中智能电视终端活跃量达3.22亿,在PC、Mobile流量增长已显疲态的背景下,大屏的高速发展意味着一个新的赛道的崛起&#…

保护你的网站:了解5种常见网络攻击类型及其防御方法

随着互联网的迅猛发展,针对网站的各种类型的网络攻击随之增加,网络攻击事件层出不穷,由此,如何保护网站安全成为每个网站所有者的重要议题。在下面的内容中,我们将探讨5种常见网络攻击类型及其防御方法,以帮…

Linux中手工创建一个用户

当我们需要新创建一个用户时,有两种方法 1,使用useradd命令: [rootlocalhost /]# useradd tmg 然后给它设置一个密码 [rootlocalhost etc]# passwd tmg Changing password for user tmg. New password: BAD PASSWORD: The password is a…

C++ | Leetcode C++题解之第46题全排列

题目&#xff1a; 题解&#xff1a; class Solution { public:void backtrack(vector<vector<int>>& res, vector<int>& output, int first, int len){// 所有数都填完了if (first len) {res.emplace_back(output);return;}for (int i first; i &…

【大语言模型LLM】-基础语言模型和指令微调的语言模型

&#x1f525;博客主页&#xff1a;西瓜WiFi &#x1f3a5;系列专栏&#xff1a;《大语言模型》 很多非常有趣的模型&#xff0c;值得收藏&#xff0c;满足大家的收集癖&#xff01; 如果觉得有用&#xff0c;请三连&#x1f44d;⭐❤️&#xff0c;谢谢&#xff01; 长期不…

【古琴】倪诗韵古琴雷修系列(形制挺多的)

雷音系列雷修&#xff1a;“修”字取意善、美好的&#xff0c;更有“使之完美”之意。精品桐木或普通杉木制&#xff0c;栗壳色&#xff0c;纯鹿角霜生漆工艺。 方形龙池凤沼。红木配件&#xff0c;龙池上方有“倪诗韵”亲笔签名&#xff0c;凤沼下方&#xff0c;雁足上方居中位…