`
fengbaoxp
  • 浏览: 27819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

性能监测

阅读更多
一、CPU监测:

Windows:

     1、Task Manager
          显示内核CPU时间: view -> Show Kernel Times
     2、Performance Monitor (perfmon)
     3、typeperf
          typeperf "\Processor(_Total)\% Privileged Time" "\Processor(_Total)\% User Time"
 
Linux:
     1、gnome-system-monitor(图形工具)
     2、vmstat
          cpu->sy : 系统时间%
          cpu->us : 用户时间%
          cpu->id  : 空闲时间%
          cpu->wa : 等待IO时间%
     3、mpstat 
          需要先安装sysstat:
           # apt-get install sysstat
     4、top
 
二、CPU 调度队列监测:
Windows :
     1、Performance Monitor (perfmon)
          System > Processor Queue Length   from Add Counters dialog.
     2、typeperf
          间隔5秒:
          typeperf -si 5 "\System\Processor Queue Length"
Linux:
     1、vmstat
          procs->r :运行队列中的进程数,在一个稳定的工作量下,应该少于5
          procs->b:等待队列中的进程数(等待I/O),通常情况下是接近0的
 
二、Memory监测:
Window:
     1、Performance Monitor(perfmon)
          Memory->Pages/second : 每秒交换页数
          Memory->Available MBytes :  可用内存
          每秒交换页数高,可用内存少说明系统内存不足,在做磁盘交换(swap)。
     2、typeperf
          typeperf -si 5 "\Memory\Available Mbyptes" "\Memory\Pages/sec"
Linux:
     1、vmstat
          swap->si : 换入页数
          swap->so: 换出页数
          memory->swapd: 已使用虚拟内存大小
          memory->free : 可用内存
          memory->buff: 作为buffer cache的内存,对块设备的读写进行缓冲
          memory->cache: 作为page cache的内存, 文件系统的cache。如果 cache 的值大的时候,说明cache住的文件数多,如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi 会非常小。
 
三、Lock Contention(锁竞争)监测
Windows:
     1、perfmon,typeperf只能监测总的上下文切换次数,不能区分主动还是被动。
     2、区分主动和被动上下文切换次数,需要借助:1、Intel VTune    2、AMD CodeAnalyst
Linux:
     1、pidstat
          cswch/s:每秒自发的上下文切换次数 
          nvcswch/s:每秒非自发的上下文切换次数
          监测Pid=9391的进程,并每5秒输出一次结果:
          $ pidstat -w -I -p 9391 5
          Linux 2.6.24-server (payton) 07/10/2008
          08:57:19 AM PID cswch/s nvcswch/s Command
          08:57:26 AM 9391 3645 322 java
          08:57:31 AM 9391 3512 292 java
          08:57:36 AM 9391 3499 310 java
          为了估算浪费在上下文切换上的时钟周期百分比,上面通过pidstat -w监测的系统,每秒大概发生3500个上下文切换 , 一个3.0GHz 双核Intel CPU. 因此, 3500 除以2,虚拟的进程数 = 1750. 1750 * 80,000 = 140,000,000. 一个 3.0GHz 处理器每秒的时钟周期数是 3,000,000,000. 这样, 浪费在上下文切换上的时钟周期比率是 140,000,000/3,000,000,000 = 4.7%. 通常如果 3% 到 5% 时钟周期发生在主动的上下文切换上,暗示一个Java应用可能存在锁竞争。
高非自发上下文切换暗示有比CPU核数更多的线程需要运行。通常用vmstat监测会发现有高的运行队列长度,高的CPU利用率,高的migrations。Linux可以通过taskset命令,并将应用绑定到指定的taskset。Window系统, 可以通过任务管理器的Process标签,将应用绑定到处理器或者处理器集。
四、Thread Migrations(线程迁移)监测
     线程迁移是指准备运行的线程在多核处理器(CPU核心)的核心之前的迁移。如果准备运行的线程在不同CPU核心之间频繁迁移也会引起性能下降。解决高迁移率的办法是,创建处理器集(processor set),并将应用绑定到指定的处理器集。通常经验,如果Java应用有超过每秒500个迁移,绑定到指定处理器集可以改善性能。
分享到:
评论

相关推荐

    性能测试文档模板(实例)

    性能测试中常见文档有性能测试计划、性能测试用例、性能测试方案、性能测试报告,直接参照项目实例来编写,可以快速上手。 一、性能测试计划(实例).docx 二、性能测试用例(实例).docx 三、性能测试方案(实例)....

    软件测试 性能测试 性能测试报告 系统性能测试方案 性能测试经验 测试模板

    软件测试 性能测试 性能测试报告 系统性能测试方案 性能测试经验 测试模板 “苍蝇式的战斗精神”和“XX性能测试”.pdf Mercury性能测试模板.doc web项目测试实战性能测试结果分析样章.doc XX性能测试报告.pdf XX性能...

    nmon性能测试资源监测工具

    nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括: CPU 使用率 内存使用情况 内核统计信息和运行队列信息 磁盘 I/O 速度、传输和读/写比率 文件系统中的可用空间 磁盘适配器 网络 I/O...

    《性能测试培训资料>》

    性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试培训资料性能测试...

    零成本实现Web性能测试:基于Apache JMeter

    本书首先介绍基础的性能测试理论,接着详细介绍如何使用jmeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话销售系统为例,手把手教会读者如何用jmeter来完成一个实际的性能测试任务。  本书...

    全栈性能测试修炼宝典JMeter实战

    首部分基础篇,主要讲解了当前性能测试状况及发展前景、性能测试的基础理论,让读者尽快入门学习;第二部分工具篇,讲解开源负载工具JMeter的体系结构、脚本开发、负载模拟、测试监听等内容,让读者可以从零开始学会...

    LoadRunner性能测试实战

    LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战

    性能测试理论基础及文档实例

    如果想要入门性能测试,必须掌握性能测试基础内容,像并发用户数、TPS、响应时间、吞吐率、资源利用率等性能指标,也要学会编写性能测试计划文档、性能测试方案、性能测试用例、性能测试报告等文档,更要掌握如何...

    性能测试培训PPT

    性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是...

    软件性能测试方案

    软件性能测试方案 目录 前言 3 1第一章系统性能测试概述 3 1.1 被测系统定义 3 1.1.1 功能简介 4 1.1.2 性能测试指标 4 1.2 系统结构及流程 4 1.2.1 系统总体结构 4 1.2.2 功能模块描述 4 1.2.3 业务流程 5 1.2.4 ...

    Web性能测试实战

    本书是一本总结实践经验和成果的作品,主要为测试人员规划、设计、实施Web性能测试而编写。本书既包含Web性能测试的基础理论,又包含理论在实践中的应用。 本书第1章介绍了性能测试基础知识和性能测试常见的误区。第...

    零成本实现WEB性能测试_基于APACHE JMETER_温素剑

    《零成本实现Web性能测试:基于Apache JMeter》是一本关于Web性能测试的实战书籍,读者朋友们在认真阅读完《零成本实现Web性能测试:基于Apache JMeter》后,相信能够将所学知识应用到生产实践中。《零成本实现Web性能...

    WEB性能测试用例设计

    WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。

    性能测试报告模板

    详尽的描述了性能测试报告如何写 对XX公司XX系统进行性能测试,客观、公正评估系统的性能现状。 1、开发正确有效的性能测试脚本,模拟最终用户操作行为,作为测试有效实施的基础; 2、通过性能测试,客观、公正评估...

    性能测试工具JMeter书籍(6本)目录知识点(思维导图加图)整理.rar

    性能测试工具JMeter书籍(6本)目录知识点(思维导图加图)整理.rar 根据如下6本性能测试、JMeter书籍收集整理重点知识点: 2012年《零成本实现Web性能测试:基于Apache JMeter》 2016年《大型IT系统性能测试入门...

    性能测试新手误区

    有过一些性能测试经验的人很容易进入此状态,他们已经熟悉了性能测试的基本流程,能够比较熟练的使用测试工具开展工作。我大概从事性能测试一年左右时遇到了这个问题,那时我觉得性能测试的过程没有太多挑战,遇到的...

    性能测试中如何定位性能瓶颈

    性能测试的概念是什么,基本目的是什么,我想大家都基本清楚,不作详述,总之,性能测试只是测试过程中的一种方式,帮助我们的功能更好的运行,如果功能测试是可用,易用,满足需求、用户使用为目的,性能测试无非...

    性能测试的设计和分析

    性能测试的设计 分析 和优化 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种...

    性能测试报告性能测试报告

    性能测试报告 性能测试报告 性能测试报告 性能测试报告 性能测试报告 性能测试报告

    软件性能测试过程详解与案例剖析

    第2章 性能测试的应用领域 2.1性能测试的方法 2.1.1性能测试 2.1.2负载测试 2.1.3压力测试 2.1.4配置测试 2.1.5并发测试 2.1.6可靠性测试 2.1.7失效恢复测试 2.2性能测试应用领域分析 2.2.1能力验证 2.2.2规划能力 ...

Global site tag (gtag.js) - Google Analytics