说点题外话。最近遇到了几人真是让我不知所错。当谈到技术交流,我感觉只有两个人掌握的知识相当的时候才能讨论出问题,有时候我们没有办法却要面对一些一知半解人的歪曲理论。有时候感觉很可笑,但又不想说什么。就当是自己长见识了。就像安全性测试这块。说白了如果你连基本的一些网络知识或者安全知识都没有。怎么还能谈的上安全测试。就算你拿个工具又有何用。就算你发现了程序中没有过滤特殊字符会存在跨站脚本攻击。你能通过实际攻击拿到管理员权限吗。所以我奉劝那些如果你再对一项技术没有研究很透彻的情况下就不要去给别人讲什么。这样可能会给自己带来尴尬。<!----><o:p></o:p>
最近一直在看性能测试,总结后发现自己的问题主要存在对一些常用计数器掌握的不是很好,今天重新看了前辈写的一本上。并把计数器部分拿出来做个笔记。也方便自己以后复习。 在进行性能测试过程中,可以监视各个服务器的运行情况(DataBase Server、Web Server等)。在监视场景中通过添加性能计数器来实现。<o:p></o:p>
如何添加计数器就不做具体介绍了。主要是教给大家在测试过程中一般添加那些计数器,以及这些计数器的一些简单介绍。<o:p></o:p>
<o:p> </o:p>
(1)内存<o:p></o:p>
内存是第一个监视对象,确定系统瓶颈的第一个步骤就是排除内存问题。因为内存的短缺可能会引起各种各样的问题。监视内存主要是检查应用程序是否存在内存泄露。如果发生了内存泄漏,Process\private Bytes计数器和Process\Working Set计数器的值往往会升高。同时Available Bytes的值会降低。同时内存泄漏问题应该通过一个长时间的,用来研究分析当所有内存都耗尽时,应用程序反应情况来进行验证。那么这么说在监视内存时一般就选择这3个计数器。这三个计数器的具体含义如下:<o:p></o:p>
Object(对象)<o:p></o:p> |
Counters(计数器<o:p></o:p>
名称)<o:p></o:p> |
Description(描述)<o:p></o:p> |
参考值<o:p></o:p> |
Memory<o:p></o:p> |
Available MBytes<o:p></o:p> |
物理内存的可用数(单位 Mbytes)。默认情况下IIS5.0 使用50%的可用物理内存,作为IIS 的文件缓存(file cache)。<o:p></o:p>
IIS 基本占用 2.5 MB,每个附加连接将在此基础上占用 10 KB 左右。<o:p></o:p> |
至少要有10% 的物理内存值<o:p></o:p> |
Memory<o:p></o:p> |
Page/sec<o:p></o:p>
Page Faults/sec<o:p></o:p>
Pages Input/sec<o:p></o:p>
Page Reads/sec<o:p></o:p>
Transition<o:p></o:p>
Faults/sec<o:p></o:p> |
当处理器向内存指定的位置请求一页(可能是数据或代码)出现错误时,这就构成一个Page Fault。如果该页在内存的其他位置,该错误被称为软错误<o:p></o:p>
(用TransitionFault/sec 计数器衡量);<o:p></o:p>
如果该页必须从硬盘上重新读取时,被称为硬错误。许多处理器可以在有大量软错误的情况下继续操作。但是,硬错误可以导致明显的拖延。Page Faults/sec<o:p></o:p>
是处理器每秒钟处理的错误页(包括软错误和硬错误)。<o:p></o:p>
Pages Input/sec 是为了解决硬错误页,从硬盘上读取的页数,而PageReads/sec<o:p></o:p>
是为了解决硬错误,从硬盘读取的次数。如果 Page Reads/Sec 比率持续保持为 5,表示可能内存不足。<o:p></o:p>
Pages/sec 是指为解析硬页错误从磁盘读取或写入磁盘的页数。<o:p></o:p> |
Page/sec 推荐00-20(如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。如果大于80,表示有问题)。<o:p></o:p>
这些计数器的值比较低,说明Web 服务器响应请求比较快,否则可能是服务器系统内存短缺引起<o:p></o:p>
( 也可能是缓存太大,导致系统内存太少)。<o:p></o:p>
PageInput/sec 的值可以衡量出硬错误页发生的速率,通常它的值会大于或者等于PageReads/sec。<o:p></o:p> |
Process<o:p></o:p> |
Virtual Bytes( 实<o:p></o:p>
例inetinfo 、<o:p></o:p>
dllhost)<o:p></o:p>
Working Se(t 实例<o:p></o:p>
inetinfo 、dllhost)<o:p></o:p>
Dllhost#n 进程都<o:p></o:p>
要添加计数器<o:p></o:p> |
Virtual Bytes 计数器监视IIS5.0 保留的虚地址空间的数量,实例化为inetinfo进程(IIS 运行的核心)和Dllhost 进程(隔<o:p></o:p>
离/ 连接池 的应用程序必需的)。<o:p></o:p>
Working Set 计数器反映了每个进程使用的内存页的数量。系统的内存页(poolPage)只能由操作系统的核心模块直接访问,用户进程不能访问。运行IIS5.0的服务器上,负责web 连接的线程以及它需要的一些对象都保存在未分页的池中(nonpaged pool),比如文件句柄和<o:p></o:p>
socket 连接<o:p></o:p> |
<o:p> </o:p> |
Process<o:p></o:p> |
Private Bytes<o:p></o:p> |
指这个处理不能与其他处理共享的、已分配的当前字节数。<o:p></o:p> |
<o:p> </o:p> |
(2)Process计数器<o:p></o:p>
判断应用程序是否存在处理器瓶颈的方法:如果Processor Queue Length 显示的队列长度保持不变(>=2)个并且处理器的利用率%Processor Time 超过90%,那么很有可能存在处理器瓶颈。如果发现Processor Queue Length 显示的队列长度超过2,而处理器的利用率却一直很低,那么或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈。如果系统由于应用程序代码效率低下或者系统结构设计有缺陷而导致大量的上下文切换(Context Switches/sec 显示的上下文切换次数比较大),那么就会占用大量的系统资源。<o:p></o:p>
如果系统的吞吐量降低并且CPU 的使用率很高,并且此现象发生时切换水平在15000 以上,那么意味着上下文切换次数过高同时还可以比较Context Switches/sec 和%Privileged Time 来判断上下文切换是否过量。如果后者的值超过40%,且上下文切换的速率也很高,那么应该检查为什么会产生这样高的上下文切换。<o:p></o:p>
<o:p> </o:p>
Object(对象)<o:p></o:p> |
Counters(计数器<o:p></o:p>
名称)<o:p></o:p> |
Description(描述)<o:p></o:p> |
参考值<o:p></o:p> |
Sytem<o:p></o:p> |
Processor Queue<o:p></o:p>
Length<o:p></o:p> |
Processor Queue Length 是指处理列队中的线程数。即使在有多个处理器 的计算机上处理器时间也会有一个单列队。不象磁盘计数器,这个计数器仅 计数就绪的线程,而不计数运行中的线程。如果处理器列队中总是有两个以上的线程 通常表示处理器堵塞。<o:p></o:p> |
小于2。显示在由 Web服务器所有 处理器共享的队列中等待执行的线 程数。处理器瓶颈会导致该值持续大 于 2。<o:p></o:p> |
Processor<o:p></o:p> |
%Processor Time<o:p></o:p> |
CPU 使用率。这是查看处理器饱和状况的最佳计数器。显示所有 CPU 的线程<o:p></o:p>
处理时间。如果一个或多个处理器的该数值持续超过 90%,则表示此测试的负载对于目前的硬件过于沉重。为多处理器服务器添加该计数器的 0 到 x 个实例。<o:p></o:p> |
小于75%。排除内存因素,如果该计数器的值比较大,而同时网卡和硬盘的<o:p></o:p>
值比较低,那么可以确定CPU 瓶颈<o:p></o:p> |
System<o:p></o:p> |
Context Switches/sec<o:p></o:p> |
Context Switches/sec 指计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率。当正在运行的线程自动放弃处理器时出现上下文转换,由一个有更高优先就绪的线程占先或在 用户模式和特权(内核)模式之间转换以 使用执行或分系统服务。它是在计算机上的所有处理器上运行的所有线程的 Thread: Context Switches/sec 的总数并且用转换数量衡量。在系统和线程对象上有上下文转换计数器。<o:p></o:p> |
如果切换次数到<o:p></o:p>
5000*CPU个数和<o:p></o:p>
10000*CPU个数中,说明它忙于切换<o:p></o:p>
线程而不是处理ASP 脚本。<o:p></o:p> |
Processor<o:p></o:p> |
%Privileged Time<o:p></o:p> |
% Privileged Time 是在特权模式下处理线程执行代码所花时间的百分比。当调用 Windows 系统服务时,此服务经常在特权模式运行,以便获取对系统专有数据的访问。在用户模式执行的线程无法访问这些数据。
对系统的调用可以是直接的(explicit)或间接的(implicit),例如页面错误或中断。不像某些早期的操作系统,Windows 除了使用用户和特权模式的传统保护模式之外,还使用处理边界作为分系统保护。某些由Windows 为您的应用程序所做的操作<o:p></o:p>
|
分享到:
相关推荐
性能计数器是LoadRunner等性能测试工具中的关键元素,它们用于实时监控和分析服务器或操作系统的性能状态。计数器提供了关于系统运行情况的详细数据指标,例如内存使用、CPU利用率、磁盘I/O等。在性能测试过程中,...
在LoadRunner 11中,计数器是性能测试中的一...总的来说,掌握LoadRunner 11中的计数器用法是性能测试工程师必备的技能之一。通过对计数器的有效利用,我们可以更准确地评估系统性能,定位问题,从而提升整体系统效率。
性能计数器 web服务器 数据库服务器
### LoadRunner监视的性能计数器详解 #### 内存性能指标 **1. AvailableMbytes** - **定义**:表示系统当前可用的物理内存数。 - **阈值**:若该值小于4MB,则表明计算机上的总内存可能不足,或者某个程序没有...
LoadRunner性能计数器指标分析,包括场景分析,监控指标,参数介绍
LoadRunner监视的性能计数器.doc
### 性能测试学习笔记之LoadRunner实战 #### 第1章 一切从零开始 **1.1 拒绝性能测试的理由** 在探索性能测试的过程中,很多人可能会因为种种原因而选择回避或延迟开始。本章节列出了几种常见的拒绝理由,并试图...
### LoadRunner性能测试基础知识详解 ...通过以上内容的学习,我们不仅可以了解到LoadRunner的基本使用方法,还能掌握性能测试的关键技术和最佳实践。这对于提升系统的性能和稳定性具有重要意义。
### LoadRunner监视的性能计数器详解 #### 一、概览 LoadRunner是一款功能强大的负载测试工具,常被用于评估软件系统的性能表现。通过监控系统中的各项性能指标,LoadRunner能够帮助用户发现并解决潜在的性能瓶颈...
LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战
在使用 LoadRunner 监控 Oracle 数据库时,有许多重要的计数器可以帮助我们了解数据库的行为和性能。以下是对这些计数器的详细介绍。 #### 二、Oracle 计数器指标解析 ##### 1. **CPUusedbythissession (V$SESSTAT...
软件测试实验报告(使用LoadRunner进行性能测试实验) 一、性能测试简介 ...通过本次实验,我们学习了LoadRunner的使用和性能测试流程,掌握了性能测试的基准和方法,提高了我们对软件测试的理解和能力。
LoadRunner负载测试之Windows常见性能计数器 LoadRunner是HP公司的一款负载测试工具,能够模拟大量用户并发访问服务器,测试服务器的性能瓶颈。Windows常见性能计数器是LoadRunner测试中常用的性能指标,它可以帮助...
### LoadRunner性能计数器详解 #### 一、Memory(内存) **定义:** 内存性能计数器主要用于监控系统内存的使用情况,包括页面的读取与写入等,帮助评估系统的运行效率。 **计数器说明:** 1. **Page Faults/sec...
【LoadRunner性能测试详解】 LoadRunner是一款功能强大的企业级性能测试工具,由HP(现为Micro Focus)开发,主要用于模拟大量并发用户对应用程序进行压力测试,以评估系统在高负载下的稳定性和性能瓶颈。本文档将...
通过监控和分析这些计数器,LoadRunner可以帮助性能测试人员深入理解Oracle数据库在负载下的行为,找出可能的性能瓶颈,并进行相应的优化。例如,如果CPU used by this session持续偏高,可能需要优化SQL查询;DBWR...
LoadRunner 性能测试学习总结 LoadRunner 是一种功能强大的性能测试工具,旨在帮助开发者和测试者对应用程序进行性能测试和优化。 LoadRunner 的主要功能包括虚拟用户生成、负载测试、事务测试、结果分析等。 为...
性能计数器是LoadRunner中用于监测系统资源使用情况的重要工具之一,它们可以帮助我们更好地理解系统的瓶颈所在,并进一步优化性能。 ### 性能计数器的作用 性能计数器主要用于监控被测应用及其所依赖的系统组件在...
LoadRunnerLoadrunner软件测试工具中的LoadRunner监视的性能计数器今天,我先把我整理的一些计数器及其阈值要求等贴出来,这些计数器是针对我对windows操作系统,C/S结构的sqlserver数据库及WEB平台.net产品测试时的...