当前位置:文档之家› LoadRunner负载测试之Windows常见性能计数器,分析服务器性能瓶颈

LoadRunner负载测试之Windows常见性能计数器,分析服务器性能瓶颈

LoadRunner负载测试之Windows常见性能计数器,分析服务器性能瓶颈
LoadRunner负载测试之Windows常见性能计数器,分析服务器性能瓶颈

LoadRunner监视的性能计数器

今天,我先把我整理的一些计数器及其阈值要求等贴出来,这些计数器是针对我对windows操作系统,C/S结构的sql

server数据库及WEB平台.net产品测试时的一些计数器;大家可以继续补充,作过unix平台上oracle数据库测试及J2EE架构及WEBLOGIC方面测试的朋友,也希望把自己使用的计数器贴出来,让大家分享。

好了,先说这些了,希望通过这个专题,最终能让大家对自己的测试结果进行分析。

Mem ory:

内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从

RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页交换使Windows 2000

能够使用比实际更多的内存,也是可以接受的,但频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度。要监视内存不足的状况,请从以下的对象计数器开始:

Available Mbytes:可用物理内存数. 如果Available Mbytes的值很小(4 MB

或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

page/sec:

表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。一般如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。

page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阈值为>5.

越低越好。大数值表示磁盘读而不是缓存读。

由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器:

Physical Disk\\ % Disk Tim e

Physical Disk\\ Avg.Disk Queue Length

例如,包括Page Reads/sec 和% Disk Time 及Avg.Disk Queue Length。如果页面读取操作速率很低,同时

% Disk Tim e 和Avg.Disk Queue

Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。

要确定过多的页交换对磁盘活动的影响,请将Physical Disk\\ Avg.Disk sec/Transfer 和

Mem ory\\

Pages/sec 计数器的值增大数倍。如果这些计数器的计数结果超过了

0.1,那么页交换将花费百分之十以上的磁盘访问时间。如果长时间发生这种情况,那么您可能需要更多的内存。

Page

Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用。

Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0

运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化

如果您怀疑有内存泄露,请监视Memory\\ Available Bytes 和Mem ory\\ Committed

Bytes,以观察内存行为,并监视您认为可能在泄露内存的进程的Process\\Private Bytes、Process\\Working

Set 和Process\\Handle Count。如果您怀疑是内核模式进程导致了泄露,则还应该监视

Mem ory\\Pool Nonpaged

Bytes、Mem ory\\ Pool Nonpaged Allocs 和Process(process_nam e)\\ Pool

Nonpaged Bytes。

Pages per second :每秒钟检索的页数。该数字应少于每秒一页。

Process:

%Processor Tim e: 被处理器消耗的处理器时间数量。如果服务器专用于sql server,可接受的最大上限是80-85%

Page Faults/sec:将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响。

Work set:

处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。

Inetinfo:Private

Bytes:此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。

Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助您决定是否存在瓶颈。

%Processor Tim e:如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。

%User Tim e:表示耗费CPU的数据库操作,如排序,执行aggregate

functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。

%Privileged Tim e:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"Physical

Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max

lazy writer IO"等措施都会降低该值。

此外,跟踪计算机的服务器工作队列当前长度的Server Work Queues\\ Queue Length

计数器会显示出处理器瓶颈。队列长度持续大于4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。

% DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Tim e非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。

Thread

ContextSwitches/sec: (实例化inetinfo 和dllhost 进程)

如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。

Physical Disk:

%Disk Tim e %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计

数器都比较大,那么硬盘不是瓶颈。如果只

%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000

的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。

Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2

倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。

Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数。

Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。

Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间。

Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间。

Network Interface:

Bytes Total/sec :为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较

SQLServer性能计数器:

Access Methods(访问方法) 用于监视访问数据库中的逻辑页的方法。

Full Scans/sec(全表扫描/秒)

每秒不受限的完全扫描数。可以是基本表扫描或全索引扫描。如果这个计数器显示的值比1或2高,应该分析你的查询以确定是否确实需要全表扫描,以及S Q

L查询是否可以被优化。

Page splits/sec(页分割/秒)由于数据更新操作引起的每秒页分割的数量。

Buffer Manager(缓冲器管理器):监视Microsoft® SQL Server? 如何使用:

内存存储数据页、内部数据结构和过程高速缓存;计数器在SQL Server 从磁盘读取数据库页和将数据库页写入磁盘时监视物理I/O。监视SQL

Server 所使用的内存和计数器有助于确定:是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server

必须从磁盘检索数据。是否可通过添加更多内存或使更多内存可用于数据高速缓存或SQL Server 内部结构来提高查询性能。

SQL Server 需要从磁盘读取数据的频率。与其它操作相比,例如内存访问,物理I/O 会耗费大量时间。尽可能减少物理I/O

可以提高查询性能。

.Page Reads/sec:每秒发出的物理数据库页读取数。这一统计信息显示的是在所有数据库间的物理页读取总数。由于物理I/O

的开销大,可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,使开销减到最小。

.Page Writes/sec (.写的页/秒) 每秒执行的物理数据库写的页数。

.Buffer Cache Hit Ratio. 在“缓冲池”(Buffer Cache/Buffer

Pool)中没有被读过的页占整个缓冲池中所有页的比率。可在高速缓存中找到而不需要从磁盘中读取的页的百分比。这一比率是高速缓存命中总数除以自SQL

Server

实例启动后对高速缓存的查找总数。经过很长时间后,这一比率的变化很小。由于从高速缓存中读数据比从磁盘中读数据的开销要小得多,一般希望这一数值高一些。通常,可以通过增加SQL Server 可用的内存数量来提高高速缓存命中率。计数器值依应用程序而定,但比率最好为90%

或更高。增加内存直到这一数值持续高于90%,表示90% 以上的数据请求可以从数据缓冲区中获得所需数据。

Lazy Writes/sec(惰性写/秒)惰性写进程每秒写的缓冲区的数量。值最好为0。

Cache Manager(高速缓存管理器) 对象提供计数器,用于监视Microsoft® SQL Server?

如何使用内存存储对象,如存储过程、特殊和准备好的Transact-SQL 语句以及触发器。

Cache Hit Ratio(高速缓存命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log

Cache,Buffer Cache以及Procedure Cache,是一个总体的比率。) 高速缓存命中次数和查找次数的比率。对于查看SQL

Server高速缓存对于你的系统如何有效,这是一个非常好的计数器。如果这个值很低,持续低于80%,就需要增加更多的内存。

Latches(闩) 用于监视称为闩锁的内部SQL Server 资源锁。监视闩锁以明确用户活动和资源使用情况,有助于查明性能瓶颈。

Average Latch Wait Ti m e ( m s ) (平均闩等待时间(毫秒)) 一个SQL

Server线程必须等待一个闩的平均时间,以毫秒为单位。如果这个值很高,你可能正经历严重的竞争问题。

Latch Waits/sec (闩等待/秒) 在闩上每秒的等待数量。如果这个值很高,表明你正经历对资源的大量竞争。

Locks(锁) 提供有关个别资源类型上的SQL Server 锁的信息。锁加在SQL Server

资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。例如,如果一个排它(X)

锁被一个事务加在某一表的某一行上,在这个锁被释放前,其它事务都不可以修改这一行。尽可能少使用锁可提高并发性,从而改善性能。可以同时监视Locks

对象的多个实例,每个实例代表一个资源类型上的一个锁。

Number of Deadlocks/sec(死锁的数量/秒) 导致死锁的锁请求的数量

Average Wait Tim e(ms) (平均等待时间(毫秒)) 线程等待某种类型的锁的平均等待时间

Lock Requests/sec(锁请求/秒) 每秒钟某种类型的锁请求的数量。

Mem ory manager:用于监视总体的服务器内存使用情况,以估计用户活动和资源使用,有助于查明性能瓶颈。监视SQL Server

实例所使用的内存有助于确定:

是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。

是否可以通过添加更多内存或使更多内存可用于数据高速缓存或SQL Server 内部结构来提高查询性能。

Lock blocks:服务器上锁定块的数量,锁是在页、行或者表这样的资源上。不希望看到一个增长的值。

Total server m emory:sql server服务器当前正在使用的动态内存总量.

监视IIS需要的一些计数器

Internet Information Services Global:

File Cache Hits %、File CacheFlushes、File Cache Hits

File Cache Hits %是全部缓存请求中缓存命中次数所占的比例,反映了IIS

的文件缓存设置的工作情况。对于一个大部分是静态网页组成的网站,该值应该保持在80%左右。而File Cache

Hits是文件缓存命中的具体值,File CacheFlushes

是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过比较File

Cache Hits 和File Cache Flushes

可得出缓存命中率对缓存清空率的比率。通过观察它两个的值,可以得到一个适当的刷新值(参考IIS 的设置ObjectTTL 、Mem CacheSize

、MaxCacheFileSize)

Web Service:

Bytes Total/sec:显示Web服务器发送和接受的总字节数。低数值表明该IIS正在以较低的速度进行数据传输。

Connection Refused:数值越低越好。高数值表明网络适配器或处理器存在瓶颈。

Not Found Errors:显示由于被请求文件无法找到而无法由服务器满足的请求数(HTTP状态代码404)

Loadrunner性能测试一个实例

随着测试越来越重要,其中的性能测试也受到越来越多的关注。比较普遍的性能测试工具是Loadrunner7.51,但是很多人对此性能工具不是很熟悉。本人也是总结心得体会,将做过的性能测试实例以饷大家,希望对各位做测试的朋友有所帮助。

该方案是针对某公司试题库的性能测试。该试题库是用来对公司内部员工培训结果的一个考核。试题库在公司内部web服务器上,假设开设50个账号和密码可供50个考生同时参加考试。要求,每台机器只能由一个用户使用,每个用户只能使用各自不同的账号登录考试系统,做完题目后,要求提交考试结果,若在制定的时间内不提交,则系统强制提交考试结果。

但是,一般测试部门不可能有50台机器同时进行测试的。所以,可以借Loadrunner7.51模拟IP 地址,修改脚本来协助测试。但是,为了保证测试结果,建议搜罗公司中所有可用的机器进行复测,因为有时候是不可以完全信赖工具的。

现场测试环境

硬件:50台PC机,Web服务器

软件:Loadrunner7.0,Win2000,IE5.0和IE6.0

人员:质控部2人,执行现场测试

项目部22人,提供现场环境

技术部各1人,提供技术支持

测试要求

50个用户拥有独立IP地址,不同的用户及密码登录,试题完成后各自同时提交。

测试内容

50个用户以不同的用户名和密码登录试题库。试题完成后,提交考试结果。测试考试结果是否能正常提交以及正确评分。

测试方案

1、完全20台实际的PC机进行现场测试。

(1)

准备工作,并做计划。第一轮测试执行三遍,设定用户考试内容全部同时提交,第一遍全部使用IE5.0,第二遍10台使用IE5.0,10台使用IE6.0,第三遍全部使用IE6.0

(2)At 9:00 ,20个用户同时登录系统

(3)At 9:05 ,20个用户同时全部提交

(4)分别记录第一轮测试(三遍)的结果

(5)第二轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,全部使用IE5.0

(6)At 9:15 ,20个用户同时登录系统

(7)At 9:20 ,15个用户同时提交

(8)At 9:25 ,剩余5个用户同时提交

(9)记录第二轮测试结果

(10)第三轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,全部使用IE6.0

(11)At 9:15 ,20个用户同时登录系统

(12)At 9:20 ,15个用户同时提交

(13)At 9:25 ,剩余5个用户同时提交

(14)记录第三轮测试结果

(15)第四轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,正常提交用户使用IE5.0,延时提交用户使用IE6.0

(16)At 9:15 ,20个用户同时登录系统

(17)At 9:20 ,15个用户同时提交

(18)At 9:25 ,剩余5个用户同时提交

(19)记录第四轮测试结果

(20)第五轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,正常提交用户使用IE6.0,延时提交用户使用IE5.0

(21)At 9:15 ,20个用户同时登录系统

(22)At 9:20 ,15个用户同时提交

(23)At 9:25 ,剩余5个用户同时提交

(24)记录第五轮测试结果

(25)

第六轮测试准备工作,设定15个用户考试内容同时提交,另外5个用户延时5分钟提交,正常提交用户其中10个使用IE5.0,5个使用IE6.0,延时提交用户使用IE5.0

(26)At 9:15 ,20个用户同时登录系统

(27)At 9:20 ,15个用户同时提交

(28)At 9:25 ,剩余5个用户同时提交

(29)记录第六轮测试结果

(30)第七轮测试准备工作,设定10个用户考试内容同时提交,另外10个用户分两次分别延时5分钟、15提交

(31)At 9:35 ,20个用户同时登录系统

(32)At 9:40 ,10个用户同时提交

(33)At 9:45 ,剩余的其中5个用户同时提交

(34)At 9:55 ,剩余的5个用户同时提交

(35)记录第七轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试

(36)第八轮测试准备工作,设定其中10个用户不提交,由系统强行提交

(37)At 10:10 ,20个用户同时登录系统

(38)At 10:15 ,10个用户同时提交

(39)其余用户的内容由系统强行提交

(40)记录第八轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进

行测试

(41)第九轮测试准备工作,设定其中10个用户同时提交,5个用户延时5分钟提交,其余用户由系统强行提交

(42)At 10:25 ,20个用户同时登录系统

(43)At 10:30 ,10个用户同时提交

(44)At 10:35 ,剩余的其中5个用户同时提交

(45)剩余5个用户系统强制提交

(46)记录第九轮测试结果,参见第二轮测试-第六轮测试过程分别对IE5.0和IE6.0的情况进行测试

2、模拟20个用户进行测试。其中,10台是PC机,另外10台机器的IP地址是Loadrunner模拟出来的。

(1)

在10台实际的PC机中抽取其中一台虚拟10个IP地址,包括自身的IP地址,该机器上共11个IP地址,这11个IP地址只能全部使用IE5.0或者全部使用IE6.0

(2)其余9台实际的PC机分别由9个人操作,另外一台机器由一位质控部人员操作

(3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

(4)其余过程参见1

3、模拟20个用户进行测试。其中,5台是PC机,另外15台机器的IP地址是用Loadrunner 模拟出来的。

(1)

在5台实际的PC机中抽取其中一台虚拟15个IP地址,包括自身的IP地址,该机器上共16个IP 地址,这16个IP地址只能全部使用IE5.0或者全部使用IE6.0

(2)其余4台实际的PC机分别由4个人操作,另外一台机器由一位质控部人员操作

(3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

(4)其余过程参见1

4、模拟35个用户进行测试。其中,20台是PC机,另外15台机器的IP地址是用Loadrunner 模拟出来的。

(1)在20台实际的PC机中抽取其中两台分别虚拟7个、8个IP地址,这17个IP地址只能全部使用IE5.0或者全部使用IE6.0

(2)其余18台实际的PC机分别由18个人操作,另外两台机器由两位质控部人员操作

(3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

(4)其余过程参见1

5、模拟50台用户进行测试。其中,20台是PC机,另外30台机器的IP地址是用分别用两台实际的PC机模拟出来的。记录测试结果。

(1)在20台实际的PC机中抽取其中两台分别虚拟15个IP地址,这32个IP地址只能全部使用IE5.0或者全部使用IE6.0

(2)其余18台实际的PC机分别由18个人操作,另外两台机器由两位质控部人员操作

(3)对于异常情况,延时提交和强制提交全部由实际的机器来模拟

(4)其余过程参见1

6、对5中所述情况重复测试两次。

7、为了保证结果的正确性,完全50台实际的PC机进行现场测试。过程参见1

测试过程

注:该测试过程针对虚拟IP地址情况。

1、一台PC机上创建15个虚拟的IP地址。首先,启动IP Wizard,如下:开始程序->Loadrunner

->Tools->IP Wizard

点击“Add”,添加你计划虚拟的IP地址。但是注意不能添加已经被占用的IP地址。

2、启动Virtual User

Generator,并录制脚本,由于50个用户的账号和密码各不相同,所以,要修改脚本,设置参数。我是录制了一个脚本,复制了49份,在每个脚本中手工修改了各自不同的地方。

3、启动Loadrunner Controller,先将刚才保存的脚本添加进来。然后点击“Scenario”菜单,激活其中的“Enable IP

Spoofer”。

4、点击屏幕右方的“Generators”,添加已经建立的IP,然后connect建立连接。

5、对连接起来的不同用户(IP地址)分配不同的脚本,在Controller中的“design”中,点击“Load

Gener ators”其中,每个脚本有一个用户执行。

6、执行Scenario。

Loadrunner中参数的设置

在做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC机上),最后生成相关的报告以及分析图。但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这就牵涉到参数的设置问题。本文就Loadrunner中参数的设置进行说明,希望对大家有所帮助。

录制程序运行的过程中,VuGen(脚本生成器)

自动生成了包含录制过程中实际用到的数值的脚本。如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。这个过程称为参数化脚本。

本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。

除了GUI,以下的内容适合于各种类型的用户脚本。

一、关于参数的定义

在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。函数中参数的值就是在录制过程中输入的实际值。

例如,你录制了一个Web应用程序的脚本。脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。

当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。那么,你就可以用参数来取代这个常量。

结果就是你可以用指定的数据源的数值来取代参数值。数据源可以是一个文件,也可以是内部产生的变量。

用参数表示用户的脚本有两个优点:

①可以使脚本的长度变短。

可以使用不同的数值来测试你的脚本。例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。

参数化包含以下两项任务:

①在脚本中用参数取代常量值。

②设置参数的属性以及数据源。

参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。

另外,不是所有的函数都可以参数化的。

二、参数的创建

可以指定名称和类型来创建参数。不存在对脚本中参数个数的限制。

在Web程序的用户脚本中,你可以使用如下过程在基于文本的脚本视图中创建参数。或者,也可以在基于图标的树形视图中创建参数。

要创建一个参数:

1、将光标定位在要参数化的字符上,点击右键。打开弹出菜单。

2、在弹出菜单中,选择“Replace with a Param eter”。选择或者创建参数的对话框弹出。

3、在“Parameter name”中输入参数的名称,或者选择一个在参数列表中已经存在的参数。

4、在“Parameter type”下拉列表中选择参数类型。

5、点击“OK”,关闭该对话框。脚本生成器便会用参数中的值来取代脚本中被参数化的字符,参数用一对“{}”括住。

注意:在参数化CORBA或者General-Java 用户脚本的时候,必须参数化整个字符串,而不是其中的部分。

另外注意:除了Web或者WAP,缺省的参数括号对于任何脚本都是“{}”。你可以在“General Options”对话框中的“Parameterization”标签(Tools>General Options)中定义参数括号种类。

6、用同样的参数替换字符的其余情况,选中参数,点击右键,弹出菜单。从弹出的菜单中,选择“Replace More

Occurrences”。搜索和替换对话框弹出。

“Find What”中显示了你企图替换的值。“Replace With”中显示了括号中参数的名称。

选择适当的检验框来匹配整个字符或者大小写。如果要搜索规则的表达式(.,!,?等等),选中“Regular Expression”检验框,然后点击“Replace”或者“Replace All”。

注意:小心使用“Replace All”,尤其替换数字字符串的时候。脚本生成器将会替换字符出现的所有情况。

7、如果想用以前定义过的参数来替换常量字符串的话,选中该字符串,点击右键,然后选择“Use Existing Parameter”,子菜单“Use

Existing Parameters”弹出。

从子菜单“Use Existing Parameters”选择参数,或者用“Select from Parameter

List”来打开参数列表对话框。

注意:如果用以前定义过的参数来替换常量字符串的话,那么,使用“Parameter List”非常方便。同时,还可以查看和修改该参数的属性。

8、对于已经用参数替换过的地方,如果想取回原来的值,那么,就在参数上点击右键,然后选择“Restore Original Value”。

在Web用户脚本的树形视图中创建参数

在Web用户脚本的树形视图中创建一个参数的步骤

1、将光标定位在企图参数化的地方,点击右键,从弹出的菜单中选择“Properties”。则相关的属性对话框打开。

2、点击在要参数化的参量的旁边的“ABC”形状的图标。“Select or Create Param eter”对话框打开。

3、在“Parameter name”中输入参数的名称,或者从列表中选择一个已经存在的参数。

4、在“Parameter type”中输入参数的类型。

5、点击“OK”关闭该对话框。用户脚本生成器会用参数来替换最初的字符串常量,并用一个表格形状的图标替换“ABC”形状的图标。

6、要恢复参数化以前的值,点击图标,然后从弹出的菜单中选择“Undo Parameter”,则以前的值

便会重现。

三、定义参数的属性

创建参数完成后,就可以定义其属性了。参数的属性定义就是定义在脚本执行过程中,参数使用的数据源。

在Web用户脚本中,你既可以在基于文本的脚本视图中定义参数属性,也可以在基于图标的树形视图中定义参数属性。下面的过程将教你如何在基于本文的脚本视图中定义参数属性。

定义参数属性步骤:

1、在参数上点击右键,有菜单弹出。

2、在弹出的菜单中,选择“Parameter Properties”。参数属性对话框打开,显示和当前参数类型相关的属性。

3、输入参数的属性值。

4、点击“Close”关闭参数属性对话框。

在Web用户脚本的树形视图中定义参数的属性

1、将关标定位在参数上,然后点击右键,选择“Properties”。属性对话框打开。

2、点击要定义属性的参数旁边的表格形状按钮,点击右键,选择“Parameter

Properties”。参数属性对话框打开,和参数类型相关的属性显示出来。

3、输入参数的属性。

4、点击“Close”关闭参数属性对话框。

使用参数列表

使用参数列表可以在任意时刻查看所有的参数,创建新的参数、删除参数,或者修改已经存在参数的属性。

要使用参数列表:

1、点击参数列表按钮或者用“Vuser>Parameter List”。参数列表对话框打开。

2、要创建新的参数,点击“New”按钮。新的参数则被添加在参数树中,该参数有一个临时的名字,你可以给它重新命名,然后回车。

注意:不要将一个参数命名为“unique”,因为这个名称是用户脚本生成器本身的。

设置参数的类型和属性,点击“OK”,关闭参数列表对话框。

注意:用户脚本生成器创建新的参数,但是不会自动用该参数在脚本中替换任意选中的字符串。

3、要删除已有的参数,那么,要先从参数树中选择该参数,点击“Delete”,然后确认你的行为即可。

4、要修改已有参数,那么,要先从参数树中选择该参数,然后编辑参数的类型和属性。

四、理解参数的类型

在你定义参数属性的时候,要指定参数值的数据源。你可以指定下列数据源类型的任何一种:

Internal Data 虚拟用户内部产生的数据。

Data Files 存在于文件中的数据。可能是已存在的文件或者是用脚本生成器新创建的。

User-Defined Functions 调用外部DLL函数生成的数据

Internal Data包括以下几种:

1. Date/Tim e

Date/Tim e用当前的日期/时间替换参数。要指定一个Date/Tim e格式,你可以从菜单列表中选择格式,或者指定你自己的格式。这个格式应该和你脚本中录制的Date/Time格式保持一致。

2. Group Name

Group Name

用虚拟用户组名称替换参数。在创建scenario的时候,你可以指定虚拟用户组的名称。当从用户脚本生成器运行脚本的时候,虚拟用户组名称总是None。

3. Load Generator Name

Load Generator Name用脚本负载生成器的名称替换参数。负载生成器是虚拟用户在运行的计算机。

4. Iteration Number

Iteration Number用当前的迭代数目替换参数。

5. Random Number

Random Number用一个随机数替换参数。通过指定最大值和最小值来设置随机数的范围。

6. Unique Number

Unique Number用一个唯一的数字来替换参数。你可以指定一个起始数字和一个块的大小。

7. Vuser ID

Vuser

ID用分配给虚拟用户的ID替换参数,ID是由Loadrunner的控制器在scenario运行时生成的。如果你从脚本生成器运行脚本的话,虚拟用户的ID总是-1。

五、数据文件

数据文件包含着脚本执行过程中虚拟用户访问的数据。局部和全局文件中都可以存储数据。可以指定现有的ASCII文件、用脚本生成器创建一个新的文件或者引入一个数据库。在参数有很多已知值的时候数据文件非常有用。

数据文件中的数据是以表的形式存储的。一个文件中可以包含很多参数值。每一列包含一个参数的数据。列之间用分隔符隔开,比如说,用逗号。

对数据文件设置参数属性

如果使用文件作为参数的数据源,必须指定以下内容:

1. 文件的名称和位置

2. 包含数据的列

3. 文件格式,包括列的分隔符

4. 更新方法

如果参数的类型是“File”,打开参数属性(Parameter Properties)对话框,设置文件属性如下:

1. 在“File

path”中输入文件的位置,或者点击“Browse”指定一个已有文件的位置。缺省情况下,所有新的数据文件名都是“parameter_name.dat”,注意,已有的数据文件的后缀必须是.dat。

2.

点击“Edit”。记事本打开,里面第一行是参数的名称,第二行是参数的初始值。使用诸如逗号之类的分隔符将列隔开。对于每一新的表行开始一行新的数据。

注意:在没有启动记事本的情况下如果想添加列,就在参数属性对话框中点击“Add Col”,那么“Add new

column”对话框就会弹出。输入新列的名称,点击“OK”。脚本生成器就会添加该列到表中,并显示该列的初始值。

3. 在“Select

Column”部分,指明包含当前参数数据的列。你可以指定列名或者列号。列号是包含你所需要数据的列的索引。列名显示在每列的第一行(row 0)。

4. 在“Column delimiter”中输入列分隔符,你可以指定逗号、空格符等等。

5. 在“First data line”中,在脚本执行的时候选择第一行数据使用。列标题是第0行。若从列标题后面的第一行开始的话,那就在“First

data line”中输入1。如果没有列标题,就输入0。

6. 在“Select next

row”中输入更新方法,以说明虚拟用户在脚本执行的过程中如何选择表中的数据。方法可以是:连续的、随机的、唯一的、或者与其它参数表的相同行。

7. 选中“Advance row each iteration”表示虚拟用户在每次迭代都使用新的一行数据而不是所有的迭代都使用相同的数据。

从文件中更新参数值

若使用文件中的数值,脚本生成器会要求你指定给参数分配数值给的方法。可用的方法有:

1. 顺序(Sequential):该方法顺序地给虚拟用户分配参数值。如果正在运行的虚拟用户访问数据表的时候,它会取到下一行中可用的数据。

2. 随机(Random):该方法在每次迭代的时候会从数据表中取随机数

3. 使用种子取随机顺序(Use Random Sequence with

Seed):如果从Loadrunner的控制器来运行scenario,你可以指定一个种子数值用于随机顺序。每一个种子数值在测试执行的时候代表了一个随机数的顺序。无论你何时使用这个种子数值,在scenario 中同样的数据顺序就被分配给虚拟用户。如果在测试执行的时候发现了一个问题并且企图使用同样的随机数序列来重复测试,那么,你就可以启动这个功能(可选项)。

4. 唯一(Unique):Unique方法分配一个唯一的有顺序的值给每个虚拟用户的参数。

5. 与以前定义的参数取同一行(Same Line As

):该方法从和以前定义过的参数中的同样的一行分配数据。你必须指定包含有该数据的列。在下拉列表中会出现定义过的所有参数列表。注意:至少其中的一个参数必须是Sequential、Rando m或者Unique。

如果数据表中有三列,三个参数定义在列表中:id1,nam e1和title1,如下:。

ID Name Title

132 Kim Manager

187 Cassie Engineer

189 Jane VP

对于参数id1,你可以指示虚拟用户使用Random方法,而为参数name1和title1就可以指定方法“Same Line as

id1”。所以,一旦ID“132”被使用,那么,姓名(Name)“Kim”和职位(Title)“Manager”同时被使用。

六、从已存在的数据库中导入数据

Loadrunner允许你利用参数化从已经存在的数据库中导入数据。可以使用下列两种方式之一:

1. 使用Microsoft Query(要求在系统上先安装MS Query)。

2. 指定数据库连接字符串和SQL语句。

用户脚本生成器在从数据库中导入数据的过程中提供了一个向导。在向导中,你指明如何导入数据-通过MS

Query创建查询语句或者直接书写SQL语句。在导入数据以后,以.dat为后缀并作为正规的参数文件保存。

要开始导入数据库中数据的过程,在参数属性对话框中点击“Data Wizard”,则,数据库查询向导弹出。

要创建新的查询

1. 选择“Create new query”。如果需要MS Query的帮助,选择“Show m e how to use Mi crosoft

Query”,然后点击“Finish”。

如果你还没有安装Microsoft Query,Loadrunner会提示你这个功能不可用。在进行之前,从Microsoft Office中安装MS

Query。

2. 在Microsoft Query中遵循以下步骤,导入期望的表和列。

3. 在完成数据的导入后,选择“Exit and return to Virtual User

Generator”,然后点击“Finish”。在参数属性对话框中数据库记录以data文件的形式显示出来。

要在MS Query中编辑并查看数据,选择“View data or edit in Microsoft

Query”。若要结束,则选择“File>Exit and return to Virtual User Generator”返回到脚本生成器。

4. 在“Select Column”部分,指定包含当前参数数据的列可以指定列号或者列名。注意:列标题默认为第0行(row 0)。

5. 从“Select next

row”列表中选择一个更新方法来告诉虚拟用户在脚本指定的过程中如何选择表中的数据。可选项是:Sequential、Random、Unique或者Same

Line As。其中每一项的含义文章前面已经讲述,就不再赘述。

6. 如果选择“Advance row each iteration”,虚拟用户在每次迭代的时候会使用新的一行的数据而不是重复同样的数据。

要指定数据库连接或者SQL语句

1. 选择“Specify SQL Statem ent”,然后点击“Next”。

2. 点击“Create”指定一个新的连接字符串。选择数据源的窗口弹出。

3.

选择已有的数据源,或者点击“New”创建一个新的数据源。向导将提示你穿过创建ODBC数据源的过程。在完成后,连接字符串就会在连接字符串框中显示出来。

4. 在SQL框中,输入或者粘贴SQL语句。

5. 点击“Finish”继续SQL语句并导入数据。数据库记录将以data文件的形式显示在参数属性框中。

6. 在“Select Column”部分中,指定包含当前参数数据的列。你可以指定列号或者列名。

7. 从“Select next

row”列表中选择一个更新方法来告诉虚拟用户在脚本指定的过程中如何选择表中的数据。可选项是:Sequential、Random、Unique或者Same

Line As。

8. 如果选择“Advance row each iteration”,虚拟用户在每次迭代的时候会使用新的一行的数据而不是重复同样的数据。

LoadRunner负载测试之Windows常见性能计数器,分析服务器性能瓶颈

监测对象

? System(系统)

l %Total Processor Time

系统中所有处理器都处于繁忙状态的时间百分比,对于多处理器系统来说,该值可以反映所有处理器的平均繁忙状态,该值为100%,如果有一半的处理器为繁忙状态,该值为50%服务器。器消耗的处理器时间数量.如果服务器专用于sql server可接受的最大上限是80% -85 %.也就是常见的CPU 使用率.

l File Data Operations/sec

计算机对文件系统进行读取和写入操作的频率,但是不包括文件控制操作

l Process Queue Length

线程在等待分配CPU资源所排队列的长度,此长度不包括正在占有CPU资源的线程。如果该队列的长度大于处理器个数+1,就表示处理器有可能处于阻塞状态(参考值:<=处理器个数+1)

? Processor(处理器)

l %Processor Time

CPU利用率,该计数器最为常用,可以查看处理器是否处于饱和状态,如果该值持续超过95%,就表示当前系统的瓶颈为CPU,可以考虑增加一个处理器或更换一个性能更好的处理器。(参考值:<80%)

l %Priviliaged Time

CPU在特权模式下处理线程所花的时间百分比。一般的系统服务,进城管理,内存管理等一些由操作系统自行启动的进程属于这类

l %User Time

与%Privileged Tim e计数器正好相反,指的是在用户状态模式下(即非特权模式)的操作所花的时间百分比。如果该值较大,可以考虑是否通过算法优化等方法降低这个值。如果该服务器是数据库服务器,导致此值较大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。

l %DPC Time

处理器在网络处理上消耗的时间,该值越低越好。越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。

? Memory(内存)

l Page Faults/sec

当处理器在内存中读取某一页出现错误时,就会产生缺页中断,也就是page Fault。如果这个页位于内存的其他位置,这种错误称为软错误,用Transition Fault/sec 来衡量;如果这个页位于硬盘上,必须从硬盘重新读取,这个错误成为硬错误。硬错误会使系统的运行效率很快将下来。Page Faults/sec这个计数器就表示每秒钟处理的错误页数,包括硬错误和软错误。

l Page Input/sec

表示为了解决硬错误而写入硬盘的页数(参考值:>=Page Reads/sec)

l Page Reads/sec

表示为了解决硬错误而从硬盘上读取的页数。

l Page/sec

表示为了解决硬错误而从硬盘上读取或写入硬盘的页数(参考值:00~20)

l Pages per second:

每秒钟检索的页数。该数字应少于每秒一页Working set:理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。

l A vailable Mbytes

剩余的可用物理内存,单位是兆字节(参考值:>=10%)用物理内存数. 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

l Cathe Bytes

文件系统的缓存(默认为50%的可用物理内存)

? Process(进程)

l private Bytes

进程无法与其他进程共享的字节数量。该计数器的值较大时,有可能是内存泄露的信号

l Work set

最近处理线程使用的内存页

? PhysicalDisk(磁盘)

l %Disk Time

表示磁盘驱动器为读取或写入请求提供服务所用的时间百分比,如果只有%Disk Tim e比较大,硬盘有可能是瓶颈。指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Tim e比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。应当总小于90%

l A verage Disk Queue Length

表示磁盘读取和写入请求提供服务所用的时间百分比,可以通过增加磁盘构造磁盘阵列来提高性能(<=磁盘数的2倍)读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。不应当超过物理磁盘数量的2倍,正常值<0.5

l A verage Disk Read Queue Length

表示磁盘读取请求的平均数

l A verage Disk write Queue Length

表示磁盘写入请求的平均数

l A verage Disk sec/Read

磁盘中读取数据的平均时间,单位是秒

l A verage Disk sec/Transer

磁盘中写入数据的平均时间,单位是秒,一般来说,定义该值小于15ms最为优异,介于15-30ms之间为良好,30-60ms之间为可以接受,超过60ms则需要考虑更换硬盘或硬盘的RAID方式了

l %Disk reads/sec(physicaldisk_total):

每秒读硬盘字节数. 该指标应总小于磁盘I/O子系统的容量

l %Disk write/sec(physicaldisk_total):

每秒写硬盘字节数. 该指标应当总小于硬盘I/O子系统的容量

l Disk Bytes/sec

指在进行写入或读取操作时从磁盘上传送或传出的字节速率。

此值取决于硬盘的速度

l Disk Transfers/sec

指在此盘上读取/写入操作速率。

正常值<(Disk Bytes/sec)/3,此值过大表示系统要求的IO速度已接近硬盘的最大速度,要更换更快的硬盘 D

? Network Interface(网络)

l Byte Total/sec

表示网络中接受和发送字节的速度,可以用该计数器来判断网络是否存在瓶颈(参考值:该计数器和网络带宽相除,<50%)

判断瓶颈

?判断应用程序的问题

如果系统由于应用程序代码效率低下或者系统结构设计有缺陷而导致大量的上下文切换(context switches/sec显示的上下文切换次数太高)那么就会占用大量的系统资源,如果系统的吞吐量降低并且CPU的使用率很高,并且此现象发生时切换水平在15000以上,那么意味着上下文切换次数过高.

从图的整体看.context switches/sec变化不大,throughout曲线的斜率较高,并且此时的contextswitches/sec已经超过了15000.程序还是需要进一步优化.

?判断CPU瓶颈

如果processor queue length显示的队列长度保持不变(>=2)个并且处理器的利用

率%Processortim e超过90%,那么很可能存在处理器瓶颈.如果发现processor queue length显示的队列长度超过2,而处理器的利用率却一直很低,或许更应该去解决处理器阻塞问题,这里处理器一般不是瓶颈.

%processor tim e平均值大于95,processor queue length大于2.可以确定CPU瓶颈.此时的CPU已经不能满足程序需要.急需扩展.

CPU资源成为系统性能的瓶颈的征兆:

很慢的响应时间(slow response time)

CPU空闲时间为零(zero percent idle CPU)

过高的用户占用CPU时间(%User Time)

过高的系统占用CPU时间(%Priviliaged Time:长期大于90%或者95%)

长时间的有很长的运行进程队列(Process Queue Lengt:大于处理器个数+1)

?判断内存泄露问题

内存问题主要检查应用程序是否存在内存泄漏,如果发生了内存泄漏,process\private bytes计数器和process\working set 计数器的值往往会升高,同时avaiable bytes的值会降低.内存泄漏应该通过一个长时间的,用来研究分析所有内存都耗尽时,应用程序反应情况的测试来检验.

图中可以看到该程序并不存在内存泄露的问题.内存泄露问题经常出现在服务长时间运转的时候,由于部分程序对内存没有释放,而将内存慢慢耗尽.也是提醒大家对系统稳定性测试的关注.

Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。

?判断内存不足

如果队列长度(Avg.Disk Queue Length)增加的同时页面读取速率(Page Reads/sec)并未降低,则内存不足。

如果Available Mbytes(剩余物理内存数)的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

?硬件问题

请观察Processor\ Interrupts/sec 计数器的值,该计数器测量来自输入/输出(I/O) 设备的服务请求的速度。如果此计数器的值明显增加,而系统活动没有相应增加,则表明存在硬件问题。

? I/O资源成为系统性能的瓶颈的征兆

IO Data Bytes/sec(处理从I/O操作读取/写入字节的速度。这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。)

IO Data Operations/sec

IO Other Bytes/sec

IO Other Operations/sec

IO Read Bytes/sec(每秒IO读取字节数)

IO Read Operations/sec

IO Write Bytes/sec(每秒IO写出字节数)

IO Write Operations/sec

过高的磁盘利用率(high disk utilization)

太长的磁盘等待队列(Physical Disk\ Current Disk Queue Length,正在等待磁盘访问的系统请求数量)

等待磁盘I/O的时间所占的百分率太高(Average Disk Queue Length)

太高的物理I/O速率:large physical I/O rate(not sufficient in itself)

过低的缓存命中率(low buffer cache hit ratio(not suffi cient in itself))

太长的运行进程队列,但CPU却空闲(Process Queue Length)

在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数

?监视磁盘的使用情况

监视磁盘活动涉及两个主要方面:

?监视磁盘I/O 及检测过度换页

?隔离SQL Server 产生的磁盘活动

监视磁盘I/O及检测过度换页

可以对下面两个计数器进行监视以确定磁盘活动:

?PhysicalDisk: % Disk Time

?PhysicalDisk: Avg. Disk Queue Length

在系统监视器中,PhysicalDisk:% Disk Time计数器监视磁盘忙于读/写活动所用时间的百分比。如果PhysicalDisk: % Disk Time计数器的值较高(大于90%),请检查PhysicalDisk: C urrent Disk Queue Length计数器了解等待进行磁盘访问的系统请求数量。等待I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 到 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列(RAID) 设备通常有多个轴。硬件RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个RAID 设备在系统监视器中显示为多个实例。

可以使用Current Disk Queue Length和% Disk Time计数器的值检测磁盘子系统中的瓶颈。如果Current Disk Queue Length和% Disk Time计数器的值一直很高,则考虑下列事项:

?使用速度更快的磁盘驱动器。

?将某些文件移至其他磁盘或服务器。

?如果正在使用一个RAID 阵列,则在该阵列中添加磁盘。

如果使用RAID 设备,% Disk Time计数器会指示大于100% 的值。如果出现这种情况,则使用PhysicalDisk: Avg.Disk Queue Length计数器来确定等待进行磁盘访问的平均系统请求数量。

I/O 依赖的应用程序或系统可能会使磁盘持续处于活动状态。

监视Memory: Page Faults/sec计数器可以确保磁盘活动不是由分页导致的。在Windows 中,换页的原因包括:

?配置进程占用了过多内存。

?文件系统活动。

如果在同一硬盘上有多个逻辑分区,请使用Logical Disk计数器而非Physical Disk计数器。查看逻辑磁盘计数器有助于确定哪些文件被频繁访问。当发现磁盘有大量读/写活动时,请查看读写专用计数器以确定导致每个逻辑卷负荷增加的磁盘活动类型,例如,Logical Disk: Disk Write Bytes/sec。

?判断磁盘瓶颈

性能测试培训——基础知识

性能测试培训(一) ——基础知识 1.软件性能测试的概念 1.1软件性能与性能测试 软件性能:覆盖面广泛,对一个系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。 性能测试:为保证系统运行后的性能能够满足用户需求,而开展的一系列的测试组织工作。 1.2不同角色对软件性能的认识 用户眼中的软件性能: ?软件对用户操作的响应时间 如用户提交一个查询操作或打开一个web页面的链接等。 ?业务可用度,或者系统的服务水平如何 管理员眼中的软件性能:

开发人员眼中的软件性能: 1.3性能测试的对象 服务器端: ?负载均衡系统; ?服务器(单机、双机热备、集群); ?存储系统、灾备中心; ?数据库、中间件。 网络端: ?核心交换设备、路由设备; ?广域网络、专线网络、局域网络、拨号网络等; 应用系统: 由此可见,性能测试是一个系统性的工作,被测对象包括系统运行时使用的所有软硬件。但在实际操作时,将根据项目的特点,选择特定的被测对象。 1.4性能测试的目标 评价系统当前的性能:

?系统刚上线使用,即处于试运行时,用户需要确定当前系 统是否满足验收要求; ?系统已经运行一段时间,如何保证一直具有良好的性能。分析系统瓶颈、优化系统: ?用户提出业务操作响应时间长,如何定位问题,调整性能; ?系统运行一段时间后,速度变慢,如何寻找瓶颈,进而优 化性能。 预见系统未来性能、容量可扩充性: ?系统用户数增加或业务量增加时,当前系统是否能够满足 需求,如果不能,需要进行哪些调整?提高硬件配置?增 加应用服务器?提高数据库服务器的配置?或者是需要对 代码进行调整? 1.5性能测试的分类 按照测试压力级别: ?负载测试; ?压力测试; 按照测试实施目标: ?应用在客户端的测试; ?应用在网络的测试; ?应用在服务器端的测试; 按照测试实施策略:

性能测试报告-模板

Xxx系统性能测试报告 拟制:****日期:****审核:日期: 批准:日期:

1.概述 1.1.编写目的 本次测试报告为xxx系统的性能测试总结报告,目的在于总结性能测试工作,并分析测试结果,描述系统是否符合xxx系统的性能需求。 预期参考人员包括用户、测试人员、开发人员、项目管理者、质量管理人员和需要阅读本报告的高层经理。 1.2.项目背景 腾讯公司为员工提供一个网上查询班车的入口,分析出哪些路线/站点比较紧张或宽松,以进行一些合理调配。 1.3.测试目标 (简要列出进行本次压力测试的主要目标)完善班车管理系统,满足腾讯内部员工的班车查询需求,满足500个用户并发访问本系统。 1.4.名词解释 测试时间:一轮测试从开始到结束所使用的时间 并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。 每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求。 平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。 处理能力:在某一特定环境下,系统处理请求的速度。 cache影响系数:测试数据未必如实际使用时分散,cache在测试过程中会比实际使用时发挥更大作用,从而使测试出的最高处理能力偏高,考虑到这个因素而引入的系数。 用户习惯操作频率:根据用户使用习惯估算出来的,单个用户在一段时间内,使用此类功能的次数。通常以一天内某段固定的高峰使用时间来统计,如果一天内没有哪段时间是固定的高峰使用时间,则以一天的工作时间来统计。

服务器性能测试典型工具介绍

服务器性能测试典型工具介绍 https://www.doczj.com/doc/2811414126.html,/ 2008-11-17 16:42 IT168 我要评论(2) ?摘要:本文介绍了几个比较典型的服务器评测软件,无论什么评测工具,基本的技术都是利用线程技术模仿和虚拟用户,在这里主要的难点在于测试脚本的编写,每种工具使用的脚本都不一样,但是大多数工具都提供录制功能就算是不会编码的测试人员同样可以测试。 ?标签:服务器评测测试工具 ? Oracle帮您准确洞察各个物流环节众所周知,服务器是整个网络系统和计算平台的核心,许多重要的数据都保存在服务器上,很多网络服务都在服务器上运行,因此服务器性能的好坏决定了整个应用系统的性能。 现在市面上不同品牌、不同种类的服务器有很多种,用户在选购时,怎样从纷繁的型号中选择出所需要的,适合于自己应用的服务器产品,仅仅从配置上判别是不够的,最好能够通过实际测试来筛选。而各种的评测软件有很多种,你应该选择哪个软件测试?下面就介绍一些较典型的测试工具: (一)服务器整机系统性能测试工具 一台服务器系统的性能可以按照处理器、内存、存储、网络几部分来划分,而针对不同的应用,可能会对某些部分的性能要求高一些。 Iometer(https://www.doczj.com/doc/2811414126.html,):存储子系统读写性能测试 Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,来模拟实际应用的读写环境进行测试。

分析windows性能监视器常用计数器(good)

最近研究性能测试工具中发现这些所谓的性能测试工具的数据、全部来至windows操作系统提供的数据、然后通过API提供给性能测试工具、性能测试工具在用一种比较直观的图形展示出来。也就是说不部分情况下如果把你没有弄明白性能监视器中数据得意义,那么性能测试工具的那些图表对你的意义也就没有多大的用处。下面我整理了一部分windows中性能监视器中比较常用的性能计数器。 这里整理的比较多的内容:处理器对象、系统对象、逻辑磁盘对象、物理磁盘对象、内存。这些性能计数器我们经常在使用的过程中都会用得到,所以这篇文章大部分内容是这些的。 ? 1. 处理器对象(Processor Object) 一条经验规则是不要使你所监控的每个处理器的C P U使用率高于9 0%。峰值超过9 0%是可以接受的,但平均使用率超过9 0%则是应该避免的。 ? 处理器时间百分比(%Processor Time)处理器执行一个非空闲线程的时间百分比。用%1 0 0减去处理器空闲的总时间得出这个值。这是整个系统的C P U使用的一个好的指示器。 ? 特权时间百分比(%Privileged Time) 处理器用于在特权模式下(即,执行操作系统功能和运行驱动器,如I / O )工作时间的百分比。这个时间包括C P U (或C P U )用于维护中断和延迟过程调用( D P C )的时间。 ? 用户时间百分比(%User Time) 处理器用于在用户模式工作的时间百分比。这种类型的工作是由应用产生的。通常,希望极大化用户时间百分比的值,极小化特权时间百分比的值。 ? 中断时间百分比(%Interrupt Time) CPU忙于维护硬件中断的时间百分比。系统中的许多硬件部件,如鼠标、网络接口卡或磁盘控制器,都可以发出处理器中断。你可以将中断看作为Windows NT正常操作的一部分发生。 ? 中断数/秒(Interrupts/sec) 处理器每秒接收并处理的硬件中断的数量。它不包括系统 D P C,系统D P C单独计数。 ? 2. 系统对象(System Object) 系统对象与它的相关计数器衡量处理器上运行的线程的总计数据。虽然使用这些计数器不能观察一个特定处理器的工作负载或一个特定线程的行为,但它们提供了有关整个系统性能有价值的内部信息。系统计数器如下所示: ? 处理器队列长度(Processor Queue Length) 处理器队列中的线程的数量。换句话说,它 是等待运行的线程数。即使你的系统具有多个处理器,但只有一个队列用于处理器时间。计数器只记录那些准备执行但仍处于等待的线程,不是那些正在运行的线程。 ? 环境切换/秒(Context Switches/sec) 系统上的所有处理器从一个线程切换到另一个线程的组合比率。当一个正在运行的线程自动地放弃处理器,处理器由一个高优先级的待命线程抢占时发生环境切换,或在用户模式和特权(核心)模式之间切换,以使用一个执行或子系统的服务。这是线程的总和:计算机上运行在所有处理器上的所有线程的环境切换数/秒。 这个Processor Queue越大,对硬件性能的考验就越大,微软在windows2000时推荐的是如下:

性能测试报告

方欣科技有限公司 密级:限项目内使用 性能测试报告 (V1.0.0) 方欣科技有限公司 修订记录

目录 1.简介 ----------------------------------------------------- 4 1.1.概述 (4) 1.2.读者范围 (4) 1.3.参考资料 (4) 2.测试环境 ------------------------------------------------- 4 2.1.服务器 (4) 2.2.客户机 (5) 2.3.测试工具 (5) 3.性能指标 ------------------------------------------------- 6 4.测试用例 ------------------------------------------------- 7 5.测试结果 ------------------------------------------------- 8 5.1.登录:2000并发,主页+登录+申报首页 (8) 5.1.1.TPS汇总 (9) 5.1.2.响应时间 (9) 5.1.3.点击率 (10) 5.2.通用申报 (10) 5.2.1.200并发 (10) 5.2.2.500并发 (11) 5.2.3.小结 (13) 5.3.申报查询 (13) 5.3.1.500并发 (13) 5.3.2.小结 (14) 6.风险与建议 ---------------------------------------------- 14

1.简介 1.1.概述 (对文档目的进行说明,描述系统与测试执行的概况示例如下:) 本报告主要说明项目组对***系统进行性能测试的环境要求、测试场景、测试关键点、测试记录,测试结果等具体内容。 1.2.读者范围 (列出可能的读者范围,报告提交对象) 1.3.参考资料 (列出参考资料,没有可忽略) 2.测试环境 2.1.服务器 (列出测试环境服务器资源情况,示例如下:)

WEB服务器性能测试基本指标

WEB服务器性能测试基本指标 1说明 随着公司业务的发展,公司网站、管理后台、app服务器的访问量在不断增加,但通常在软件设计开发的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括PHP、JSP 等)的响应时间,为服务器的性能优化和调整提供数据依据。 Web性能测试的部分概况一般来说,一个Web请求的处理包括以下步骤: (1)客户发送请求 (2)web server接受到请求,进行处理; (3)web server 向DB获取数据; (4)web server生成用户的object(页面),返回给用户。给客户发送请求开始到最后一个字节的时间称为响应时间(第三步不包括在每次请求处理中)。

2网络拓扑图 3系统配置

4主要指标 4.1事务(Transaction) 在web性能测试中,一个事务表示一个“从用户发送请求->web server接受到请求,进行处理-> we b server向DB获取数据->生成用户的object(页面),返回给用户”的过程,一般的响应时间都是针对事务而言的。 4.2请求响应时间 请求响应时间指的是从客户端发起的一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间,在某些工具中,响应通常会称为“TTLB”,即"time to last byte",意思是从发起一个请求开始,到客户端接收到最后一个字节的响应所耗费的时间,响应时间的单位一般为“秒”或者“毫秒”。一个公式可以表示:响应时间=网络响应时间+应用程序响应时间。标准可参考国外的3/5/10原则: (1)在3秒钟之内,页面给予用户响应并有所显示,可认为是“很不错的”; (2)在3~5秒钟内,页面给予用户响应并有所显示,可认为是“好的”; (3)在5~10秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受的”; (4)超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去; 4.3事务响应时间 事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的.例如:跨行取款事务的响应时间就是由一系列的请求组成的.事务响应时间是直接衡量系统性能的参数. 4.4并发用户数 并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。 另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。 可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。对于WEB性能测试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格意义上的用户并发一般发生在使用比较频繁的模块中,尽管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。严格意义

性能监视器的使用

性能监视器 【实验目的】 1)1)性能监视器的运用。 2)3)理解网络层次结构中各层数据的包装关系。 3)4)捕捉ping命令相关协议的数据包,并分析结构。 【实验环境】 具备IIS的Windows 2003 Server计算机、局域网、Windows 20003Server安装光盘。【实验重点及难点】 重点:掌握网络监视器使用方法,深刻体会网络层次结构中各层数据的包装关系,学会分析常用数据包的结构。 【实验内容】 一、监视事件 IIS中的网站是靠IIS服务来实现的,例如Web站点依赖于WWW服务,故服务启动失败这样的事件往往暗示着站点不能正常工作的原因。此外,象TCP/IP错误,网络硬件设备错误这样的事件往往也是导致服务器不能正常工作的罪魁祸首。当系统提示出错或者IIS 出现某种异常情况时,有经验的管理员通常先检查事件查看器所记录的事件。 单击【开始】、【程序】、【管理工具】、【事件查看器】打开如右图所示的事件查看器。全部事件分别保存在三个事件日志中:应用程序日志、安全日志和系统日志,其包含的事件种类如下: 对于IIS服务器而言,系统日志中记录的事件显得更加重要。如图,在事件查看器控制树中选择系统日志,则右侧窗格列出已经被记录的全部事件,事件分为:错误、警告、信息等不同类型。 事件列表中仅显示有关事件发生的时间、来源、分类和用户等有限信息,为了详细查看某一事件的描述或信息代码,应双击列表中的事件,查阅事件属性对话框。如右图所示,在事件属性对话框中详细描述事件发生的情况和可能的原因,典型的事件还给出了数据代码供程序员调试使用。单击事件属性对话框中的上下箭头可以继续查看上一个或下一个事件的详细信息。 二、性能监视器 通过日志文件的方式对服务器进行长期监视,得到系统对象的平均特性。 利用日志文件进行及监视的方法如下: 1、在性能监视器中展开【系统日志和警报】节点,右击【计数器日志】,选择【新建 日志设置】。 2、在【新建日志设置】对话框中输入新日志名称,单击【确定】。 3、如图所示在新日志属性对话框的【常规】选项卡中单击【添加】打开计数器对话 框,指定该日志文件记录的计数器,单击【确定】返回。 4、在【数据采样间隔】栏中指定计数器数据多久被采集一次,注意,过密的采集间隔会影响系统的正常工作并造成巨大的日志文件。 5、在【计划】选项卡中指定日志启止时间,可选的方式有:手动、指定起止时间或者指定记录时间。单击【确定】。 6、如右图所示,如果选择手动启止日志,则在日志列表中右击日志,选择【开始】, 日志图标变为绿色。 添加以下计数器,观察图表变化。 1) 查找内存瓶颈 在性能工具中使用下列计数器标识出现瓶颈的内存资源: (a)System Processor Queue Length (b)Memory Pages/sec

LoadRunner性能测试实战教程

LoadRunner性能测试实战讲解 内容介绍: 很多使用LoadRunner的测试人员经常面临两个难题:脚本开发与性能测试分析。本书就是基于帮助测试人员解决这两个问题而编写,致力于使读者学精LoadRunnner这一强大的性能测试工具。 全书共分为四部分:入门篇、基础篇、探索篇、实战篇。第一篇入门篇的内容包括第1章和第2章,着重于讲解性能测试与LoadRunner的基础理论知识。第二篇基础篇的内容包括第3章至第5章,是LoadRunner 的基本使用部分,着重讲解Virtual User Generator、Controller、Analysis的使用方法。第三篇探索篇的... 第1部分入门篇.. (1) 第1章性能测试基础知识.. 3 1.1 性能测试基本概念 (4) 1.1.1 什么是性能测试 (4) 1.1.2 性能测试应用领域 (6) 1.1.3 性能测试常见术语 (8) 1.2 全面性能测试模型 (11) 1.2.1 性能测试策略模型 (14) 1.2.2 性能测试用例模型 (17) 1.2.3 模型的使用方法 (20) 1.3 性能测试调整基础 (21) 1.4 如何做好性能测试 (24) 1.5 本章小结 (28) 第2章LoadRunner基础知识.. 29 2.1 LoadRunner简介 (29) 2.1.1 LoadRunner主要特点 (29) 2.1.2 LoadRunner常用术语 (31) 2.2 LoadRunner工作原理 (32) 2.3 LoadRunner测试流程 (33) 2.4 LoadRunner的部署与安装 (35) 2.5 本章小结 (41) 第2部分基础篇 (43) 第3章脚本的录制与开发.. 45 3.1 Virtual User Generator简介 (45)

性能测试报告范例

测试目的: 考虑到各地区的用户数量和单据量的增加会给服务器造成的压力不可估计,为确保TMS系统顺利在各地区推广上线,决定对TMS系统进行性能测试,重点为监控服务器在并发操作是的资源使用情况和请求响应时间。 测试内容 测试工具 主要测试工具为:LoadRunner11 辅助软件:截图工具、Word

测试结果及分析 5个用户同时生成派车单的测试结果如下: Transaction Summary(事务摘要) 从上面的结果我们可以看到该脚本运行47秒,当5个用户同时点击生成派车单时,系统的响应时间为41.45秒,因为没有设置持续运行时间,所以这里我们取的响应时间为90percent –time,且运行的事物已经全部通过

事务概论图,该图表示本次场景共5个事务(每个用户点击一次生成派车单为1个事务),且5个事务均已pass,绿色表色pass,如出现红色则表示产生error

从上图可以看到服务器的CPU平均值为14.419% ,离最大参考值90%相差甚远;且趋势基本成一直线状,表示服务器响应较为稳定,5个用户操作5个900托运单的单据对服务器并没有产生过大的压力。

“Hits per Second(每秒点击数)”反映了客户端每秒钟向服务器端提交的请求数量,这里服务器每秒响应9,771次请求;如果客户端发出的请求数量越多,与之相对的“Average Throughput (吞吐量)”也应该越大。图中可以看出,两种图形的曲线都正常并且几乎重合,说明服务器能及时的接受客户端的请求,并能够返回结果。 按照上述策略,我们得出的最终测试结果为: 生成派车单: 1个用户,300个托运单点击生成派车单,响应时间7.34秒 5个用户,900个托运单点击生成派车单,响应时间41.45秒 单据匹配: 单用户1000箱,20000个商品,上传匹配时间8秒 五个用户2500箱,40000个商品,同时上传匹配耗时2分25秒 自由派车: 单条线路917个托运单下载,响应时间1分40秒 上述结果是在公司内网,测试环境上进行的测试,可能与实际会有偏差

服务器性能测试指标介绍

服务器性能测试指标介绍 当前业界常见的服务器性能指标有: TPC-C TPC-E TPC-H SPECjbb2005 SPECjEnterprise2010 SPECint2006 及SPECint_rate_2006 SPECfp2006 及SPECfp_rate_2006 SAP SD 2-Tier LINPACK RPE2 一、TPC (Transaction Processing Performance Council) 即联机交易处理性能协会, 成立于1988年的非盈利组织,各主要软硬件供应商均参与,成立目标: 为业界提供可信的数据库及交易处理基准测试结果,当前发布主要基准测试为: TPC-C : 数据库在线查询(OLTP)交易性能 TPC-E : 数据库在线查询(OLTP)交易性能 TPC-H : 商业智能/ 数据仓库/ 在线分析(OLAP)交易性能 1.TPC-C测试内容:数据库事务处理测试, 模拟一个批发商的订单管理系统。实际衡量服务器及数据库软件处理在线查询交易处理(OLTP)的性能表现. 正规TPC-C 测试结果发

布必须提供tpmC值, 即每分钟完成多少笔TPC-C 数据库交易(TPC-C Transaction Per Minute), 同时要提供性价比$/tpmC。如果把TPC-C 测试结果写成为tpm, TPM, TPMC, TPCC 均不属正规。 2.TPC-E测试内容:数据库事务处理测试,模拟一个证券交易系统。与TPC-C一样,实际衡量服务器及数据库软件处理在线查询交易处理(OLTP)的性能表现。正规TPC-E测试结果必须提供tpsE值,即每秒钟完成多少笔TPC-E数据库交易(transaction per second),同时提供$/tpsE。测试结果写成其他形式均不属正规。 对比:TPC-E测试较TPC-C测试,在测试模型搭建上增加了应用服务器层,同时增加了数据库结构的复杂性,测试成本相对降低。截止目前,TPC-E的测试结果仅公布有50种左右,且测试环境均为PC服务器和windows操作系统,并无power服务器的测试结果。除此之外,TPC官方组织并未声明TPC-E取代TPC-C,所以,说TPC-E取代TPC-C并没有根据。 附TPC-C与TPC-E数据库结构对比 3.TPC-H测试内容:对大型数据仓库进行决策支持(decision support)的基准测试。TPC-H包含一组复杂的业务查询及修改操作,属于商业智能/数据仓库/在线分析(OLAP)

性能监视器使用略谈(有关瓶颈)

假如您周一早晨刚到办公室就遇到一位心急如焚的用户抱怨自己的服务器运行速度太慢。您会如何着手帮助他?性能 监视器是Windows? 中内置的一款非常便利的工具,可帮助您诊断有关性能的问题。 要使用“性能监视器”,您可以在命令提示符下键入 perfmon,或从“管理工具”菜单中选择“性能”或“可靠性和性能监视器”(在Windows Vista? 和 Wind ows Server? 2008 中)。要添加需要监视的性能计数器和对象,只需单击加号并从众多可能的选项中进行选择即可。 那么该如何测量服务器的脉搏呢?共有超过 60 个基本性能对象,每个对象又包含多个计数器。在本文中,我将介绍那些能够反映服务器最重要征兆的计数器,还将说明Microsoft? 服务支持工程师在排除与性能相关的故障时最常使用的典型采样间隔。 当然,在故障排除时需要有一个基准来提供关键参考点。由于服务器负载取决于业务需求并且随着业务周期的不同而随时变化,因此必须根据指定期间内的常规工作负载建立一个基准。这将允许您据此观察其变更并确定其趋势。 使结果更具可读性 在对那些代表着最重要的服务器征兆的计数器进行深入分析之前,我首先向您介绍两个小技巧,它们可以帮助您更轻松地使用“性能监视器”来测量那些重要的服务器征兆。请注意,在 Windows Vista 和 Windows Server 2008 中用不到这些技巧;但如果在较早版本的 Windows 中运行“性能监视器”,那么这两个调整工具就可以派上大用场。 第一个技巧是,您可以删除会对趋势线图形视图产生不利影响的所有示例干扰点。在 Windows Vista 和 Windows Server 2008 中,“性能监视器”最多可在图形视图中显示 1000 个数据点。但在先前版本的 Windows 中,最多只显示 1 00 个数据点。如果超过 100 个,“性能监视器”将把数据点“装进桶中”。一条竖直线代表一个桶,表示桶中包括的示例点的最小值、平均值和最大值。 如图 1中的图形所示,当同时显示如此多的数据时,一般很难发现趋势线。图2中的图形显示的是关闭了所有无关的可视信息后的情形,您可以看到这次非常容易地就可以捕捉到数据。有关如何关闭这些竖直线的详细信息,请参阅位于以下网址的知识库文章:。

系统测试报告

xxxxxxxxxxxxxxx 系统测试报告 xxxxxxxxxxx公司 20xx年xx月

版本修订记录

目录 1引言 (1) 1.1编写目的 (1) 1.2项目背景 (1) 1.3术语解释 (1) 1.4参考资料 (1) 2测试概要 (2) 2.1系统简介 (2) 2.2测试计划描述 (2) 2.3测试环境 (2) 3测试结果及分析 (3) 3.1测试执行情况 (3) 3.2功能测试报告 (3) 3.2.1系统管理模块测试报告单 3 3.2.2功能插件模块测试报告单 4 3.2.3网站管理模块测试报告单 4 3.2.4内容管理模块测试报告单 4 3.2.5辅助工具模块测试报告单 4 3.3系统性能测试报告 (4) 3.4不间断运行测试报告 (5) 3.5易用性测试报告 (5) 3.6安全性测试报告 (6) 3.7可靠性测试报告 (6) 3.8可维护性测试报告 (7) 4测试结论与建议 (9) 4.1测试人员对需求的理解 (9) 4.2测试准备和测试执行过程 (9) 4.3测试结果分析 (9) 4.4建议 (9)

1引言 1.1 编写目的 本测试报告为xxxxxx软件项目的系统测试报告,目的在于对系统开发和实施后的的结果进行测试以及测试结果分析,发现系统中存在的问题,描述系统是否符合项目需求说明书中规定的功能和性能要求。 预期参考人员包括用户、测试人员、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层领导。 1.2 项目背景 ?项目名称:xxxxxxx系统 ?开发方: xxxxxxxxxx公司 1.3 术语解释 系统测试:按照需求规格说明对系统整体功能进行的测试。 功能测试:测试软件各个功能模块是否正确,逻辑是否正确。 系统测试分析:对测试的结果进行分析,形成报告,便于交流和保存。 1.4 参考资料 1)GB/T 8566—2001 《信息技术软件生存期过程》(原计算机软件开发规范) 2)GB/T 8567—1988 《计算机软件产品开发文件编制指南》 3)GB/T 11457—1995 《软件工程术语》 4)GB/T 12504—1990 《计算机软件质量保证计划规范》 5)GB/T 12505—1990 《计算机软件配置管理计划规范》

windows 性能监视器使用及解释

windows 性能监视器使用及解释 Windows XP系统自带的性能监视器,如下图所示: 如果要查看系统的内存占用、CPU占用等性能信息,大家通常会想到Windows的任务管理器,不过在Windows 2000/XP中还有一个功能更为强大的工具,可以查看更为详细的系统性能信息。通过这些数据可以了解系统的工作状态以及资源的使用情况,而且它还具备日志记录和警报功能。根据日志记录可以诊断系统性能问题,从而优化系统。通过警报功能则可以监视系统中的性能数据,当达到指定条件时及时通知用户,可谓是电脑的“火警”监测器(下面主要以Windows XP 为例,Windows 2000基本相同)。

打开“火警”监测器 单击“控制面板→管理工具→性能”,或在开始菜单“运行”栏中输入“Perfmon.msc”即可打开系统性能管理工具,在左边可以看到功能分为“系统监视器”和“系统日志和警报”两大模块。 系统监视器——透过现象看本质 1.理解重要概念 系统监视器以图形方式实时显示出指定系统性能数据。在使用前,首先需要理解一些概念的含义。 (1)性能对象:所谓性能对象,就是指影响系统性能表现最关键的几个部件:CPU、内存、硬盘等。Windows XP从它们那里获得性能数据。要监视系统状态,首先就要选择这些对象。 (2)性能计数器:上面提到的关键部件的性能随时都在变化,是动态的数据,所以必须有一台“摄像机”随时监控它们,并把记录下来的性能表现随时回放给我们。每个性能对象的计数器就扮演着这样的角色,每个计数器用于描述与性能有关的特定方面的数据。为了统一衡量标准,所以性能数据都以具体数值来表示。例如,“Memory”(内存)对象提供的“Pages/sec”(分页/秒)计数器跟踪虚拟内存读取和写入速度,也就是每秒处理的分页数。 什么是分页(Page)? 还记得我们今年第5期《虚拟内存到底应该怎么设?》吗?里面介绍了“Page”这个概念,再让我们一起复习一下吧:为了便于管理和存放数据,Windows会将物理内存(RAM)与虚拟内存分割成许多小块,称为Page(分页),每个Page为4KB,它也是内存在Windows系统中的单位,每个Page都有编号。程序运行时,系统就会将该程序所需文件先从硬盘调入并保存到这些内存分页中,之后要用那个文件,只需指明文件所在相应分页的编号即可,调用起来非常方便。Windows 2000/XP的虚拟内存文件Pagefile.sys被称为分页文件(或页面文件)。 2.如何阅读监视器中的数据 在Windows XP中,系统监视器默认会装入三个性能计数器:“Pages/sec”(内存

服务器性能测试相关的常用工具概要

服务器性能测试相关的常用工具 (一服务器整机系统性能测试工具 一台服务器系统的性能可以按照处理器、内存、存储、网络几部分来划分,而针对不同的应用,可能会对某些部分的性能要求高一些。 Iometer(https://www.doczj.com/doc/2811414126.html,:存储子系统读写性能测试 Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential,random、读写块大小(如64K、256K,队列深度等,来模拟实际应用的读写环境进行测试。Iometer操作简单,可以录制测试脚本,可以准确有效的反映存储系统的读写性能,为各大服务器和存储厂商所广泛采用。 SisoftSandra(https://www.doczj.com/doc/2811414126.html,:WINDOWS下基准评测 SiSoft发行的Sandra系列测试软件是Windows系统下的基准评测软件。此软件有超过三十种以上的测试项目,能够查看系统所有配件的信息,而且能够对部分配件(如CPU、内存、硬盘等进行打分(benchmark,并且可以与其它型号硬件的得分进行对比。另外,该软件还有系统稳定性综合测试、性能调整向导等附加功能。SisoftSandra软件在最近发布的Intelbensley平台上测试的内存带宽性能并不理想,不知道采用该软件测试的FBD内存性能是否还有参考价值,或许软件应该针对FBD 内存带宽的测试项目做一个升级。 Iozone(https://www.doczj.com/doc/2811414126.html,:linux下I/O性能测试 现在有很多的服务器系统都是采用linux操作系统,在linux平台下测试I/O性能可以采用iozone。iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试Read,write,re-read,re-write, read backwards, read strided, fread, fwrite,random read,pread,mmap, aio_read,aio_write等等不同的模式

千万不能被忽略的Win 7性能监视器的系统工具

有没有期待系统吧今天会为大家带来点什么呢?呵呵,大家可能注意到标题了,没错就是我们会忽略掉的一个系统工具。为什么会给大家介绍这个工具呢,是因为我本身的一次经历让我注意到了这个工具的存在价值,前几天电脑经常会反应慢,很卡,但是自我感觉不是硬件的问题,而且运行的程序不应该太占资源,想来想去不知道所以然,就想到了想要看看是什么原因造成了这样的状态,用什么方法呢?突然灵光一闪想到了以前用过的一个工具-性能监视器,它的作用是什么呢?顾名思义就是帮助我盟监视电脑性能的,里面包含硬件,软件等在运行时的状态及资源使用情况,下面我就为大家详细介绍一下。 性能监视器的打开方法有两种。 1.点击“开始”-“控制面板”-“管理工具”-“性能监视器” 2.点击“开始”-在搜索框中输入“perfmon.msc”回车 使用方法 打开性能监视器后是这个样子的 首先我们先要创建一个根据我们需求定制的性能监视器,右键单击“性能监视器”-“新建”-“数据收集器集” 在“名称”框中输入自己创建的名称(随意),单击“下一步” 将数据保存到自己创建的路径下,单击“下一步” 单击“完成” 这样可不算完哦,下面我们就要详细的配置我们的监视器了,我们所创建的监视器在哪了呢,我们打开“数据收集器集”-“用户定义”里面就发现了我们所创建的监视器了,同时在“报告”-“用户定义”下同时会创建一个相对应的报告文件。 首先单击“test”监视器,在右侧右键单击“系统监视器日志”选择属性。在这里面我们可以进行相应的计数器的添加,以及一些具体参数的设定。 这里我们主要看看计数器的添加,点击添加,我们可以根据自己的需要来添加相应的计数器,当然如果大家对各个计数器不太了解,不知道它们具体的功能,我能可以点住计数器,勾选左下角的显示描述,在描述中就能够看到相应的内容描述,然后选中我们所需的计数器在点击添加就可以了。

性能测试与LoadRunner基础笔试题

性能测试与LoadRunner基础笔试题 笔试:45分钟满分100分 选择:(共6分,3分一题) 1. To control the time between iterations in a Vuser, you will need to configure which run-time(2分) feature? A. Run Logic B. Pacing C. Think Time D. Network Speed 2. You are about to run a Debug scenario with a small number of Vusers. What type of log setting will you select to help identify and check errors in the Vuser scripts?(2分) A. Only when errors occur B. Standard log C. Extended log 判断:(共20分,2分一题) 1.集合点可以贯穿整个事务,加了集合点,整个事务都是同步运行的 2.集合点可以加在vuser_int中 3.LR可以录制单机程序 4.一个脚本中可以有多个action 5.10M的网络环境中,不能模拟20M的带宽 6.HTTPS安全协议,可以使用‘HTML-based script’模式录制 7.vuser_end中内容是不可以迭代运行的 8.file类型参数化,最多只能参数化100个 9.手动关联,查找需要关联的数据,要在Sending request中查找 10.调试lr脚本可以run step by step

存储服务器性能测试报告

2005年度存储服务器公开比较测试报告 我来说两句(0) 存储服务器 搜索 【来源:计世网】 【作者:张峰】 每当我们讨论网络存储时,首先就会想到光纤通道SAN (存储区域网)与NAS (网络附加存储),然而,当我们与众多中小用户交流之后发现,仅简单地采用这两种架构还不能够完全满足他们的存储需求。 对于中小企业用户来说,希望采用的存储设备能够满足迅速增长的业务需求。 数据量越来越大是他们最关心的一个方面,因此需要 一台大容量的存储设备。比较重要的一点是,中小企 业用户一般没有专业的存储技术人员,他们寻找的是 一个易用的“盒子”。那么,这个盒子应该具备哪些 功能呢?下列三方面是用户最关心的。 一,文件服务。由于大多数需要存储数据为文件 类型,因此他们最重要的需求是一台独立的存储设备 能够透明地满足客户端文件服务,把它插入用户原有 的以太网环境中就能够为用户各类客户端提供方便 的文件服务,包括Windows 、Linux 以及Mac 等客户 端。 二,iSCSI 功能。中小用户并不是所有数据都为 文件,还有一部分的块数据。在无法承受光纤通道SAN 高昂投资之前,iSCSI 是一个不错的选择,在用户原有的以太网环境中就可以轻松构建一个iSCSI SAN 。同时能够随着业务的增长而同步扩展,并且能够在用户最终采用光纤通道SAN 架构时协同工作。 三,服务器功能。许多厂商的NAS 是构建在标准服务器硬盘平台之上的,许多用户在性能要求不高的情况下,就干脆把一些应用服务器安装在存储设备中,尤其是一些简单的Web 服务器、邮件服务器以及FTP 服务器等。这样做的好处是,有些时候甚至可以为用户节省一台服务器硬件的投资。 满足上述三项功能的设备主要定位在中低端,有些厂商把它称之为“存储服务器”。当然,有些传统NAS 厂商并不这样称呼它们的产品,但是iSCSI 是广泛被NAS 产品支持的,而且在NAS 产品中也越来越多的支持一些服务器功能,在实质上越来越像一台存储服务器。 数量众多的中小企业用户对存储服务器存在巨大需求,为此《网络世界》评测实验室组织了本次存储服务器公开比较测试。 由于中小用户对价格的敏感性也是最强的,他们在存储方面的投资一般都较小,希望能够少花钱多办事,所以我们还特别考察了参测产品的总价格以及每GB 有效存储容量价格。 我们本次测试邀请征集的产品要求是:此次评测的产品范围限制在总价在10万元人民币以内的产品,需要有强大的文件服务功能、有效容量至少为800GB (建议RAID 5),各厂商的存储服务器、NAS 产品均可参加。

LoadRunner性能测试软件的基本使用步骤

LoadRunner性能测试软件的基本使用步骤 一. 1、测试脚本录制 1.1录制前准备工作 在录制脚本前需检查压测环境的整体功能是否正确,待测部分的功能是否正确,只有确定功能正确后才可进行压测。 1.2录制及调试脚本 在准备工作OK后,进行脚本的录制,具体过程如下: 打开“开始>程序>MercuryLoadRunner>MercuryLoadRunner”测试脚本录制; 2、点击“Create/EdirScripts”,也可在“File”下选择New 新建。 3、选择Web(HTTP/HTML)协议,我们测试的是B/S模式,采用的是Web协议,选择后点【OK】按钮。 4、点击界面中的录制按钮,这个表示开始录制脚本点。 录制前,如果已经打开待测页面的话,建议关闭该页面。点【OK】后,同时会出现这表示现在已经开始录制。 5、所有操作完成后,点击中停止按钮,停止录制,页面将自动关闭,返回到loadrunner录制界面,将在界面中显示录制脚本代码,保存录制的脚本。 6、调试代码并进行参数化 录制后的代码需要进行调试才可用于压测,调试的办法就是进行

回放操作,如果回放过程无错误,运行结果也正确的话,则可用于压测。 二.设计测试场景 在脚本录制完成,调试通过后,可以进行测试场景的设计。 1.打开“开始>程序>MercuryLoadRunner >MercuryLoadRunner” 2.点击的RunLoadTests;在新建场景的窗口,选择一种场景类型。 3.选择要进行场景设计的脚本,若没有出现需要对应的脚本,可点击Browse查找后添加进来,选择好脚本后,点add则可加入到右边的窗口中然后点【OK】。 4.显示的是脚本的路径与并发数个数,根据测试方案中的并发 数可更改此处的并发数。 Eg:假如我们设计的场景是每15秒增加2个,所有并发数增加完后持续运行5分钟,5分钟运行结束后,每30秒减少5个并发。 5.再点击页面右下角的“Run-timeSettings” 。 6.一切设置OK后,点击运行测试场景。 三.测试结果分析 1.场景执行结束后可以,使用loadrunner自带的分析工具进行结果分析。 2.在菜单栏中选择打开,找到要分析的场景执行结果,点【打开】即可,还可以直接在场景运行结束后,点击Controller菜单栏

服务器测试报告

服务器测试报告服务器测试报告 概述

此次测试针对新的服务器进行性能测试,主要有5个方面的测试:服务器基本性能测试,InfoDB性能测试,BinaryDB性能测试,Apache性能测试,LINUX下MYSQL性能测试,此文档仅针对机器硬件基本性能和BinaryDB 的性能测试进行描述 测试结果概述:

基本硬件性能概要:(此部分数据使用互联网下载的相应测试工具测得) CPU浮点运算方面:服务器约是232服务器性能的238% CPU多核心间带宽:服务器约是232服务器性能的10倍 高速缓存和内存间的带宽:服务器约是232服务器性能的300% 内存带宽方面:服务器约是232服务器性能的%87. 内存随机访问性能:服务器的内存带宽约是232服务器性能的86% 内部网络性能:服务器和232服务器几乎没有

差别(同处一个交换机,性能不可能有差距……) 硬盘读取性能:服务器约是232服务器性能的6倍。 硬盘写入性能: 打开写入缓存前:服务器约是232服务器性能的10%。(16KB数据包) 打开写入缓存后:服务器约是232服务器性能的290%。(16KB数据包) BinaryDB性能概要:

写入效率方面(写入数据包为16KB) 文件模式服务器约是232服务器性能的 23% 磁盘模式服务器约是232服务器性能的 61% 打开磁盘缓存后文件模式提高了1倍的速度,但效率也仅达到232的 50% 磁盘模式并没有因为打开磁盘缓存而加快 速度,仅达到了232的67% 但是和服务器的速度稍好,读取效率方面, 硬盘读取效率的比值还是有很大差距。 文件模式服务器约是232服务器性能的125%

相关主题
文本预览
相关文档 最新文档