1、性能测试瓶颈分析方法1、内存分析方法 内存分析用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现。内存分析需要使用的计数器:Memory 类别和 Physical Disk 类别的计数器。内存分析的主要方法和步骤:(1)首先查看 MemoryAvailable Mbytes 指标如果该指标的数据比较小,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析。注: 在 UNIX/LINUX 中,对应指标是 FREE(KB)(2)注意 Pages/sec、 Pages Read/sec 和 Page Faults/sec 的值操作系统回利用磁盘较好的方式提高系统可用内存量或者提
2、高内存的使用效率。这三个指标直接反应了操作系统进行磁盘交换的频度。如果 Pages/sec 的技术持续高于几百,可能有内存问题。Pages/sec 值不一定大九表明有内存问题,可能是运行使用内存映射文件的程序所致。Page Faults/sec 说明每秒发生页面失效次数,页面失效次数越多,说明操作系统向内存读取的次数越多。此事需要查看 Pages Read/sec 的计数值,该计数器的阀值为 5,如果计数值超过 5,则可以判断存在内存方面的问题。注:在 UNIX/LINUX 系统中,对于指标是 (page)si 和(page)so.(3)根据 Physical Disk 计数器的值分析性能瓶颈
3、对 Physical Disk 计数器的分析包括对 Page Reads/sec 和%Disk Time 及Aerage Disk Queue Length 的分析。如果 Pages Read/sec 很低,同时%Disk Time 和 Average Disk Queue Length 的值很高,则可能有磁盘瓶颈。但是,如果队列长度增加的同时 Pages Read/sec 并未降低,则是内存不足。注:在 UNIX/LINUX 系统中,对应的指标是 Reads(Writes)per sec、Percent of time the disk is busy 和 Average number of
4、 transactions waiting for service.2、处理器分析法(1)首先看 System%Total Processor Time 性能计数器的计数值该计数器的值体现服务器整体处理器利用率,对多处理器的系统而言,该计数器提醒所有 CPU 的平均利用率。如果该值持续超过 90,则说明整个系统面临着处理器方面的瓶颈,需要通过增加处理器来提高性能。注:多处理器系统中,该数据本身不大,但 PUT 直接负载状况极不均衡,也应该视作系统产生处理器方面瓶颈。(2)其次查看每个 CPU 的 Processor%Processor Time 和 Processor%User Time 和
5、Processor%Privileged TimeProcessor%User Time 是系统非核心操作消耗的 CPU 时间,如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器, Processor%User Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的 CPU 时间,此时可以考虑对数据库系统进行优化。(3)研究系统处理器瓶颈查看 SystemProcessor Queue Length 计数器的值,当该计数器的值大于CPU 数量的总数1 时,说明产生了处理器阻塞。在处理器的%Process Time 很高时,一般都随处理器阻塞,但产生处
6、理器阻塞时,Processor%Process Time 计数器的值并不一定很大,此时就必须查找处理器阻塞的原因。%DOC Time 是另一个需要关注的内容,该计数器越低越好。在多处理器系统中,如果这个值大于 50,并且 Processor%Precessor Time 非常高,加入一个网卡可能回提高性能。3、磁盘 I/O 分析方法(1)计算梅磁盘的 I/O 数梅磁盘的 I/O 数可用来与磁盘的 I/O 能力进行对比,如果经过计算得到的每磁盘 I/O 数超过了磁盘标称的 I/O 能力,则说明确实存在磁盘的性能瓶颈。每磁盘 I/O 计算方法RAID0 计算方法:(Reads +Writes)/N
7、umber of DisksRAID1 计算方法:(Reads +2*Writes)/2RAID5 计算方法:Reads +(4*Writes)/Number of Disks RAID0 计算方法:Reads +(2*Writes)/Number of Disks(2)与 ProcessorPrivileged Time 合并进行分析如果在 Physical Disk 计数器中,只有Disk Time 比较大,其他值都比较适中,硬盘可能会是瓶颈。若几个值都比较大,且数值持续超过 80,则可能是内存泄漏。(3)根据 Disk sec/Transfer 进行分析一般来说,定义该数值小于 15ms
8、 为 Excellent,介于 1530ms 之间为良好,30 60ms 之间为可以接受,超过 60ms 则需要考虑更换硬盘或是硬盘的RAID 方式了。4、进程分析方法(1)查看进程的Processor Time 值每个进程的Processor Time 反映进程所消耗的处理器时间。用不同进程所消耗的处理器时间进行对比,可以看出具体哪个进程在性能测试过程中消耗了最多的处理器时间,从而可以据此针对应用进行优化。(2)查看每个进程产生的页面失效可以用每个进程产生的页面失效(通过 PRCESSPAGE FAILURES/SEC 计数器获得)和系统页面失效( 可以通过 MEMORYPAGE FAILU
9、RES/SEC 计数器获得)的比值,来判断哪个进程产生了最多的页面失效,这个进程要么是需要大量内存的进程,要么是非常活跃的进程,可以对其进行重点分析。(3)了解进程的 Process/Private BytesProcess/Private Bytes 是指进程所分配的无法与其他进程共享的当前字节数量。该计数器主要用来判断进程在性能测试过程中有无内存泄漏。例如:对于一个 IIS 之上的 WEB 应用,我们可以重点监控 inetinfo 进程的 Private Bytes,如果在性能测试过程中,该进程的 Private Bytes 计数器值不断增加,或是性能测试停止后一段时间,该进程的 Priv
10、ate Bytes 仍然持续在高水平,则说明应用存在内存泄漏。注:在 UNIX/LINUX 系统中,对应的指标是 Resident Size5、网络分析方法Network InterfaceBytes Total/sec 为发送和接收字节的速率,可以通过该计数器值来判断网络链接速度是否是瓶颈,具体操作方法是用该计数器的值和目前网络的带宽进行比较。6、Exchange2000 服务器的磁盘 I/O 设计指导许多组织机构都使用了微软的 Exchange 2000 服务器,并且按照自己的要求重新进行了设计。而对于该类型的设计而言,磁盘的 I/O 设计占了整个设计的很大一部分,因此本文将从硬件的观点来
11、讨论一下如何进行 Exchange 的存储和 I/O 设计。 对于设计者而言,我们都非常关心到底选择使用什么标准的 RAID 来作为Exchange 的存储器。以我个人意见,我认为 RAID 0 不太好,因此选择 RAID 5或者 RAID1(或者是 0+1,在设计上看来,你可以把它看成与 RAID 1 一样)。我注意到,在早期版本的 Exchange 中,绝大多数的组织机构通常都使用 RAID 5 配置,然而在配置 Exchange 2000 时,设计者不约而同转向使用 RAID 1/0+1。这一趋势有可能与以下两方面因素有关:一是微软建议用户使用 RAID 1/0+1 而不是 RAID 5
12、;另一方面则是硬件提供商们更愿意提供 RAID 1/0+1。我个人也偏爱于使用 RAID 1/0+1。当你在像 Exchange 这样的应用程序上使用RAID 5 的时候,RAID 5 会导致大量的写操作的开销。系统设计人员经常得考虑由此而产生的使用 RAID 5 的影响,就是不断配置 RAID 5 磁盘阵列。然而,假如设计人员对 RAID 5 配置恰当,同时熟悉 I/O 应用程序需要和 RAID 5 的系统开销,那么 RAID 5 也是一个可行的解决方案。我在这里给你一个建议,在你决定使用哪种标准的 RAID 之前,好好阅读一下以下有关这方面的经验规则: blog.bitsCN.com 网管
13、博客等你来搏规则 1:每个 MAPI 用户每秒需要 5 个到 10 个的 I/O 操作。根据微软提供的信息和 Exchange 配置以及测试结果,这种情况非常典型。因此,在磁盘 I/O 能力上,一个有 1000 个用户的服务器需要每秒钟能够提供至少 1000 次I/O 操作。当然,每个 MAPI 用户的需求可能不一样,因而你也必须知道用户的一些需求信息。如果你使用其余的协议,例如 POP 或者 IMAP,你的实际负载在不同时间可能具有较大差别,这时你就需要重新进行负载量测试了。规则 2:RAID 有一定的写操作负担。根据你选择的 RAID,在存储设计时你必须考虑到系统开销这项因素。由于 RAI
14、D 0 不提供保护措施,因而没有系统开销。RAID 1/0+1 的系统开销为 1读+2写,这就意味着对于每项写操作任务,系统必须在磁盘阵列上完成两项物理 I/O 操作。RAID 5 的负担更重,它的系统开销为 1读+4写。 规则 3:一般情形下 Exchange 任意的 I/O 的读和写都是各占 50。对Exchange 服务器 而言,数据库 I/O 是最重要的 I/O 设计。我曾经见过有的Exchange 服务器处理数据的读/写比例划分为 40/60 或 60/40。但是在设计时,一般来说采用 50/50 的比例还是最为安全的。 规则 4:磁盘或者驱动器每秒钟应能够承受 100 次的任意 I
15、/O 操作。尽管这个估计相对来说是比较保守(一些磁盘能够管理每秒钟 120 次的 I/O 操作),但还是比较合适的。这个数字只适于任意 I/O 操作,大多数磁盘可以承受更多的连续 I/O 操作(连续 I/O 操作主要用于 Exchange 服务器的日志处理)。由于 Exchange 数据库的 I/O 是任意的,因此我们使用每块磁盘每秒钟 100 次I/O 操作这项准则。 应用这些规则的第一步是先要明白以下两点:一是在存储组 SG(Storage Group)方面你的服务器上的用户负载量,二是数据库水平。例如,如果你的服务器上有 1000 个用户,同时这些用户被分成两个 SG,这两个存储组分别用
16、专门的磁盘阵列存储用户的数据库(每个阵列 500 个用户)。这样,你就可以预测每个阵列每秒钟有 500 个 I/O 操作的峰值负载的情况。然后,考虑 RAID系统开销和应用程序需求方面的因素。将规则 3 和规则 4 应用到在一个阵列中有 500 个 MAPI 用户的例子上,你就可以计算出 RAID 1/0+1 的需要。例如,对于一个每秒钟具有 500 个 I/O 操作的 Exchange 服务器来说,由于磁盘子系统有 RAID 系统开销,因此磁盘阵列每秒钟必须能够提供 750 个 I/O 操作(750=250+2250)。对于 RAID 5,应该为每秒钟 1250 个 I/O 操作(1250=
17、250+4250)。然后决定阵列所需的驱动器的数目(见规则 4)。对于RAID 5,你需要 12 个或者 13 个磁盘驱动器(1250/100=12.5)。而对于 RAID 1/0+1,你只需要 7 个或者 8 个磁盘驱动器(750/100=7.5)。可见对于 RAID 5,你所需的额外开销是很明显的(大概为 40),因此我通常更喜欢 RAID 1/0+1,尽管表面上看来 RAID 5 是能够节省一大笔费用,但随后的成本是不菲的。另外,当你决定如何进行 Exchange 存储分配时,也应该考虑许多操作上的和费用上的因素。上述经验规则对我个人的工作帮助很大,我也希望当你设计 Exchange 服
18、务器时它们能够对你有所帮助。7、存储系统瓶颈分析存储网络系统由存储设备、网络设备和主机三个部分组成。存储设备是指该系统中采用的 NAS、ISCSI、FC-SAN 等磁盘阵列设备,网络设备是指 FC 交换机或以太网交换机,主机是指安装了以太网卡、FC HBA 卡,并安装了一定应用软件的主机设备。存储系统的瓶颈分析主要是看这三个部分中哪一种会首先达到其性能的最大值。存储成为整个系统的瓶颈是指存储设备的带宽达到最大值,或 IOPS 达到最大值,存储设备限制了系统性能的进一步提升,甚至影响了整个系统的正常运行。由于不同业务系统对存储的性能要求不同,一般小文件(小于 1MB)读写型的系统中对 IO 的要
19、求较高,大文件的读写型系统对存储设备带宽的要求比较高。不用应用模式下系统对存储设备的要求不同,瓶颈点出现的位置和特点也不一样。应用模式 1:小型网站系统,应用大多集中于远程用户对 WEB 页面访问,网站内部为 WEB 服务器和数据库之间的读写,应用系统对存储的压力非常小,差不多所有类型、所有档次的存储设备都可以作为核心存储,存储设备的带宽和 IOPS 很难会达到极限。在这样的系统中,与存储设备连接的网络设备一般都千兆以太网交换机,交换机本身的交换能力大多都是 10Gb,只有接入网部分的可用带宽较小,一般只有 100Mb/s 左右的接入带宽,因此接入网最有可能成为存储网络的瓶颈。应用模式 2:如
20、果该网站是一个大型的网络视频系统,支持大量用户在线进行视频节目播放和下载,这种类型的网站前端接入网一般都在 2Gb/s 以上。此时要分析瓶颈位置,首先要比较接入网带宽和存储带宽,同时还要比较在线用户的最大 IO 访问量和存储设备的 IOPS 值。一般来讲,由于 NAS 设备的带宽和 IOPS 相对较小,因此 NAS 比 ISCSI 和 FC-SAN 设备更容易成为系统的瓶颈,而 ISCSI 和 FC-SAN 较难成为瓶颈。如果存储设备采用 NAS,则存储系统成为瓶颈的机率大于接入网,如果存储设备采用 FC-SAN,则存储系统成为瓶颈的机率小于接入网。瓶颈还经常会出现在负责节目播放和下载功能的视
21、频服务器处。如果视频服务器配置的数量不足,或视频服务器之间无法正常地实现自动地网络负载均衡,那么整个系统的性能压力瓶颈就会出现在视频服务器,使用整个视频网站无法给远程用户提供流畅的节目画面。应用模式 3:数据库系统,数据库系统的存储应用一般都表现为大量的 IO访问,对带宽要求较低。如果存储设备的 IOPS 较小时,会降低数据库的检索和查寻速度,从来影响整个业务的效率。因此建议数据库系统采用 IOPS(可按业务规模、工作站数量、每秒的读写访问次数和估算)比较大的 FC-SAN 设备,不建议采用 IOPS 相对较小的 NAS 或 ISCSI 设备。大型数据库存储最好能采用15000RPM 的高速
22、FC 磁盘,这样才能将数据库服务器成为整个系统的压力瓶颈。由于 SATA 硬盘在随机 IO 读写时的性能不佳,因此存储设备不建议采用 SATA磁盘,否则存储设备极有可能数据库系统的 IOPS 瓶颈。应用模式 4:非线性编辑制作系统。在非线性编辑制作网络中,所有工作站共享式地访问核心存储系统,每台工作站同时以 50-200Mb/S 的恒定码率访问存储设备。业务系统对带宽的压力非常,而 IOPS 压力较小。存储设备的总可用带宽越大,存储设备就能支持更多数量的编辑制作工作站,网络的规模就越大,网络系统所能承担的业务就越重要。因此编辑制作网的存储一般都会选择主机端口多、特别是磁盘端口多、带宽大的 FC-SAN 设备。存储设备内部设计时,一般会通过增加磁盘数量、增加扩展柜数量、跨扩展柜创建 RAID 组、增加主机通道数量等方式最大限度地利用存储控制器前端和后端的总可用带宽,使得磁盘、磁盘通道、主机通道等的总带宽大于控制器的总带宽,这样在工作站访问时存储设备时,才能最大地发挥出控制器的带宽性能。带宽瓶颈在控制器部位才能说明是最好的存储系统设计方案。