如何在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速度太慢,可能需要更换更快的硬盘

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

本地部署Docker容器可视化图形管理工具DockerUI并实现无公网IP远程访问——“cpolar内网穿透”

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

Unity的旋转实现一些方法总结(案例:通过输入,玩家进行旋转移动)

目录 1. Transform.Rotate 方法 使用 2. Transform.rotation 或 Transform.localRotation 属性与四元数 使用方式: 小案例 :目标旋转角度计算:targetRotation(Quaternion类型) 玩家发现敌人位置,玩家…

八股中的记录

1. protected修饰符:同包或子类(不同包) 区分普通人和专业人调用的一些方法 2. 抽象:abstract修饰类和方法 抽象类不可实例化,避免错误的new对象 抽象方法是用abstract修饰的方法声明,没有方法体&#xff…

半导体存储器整理

半导体存储器用来存储大量的二值数据,它是计算机等大型数字系统中不可缺少的组成部分。按照集成度划分,半导体存储器属于大规模集成电路。 目前半导体存储器可以分为两大类: 只读存储器(ROM,Read Only Memory&#xff…

MySQL连接失败

最近接手了公司的一个软件项目,通过打印日志,发现该软件会偶发出现连接MySQL数据库失败的问题。 首先排查是否是网络问题导致的连接失败。对该软件和MySQL的3306端口进行抓包,发现连接数据库失败时并没有出现tcp三次握手失败的情况。并且该软…

semaphore信号量使用+原理分析

1.概述 Semaphore 信号量,相当于一个计数器,通常用来限制线程的数量。 每个线程操作前会先获取一个许可证,逻辑处理完成之后就归还这个许可证。 通俗的解释:相当于一个停车场,有10个停车位,进来一个车&am…

按照以下步骤使用Transformer模型

“Transformer”是一种深度学习模型架构,用于处理序列数据,特别是在自然语言处理(NLP)领域中表现出色。它由Google Brain团队于2017年提出,并在机器翻译任务中取得了突破性的成果。Transformer的核心思想是完全基于自注…

指挥中心实战指挥平台-通信指挥类装备多链路聚合设备解决方案实例

一、建设目标及要求 坚持“一切为了实战、一切围绕实战、一切服务实战”的总要求,紧紧围绕大数据应用和自动化、智能化、智慧化这一主题主线,建设升级改造支队指挥中心,集成语音、视频、即时消息、短信、对讲、会议等多媒体通信能力&#xf…

基于SpringBoot的智慧物业管理设计与实现论文

摘  要 随着我国发展和城市开发,物业管理已形成规模,其效益也越来越明显。在经济效益对地方政府而言,主要体现为:减少了大量的财政补贴,对住宅区开发企业而言,能提高物业市场竞争力,使开发企…

场景 - 分库分表

分什么 数据量大分表,并发大分库 分表字段如何选择 如果对交易订单进行分表,可以选择的东西很多,比如说商户id,用户id,地区等等 分表的时候要考虑到数据倾斜问题 数据倾斜 比如说按商户号进行分表,一共…

什么是许可式邮件营销

许可式邮件营销(Permission-based Email Marketing)是一种营销策略,它依赖于接收者的同意或明确的许可来发送商业电子邮件。这种营销方式的核心在于尊重潜在客户或现有客户的选择权,通过提供价值和服务来建立和维护与客户的良好关…

@AutoWired和@Resource的区别

AutoWired和Resource的区别 这两个我们在项目中,经常去使用。很少有人知道他们有什么区别。下面我们将从 来源依赖查找顺序支持的参数依赖注入的用法支持 这四个方面来说明他们俩个的区别 来源 Autowired: 这是Spring框架自带的注解,用于实现自动依…

Git命令行操作(本地操作)

入口 1、任意目录》鼠标右键》Open Git Bash here 2、桌面快捷方式 本地库初始化 在本地库项目文件夹执行命令:git init 验证是否执行成功 .git目录中存放的是本地库相关的子目录和文件,不要删除、修改 设置签名 1、形式 用户名:tom Email地址:GoodMorning@qq.com 2、作…

六、项目发布-- 3. Node.js+express 编写书城首页API

前面那些准备工作做完之后,现在我们就具体来用Node.js来写一个简单的API 基本API编写: 建个后端文件夹,放到vscode打开 我们之前的代码都是前端代码,现在我们来做一个后端的代码。新建一个新的文件夹叫node_new_book&#xff0…

LateX的基础学习

what can i say 在text.tex中写下 \documentclass{article} \begin{document]Hello \LaTeX. \end{document} 关闭记事本,cmd中dir保存,用latex text.tex来编译,可以命令行慢慢编译,这可以做成bat文件 为什么不直接开始在texst…

第八讲:C语言指针(2)

目录 1、数组名的理解 2、使⽤指针访问数组 3、⼀维数组传参的本质 4、冒泡排序 5、⼆级指针 6、指针数组 7、指针数组模拟⼆维数组 1、数组名的理解 其实数组名本来就是地址&#xff0c;⽽且 是数组⾸元素的地址&#xff0c;例如&#xff1a; #include <stdio.h>…

C++信息学奥赛 数据结构认识

数据结构 1.1数据结构分类 1.2基本数据类型 1.3数字编码 1.4字符编码 1.1数据结构分类 数据结构如同一副稳固而多样的框架。为数据的有序组织提供了蓝图&#xff0c;算法得以在此基础上生动起来。 常用的数据结构包括哪些 &#xff0c; &#xff0c; &…

Redis篇:缓存击穿及解决方案

1.何为缓存击穿 缓存击穿问题也叫热点Key问题&#xff0c;就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了&#xff08;有可能是正好过期了&#xff09;&#xff0c;无数的请求访问会在瞬间给数据库带来巨大的冲击。 常见的解决方案有两种&#xff1a; 互斥锁 逻…

书生·浦语大模型实战营之OpenXLab 部署 InternLM2 实践指南

书生浦语大模型实战营之OpenXLab 部署 InternLM2 实践指南 本文档将手把手教您如何在 OpenXLab 部署一个 InternLM2-7B chat 的应用 目录 资料介绍书生浦语 InternLM介绍OpenXLab浦源平台介绍部署 InternLM2-Chat-7B demo模型准备上传模型编写代码部署应用 资料介绍 书生浦语…

揭开ChatGPT面纱(1):准备工作(搭建开发环境运行OpenAI Demo)

文章目录 序言&#xff1a;探索人工智能的新篇章一、搭建开发环境二、编写并运行demo1.代码2.解析3.执行结果 本博客的gitlab仓库&#xff1a;地址&#xff0c;本博客对应01文件夹。 序言&#xff1a;探索人工智能的新篇章 随着人工智能技术的飞速发展&#xff0c;ChatGPT作为…