zoukankan      html  css  js  c++  java
  • Web 测试的重要计数器

    在测试运行过程中,应该监视测试客户端的性能计数器和所有 Web 服务器。Application Center Test 在测试运行中自动监视 HTTP 性能统计信息,但性能计数器必须在测试运行之前明确进行配置。

    性能计数器数据用于确定测试客户端或 Web 服务器到达其 CPU 最大使用率的时间。如果 Web 应用程序的性能瓶颈并非服务器 CPU,则使用性能计数器是确定瓶颈位置的最佳方式。

    有些计数器应该在所有测试中都使用(在下表中以粗体显示),而另一些计数器仅在查找性能问题的不明原因时才使用。

    ACT 客户端的性能计数器

    对象性能计数器说明
    Processor% Processor Time/_Total测试客户端的处理器使用情况
    MemoryAvailable Bytes测试客户端的可用内存量。
    Network InterfaceBytes Total/sec进出测试客户端的网络流量。

    Windows 2000 和 IIS 5 的性能计数器

    注意,下列是 Microsoft Windows 2000、IIS 5 和 Microsoft SQL Server 7.0 使用的计数器。其他版本使用的计数器可能不同。

    在 Web 服务器上记录性能计数器数据可以帮助了解哪部分 Web 应用程序导致了性能降低。

    对象 计数器说明
    Active Server Pages Memory Allocated 当 前由 Active Server Pages 分配的总内存量。将该数字与 Memory:Available Bytes 和 Memory:Committed Bytes 进行比较可确定 ASP 使用的内存百分比。如果测试过程中比率超过 50%,表示某个服务器端对象中存在内存泄漏。
    Active Server Pages Request Errors/Sec 每秒的错误数,包括连接错误、编译错误和运行时错误。如果该数字始终大于 0,则测试脚本、服务器配置或 ASP 脚本存在问题。
    Active Server PagesRequests Queued该计数器应保持接近 0。超过 IIS 队列长度会出现“服务器太忙”错误。
    Active Server Pages Requests Rejected如果该数字经常大于 0,表示测试负载过重或服务器没有充足的资源。
    Active Server Pages Requests/Sec每秒的 ASP 请求数。
    Internet Information Services Global File Cache Flushes and File Cache Hits 通 过比较这些计数器可以查看缓存命中与缓存清理的比率。从缓存删除文件时将发生刷新。这些全局计数器提供了从缓存中刷新对象的比率。刷新太慢会浪费内存。该 值可通过调整 ObjectCacheTTL、MemCacheSize 和 MaxCacheFileSize 注册表设置来进行修改。有关详细信息,请参阅 Windows 2000 Resource Kit。
    Internet Information Services Global File Cache Hits % 显示缓存命中数与总缓存请求数的比率。对于具有静态页面的站点,该值大约为 80%。
    MemoryAvailable Bytes 可用的剩余物理内存量。IIS 基本占用 2.5 MB,每个附加连接将在此基础上占用 10 KB 左右。
    Memory Cache Bytes显示用于静态文件的缓存大小。默认设置为可用内存的 50% 左右,但它会随可用内存的减少而减少,从而降低系统性能。
    Memory Page Faults/sec这 是由 CPU 处理的错误页面的总比率。Page Faults/sec 不区分软硬页面错误,但能够计算这些错误。Memory: pages Input/sec 是读取磁盘用于解决硬页面错误的页面数。而 Memory: Page Reads/sec 是读取磁盘用于解决硬页面错误的次数。将这些值与 Page Faults/sec 值进行比较可得到一个比率。如果 Page Reads/Sec 比率持续保持为 5,表示可能内存不足。
    Memory Pages/sec如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。
    Memory Pool Paged Bytes and Pool Nonpaged Bytes池容纳由应用程序和操作系统创建并使用的对象。如果池被填满,则可能发生内存泄漏。
    Network InterfaceBytes Total/sec将该值与总可用带宽进行比较便能清楚地看到潜在的网络瓶颈。一般要求 bytes/sec 保持在总可用带宽的 50% 以下。
    ObjectThreads线程是执行处理器指令的基本可执行实体。如果该数值一直持续上升,请打开 Process:Thread Count 计数器并查看所有线程是由哪个实例创建的。
    PhysicalDisk% Disk time显 示磁盘进行读/写活动所花费的时间百分比。如果计数器值很高而处理器和网络带宽并不饱和,则可能是磁盘瓶颈。在记录该计数器之前,请在 Windows 2000 的命令行窗口中运行 diskperf -yD。若数值持续超过 80%,则可能是内存泄漏。请确保为多磁盘计算机添加了该计数器的 0 到 x 个实例。
    PhysicalDisk Disk Queue Length 显示磁盘中未完成的请求数量。如果队列长度始终大于 3,则表示磁盘、内存或 SQL 服务器配置有问题。
    Process Private Bytes - _Total 显示所有实例已经分配但无法与其他进程共享的当前字节数。请确保选择了列表中的 _Total 实例。选择任何其他实例可能会耗尽内存。
    Process Private Bytes (inetinfo instance) Private Bytes (inetinfo) 是 HTTP/ASP 服务已分配但无法与其他进程共享的当前字节数。如果该数值始终很大且不断增加,则可能是服务器端对象发生泄漏。请与 Process: Private Bytes (_Total) 进行比较。
    Process Thread Count (inetinfo instance) Web 服务器进程创建的线程数。
    Processor % Processor Time (_Total instance)这是查看处理器饱和状况的最佳计数器。显示所有 CPU 的线程处理时间。如果一个或多个处理器的该数值持续超过 90%,则表示此测试的负载对于目前的硬件过于沉重。为多处理器服务器添加该计数器的 0 到 x 个实例。
    ProcessorInterrupts/sec 如果处理器使用率超过 90% 且 % Interrupt Time 大于 15%,则处理器可能负荷过重,并发生中断。
    Server Bytes Total/sec 显示网络活动。
    System Processor Queue Length 显示在由 Web 服务器所有处理器共享的队列中等待执行的线程数。处理器瓶颈会导致该值持续大于 2。
    System 和 Thread Context Switches/sec、Context Switches/sec: dllhost (thread # instance) 和 Thread: Context Switches/sec: inetinfo (thread # instance) 这些计数器从总体上显示系统所发生的高成本上下文切换数,尤其是在 IIS 5.0 中。
    Thread: % Processor Time: InetInfo => Thread # 显示 InetInfo 进程的各线程所使用的处理器时间。
    Thread: Context Switches/sec: InetInfo => Thread # IIS 服务的线程占用和释放处理器的次数。
    Web Service Bytes Total/sec 显示 Web 服务器发送和接收的总字节数。
    Web Service Current Anonymous Users 在未经身份验证的应力测试过程中显示与服务的当前连接数。
    Web Service Current Non-Anonymous Users 当前连接到 HTTP 服务器的已身份验证的用户数。
    Web Service Not Found Errors 显示返回的 404 响应代码的数量。

    其他性能计数器

    如果 Web 应用程序使用 Microsoft SQL Server 或依赖任何其他应用程序来生成响应,则还需监视此程序的性能计数器。

    对象 计数器说明
    SQL Server:General Statistics Logins/sec 这是每秒登录到 SQL Server 的计数。
    SQLServer:Cache Manager Cache Hit Ratio (all instances) 显示在高速缓存中找到数据的命中率。如果数值持续小于 85%,则表示内存有问题。
    SQLServer:General Statistics User Connections 显示当前 SQL 用户数。与 Active Server Pages:Requests/Sec 计数���进行比较,可帮助了解脚本对 SQL Server 的影响程度。如果差别过大,则表示测试脚本不能有效地对 SQL Server 进行应力测试。
    SQL Server:Databases Transactions/sec 已开始的总事务数。
    SQLServer:Locks Lock Waits/sec 显示在当前进程完成之前强制其他进程等待的每秒锁定请求的数量。如果该值始终大于 0,则表示事务有问题。
  • 相关阅读:
    软件工程概论---二维最大子数组和
    电梯调度之需求分析
    梦断代码读书笔记(一)
    软件工程概论---max单元测试
    软件工程概论---最大子数组的和延伸
    软件工程概论第三周测验---最大子数组
    软件工程概论第二周综合测验
    软件工程概论第二周综合测验----设计思路
    2015年上学期读书计划
    关于阅读构建之法提出的问题
  • 原文地址:https://www.cnblogs.com/jinqi79731/p/1724738.html
Copyright © 2011-2022 走看看