首页 生活指南 正文内容

服务器性能测试工具(服务器性能测试工具介绍)

阿立指南 生活指南 2022-10-17 18:10:10 188 0

请教各位目前PC端与移动端主流的性能测试工具有哪些?

主流移动端性能测试工具简述

4.1.Xcode-InstrumentInstrument是Apple官方提供的一个强大的内置在xcode中的性能调试工具集。其中,Activity Monitor(活动监视器):监控进程级别的CPU,内存,磁盘,网络使用情况,可以得到应用程序在手机运行时总占用的内存大小;Core Animation(图形性能):这个模块显示程序显卡性能、CPU使用情况以及页面刷新帧率;Network:用链接工具分析程序如何使用TCP/IP和UDP/IP链接;Energy Log:耗电量监控。Instrument主要用于在调试过程中随时发现问题,及时优化,但是这个工具只能供有应用源码的程序员使用,无法测量用户真实使用场景下的性能。

4.2.Android monitorAndroid Studio内置了四种性能监测工具Memory Monitor、Network Monitor、CPU Monitor、GPU Monitor,可以使用这些工具监测App的状态。Memory Monitor工具主要是用来监测App的内存分配情况,判断是否存在内存泄漏;Network Monitor是用于显示App网络请求的状态;GPU Monitor工具可以将进行UI渲染工作所花的时间表现出来;CPU Monitor可以对代码中的方法进行检测。 

 4.3.MatrixMatrix是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。数据监测结果存储到后台,没有直观的展示界面。Matrix-iOS/macOS主要监控崩溃、卡顿和爆内存。Matrix-android监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等。

4.4.GTGT(随身调)是直接运行在手机上的“集成调测环境”。利用GT,仅凭一部手机,无需连接电脑,即可对App进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等)、开发日志的查看、Crash日志查看、网络数据包的抓取、App内部参数的调试、真机代码耗时统计等。

GT支持iOS和Android两个手机平台,其中:iOS版是一个Framework包,必须嵌入App工程,编译出带GT的App才能使用;iPhone和iPad应用都能支持。Android版由一个可直接安装的GT控制台App和GT SDK组成。GT控制台可以独立安装使用;SDK需嵌入被调测的应用、并利用GT控制台进行信息展示和参数修改。 

 4.5.EmmageeEmmagee是一款实用、方便的性能测试工具,适用于指定的Android App,它可以监控CPU、内存、网络流量、电池电流和状态(某些设备不受支持)。此外,它还支持自定义收集数据的时间间隔,在浮动窗口中呈现实时进程状态等。

安装之后,打开Emmagee会显示出目前系统已经安装的应用(可在设置中配置间隔)。选择一个应用之后,点击“开始测试”按钮,Emmagee会自动启动被测应用,并在最上方显示流量、CPU、内存等数据,在该状态下可任意使用被测应用,Emmagee会自动进行相关数据的记录,终止测试之后会生成相应的报告,并保存在Android目录中。

4.6.SoloπSoloπ是支付宝在移动端上实现的一套无线化、非侵入、免Root的 Android 专项测试方案。直接操控手机,即可实现自动化的功能、性能、兼容性、以及稳定性测试等工作。支持 CPU、内存、FPS、流量等常规指标的实时获取,同时支持将性能数据记录下来,存储到本地并通过报表形式展示,支持性能加压。

4.7.TestinTestin性能测试,通过自动化的测试工具,在上线前模拟正常、峰值以及异常等多种场景,从而对App的各项性能指标进行测试。包括:负载测试、压力测试、配置测试、并发测试、容量测试、可靠性测试。

负载测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量。压力测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能够提供的最大服务级别。

配置测试:通过测试被测试软件的软硬件配置,获得不同配置的性能指标,用于选择最佳的设备及参数配置。

并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。

容量测试:在确定的软、硬件条件下,构造一定数量的虚拟用户访问,从而获取不同数量级别的服务器性能指标,以确定数据库能够处理的最大会话能力、最大容量等。

如何在Windows服务器做性能测试

一、远程连接到Windows服务器,使用windows系统自带工具进行收集性能数据

1、Windows服务器中自带的性能监控工具叫做Performance Monitor,在开始-运行中输入‘Perfmon.msc’,然后回车即可运行。通过界面,控制面板\所有控制面板项\管理工具\性能监视器也能打开

打开后,页面展示

 

2、添加计数器

性能数据收集器集用户定义[右击]新增‘数据收集器集’手动创建高级下一步

 

勾选创建数据日志性能计数器【下一步】

 

点击“添加”→选择计数器

点击选中的可用计数器【添加】【确定】

【确定】【下一步】

选择目录后,点击【完成】

查看新增的计数器,输出地方为日志输出地址

 

3、选择日志数据源格式

选择用户定义下的数据收集器集右键属性性能计数器,日志格式选择“逗号分隔”(即csv格式)

 

 

4、开始启动数据采集,选择用户定义下的数据收集器集右键属性开始

此时,输出有地址了

 

5、用EXCEL将数据转换为折线图,并分析性能情况

 

二、分析性能情况

(1)内存泄露判断

●虚拟内存字节数(VirtualBytes)应该远大于工作集字节数(Workingset),如果两者变化规律相反,比如说工作集增长较快,虚拟内存增长较少,则可能说明出现了内存泄露的情况。

●对于Workingset、Private Bytes、Available bytes这些计数器,如果在测试期间内数值持续增长,而且测试停止后位置在高水平,则也说明存在内存泄露。

●Windows资源监控中,如果Process\PrivateBytes计数器和Process\WorkingSet计数器的值在长时间内持续升高,同时Memory\Available

bytes计数器的值持续降低,则很可能存在内存泄漏。

(2)CPU使用情况

●一般平均不要超过70%,最大不要超过90%(好:70% 、坏:85%、 很差:90%)

(3)tps(每秒处理事务的数量,在SOAPUI中进行统计)

●一般在10-100,不同应用程序具体值不同

 

1234567891011121314151617

   

几个常用参数的参考值: CPU:% Processor Time:表示CPU的使用率,如果值大于80表示CPU的处理调度能力偏低。 硬盘:% Disk Time:表示硬盘的I/O操作的频率(繁忙时间),如果值大于80表示硬盘I/O调度能力偏低。Average Disk QueueLength:表示硬盘I/O操作等待队列的长度,如果值大于2表示硬盘I/O调度能力偏低。 内存 Pages/Sec:表示系统对虚拟内存每秒钟的访问次数,如果值大于20表示有内存方面的问题。(有可能是物理内存偏低,也有可能是虚拟内存没有配置正确。一般情况下虚拟内存应为物理内存的1.5-2倍) Committed Bytes and Available Bytes:Committed Bytes表示虚拟内存的大小,Available Bytes表示剩余可用内存的大小。正常情况下,Available Bytes减少,pages(页面数)应该增加,提供页面交换。br如果Available Bytes的值很小表示物理内存偏低。当关闭一些应用以后,Committed Bytes应该减少,Available Bytes应该增加。因为关闭的进程释放了之前占用的内存资源。如果相应的值没有发生变化,那么该进程就可能造成了内存泄漏。 Cache Bytes:表示系统缓存的大小。如果值大于4M表示物理内存偏低。

   

三、关于计数器的选择

perfmon的计数器主要分四种:处理器性能计数器、内存性能计数器、磁盘性能计数器以及网络性能计数器。

以下为监控服务器常用的计数器:

常用的性能对象与指标

   

性能对象

   

计数器

   

提供的信息

   

Processor

   

% Idle Time

   

% Idle Time 是处理器在采样期间空闲的时间的百分比

   

Processor

   

% Processor Time

   

% Processor Time 指处理器用来执行非闲置线程时间的百分比。计算方法是,测量范例间隔内非闲置线程活动的时间,用范例间隔减去该值。这个计数器是处理器活动的主要说明器,显示在范例间隔时所观察的繁忙时间平均百分比。

   

Processor

   

% User Time

   

% User Time 指处理器处于用户模式的时间百分比。用户模式是为应用程序、环境分系统和整数分系统设计的有限处理模式。

   

Memory

   

Available Bytes

   

Available Bytes显示出当前空闲的物理内存总量。当这个数值变小时,Windows开始频繁地调用磁盘页面文件。如果这个数值很小,例如小于5 MB,系统会将大部分时间消耗在操作页面文件上。

   

Memory

   

% Committed Bytes in Use

   

% Committed Bytes In Use 是 Memory: Committed Bytes 与Memory: Commit Limit之间的比值。(Committed memory指如果需要写入磁盘时已在分页文件中保留空间的处于使用中的物理内存。Commit Limit是由分页文件的大小而决定的。如果扩大了分页文件,该比例就会减小)。这个计数器只显示当前百分比;而不是一个平均值。

   

Memory

   

Page Faults/sec

   

Page Faults/sec是指处理器处理错误页的综合速率。用错误页数/秒来计算。当处理器请求一个不在其工作集(在物理内存中的空间)内的代码或数据时出现的页错误。这个计数器包括硬错误(那些需要磁盘访问的)和软错误(在物理内存的其它地方找到的错误页)。许多处理器可以在有大量软错误的情况下继续操作。但是,硬错误可以导致明显的拖延。这个计数器显示用上两个实例中观察到的值之间的差除以实例间隔的持续时间所得的值。

   

Network Interface

   

Bytes Total/sec

   

Bytes Total/sec是发送和接收字节的速率,包括帧字符在内。

   

Network Interface

   

Packets/sec

   

Packets/sec为发送和接收数据包的速率。

   

Physical Disk

   

% Busy Time

   

% Busy Time指磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。

   

Physical Disk

   

Avg. Disk Queue Length

   

Avg. Disk Queue Length 指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。

   

Physical Disk

   

Current Disk Queue Length

   

Current Disk Queue Length指在收集操作数据时在磁盘上未完成的请求的数目。它包括在快照内存时正在为其提供服务中的请求。这是一个即时长度而非一定间隔时间的平均值。多主轴磁盘设备可以一次有多个请求操作,但是其它同时发生的请求为等候服务。这个计数器可能会反映一个暂时的高或低的列队长度,但是如果在磁盘驱动器存在持续负载,可能值会总是很高。请求等待时间与这个列队的长度减去磁盘上的主轴成正比。这个差值应小于2才能保持良好的性能。

   

Logical

Disk

   

% Free Space

   

% Free Space 是所选定的逻辑磁盘驱动器上总的可用空闲空间的百分比。

   

Logical

Disk

   

Free Megabytes

   

可用的 MB 显示磁盘驱动器上尚未分配的空间。

   

 

 以下为监控进程常用的计数器:

Process对象的主要指标

   

性能对象

   

计数器

   

提供的信息

   

Process

   

% Privileged Time

   

% Privileged Time 是在特权模式下处理线程执行代码所花时间的百分比。当调用 Windows 系统服务时,此服务经常在特权模式运行,以便获取对系统专有数据的访问。在用户模式执行的线程无法访问这些数据。对系统的调用可以是直接的(explicit)或间接的(implicit),例如页面错误或间隔。

   

Process

   

% Processor Time

   

% Processor Time 是所有进程线程使用处理器执行指令所花的时间百分比。指令是计算机执行的基础单位。线程是执行指令的对象,进程是程序运行时创建的对象。此计数包括处理某些硬件间隔和陷阱条件所执行的代码。

   

Process

   

% User Time

   

% User Time 指处理线程用于执行使用用户模式的代码的时间的百分比。应用程序、环境分系统和集合分系统是以用户模式执行的。Windows 的可执行程序、内核和设备驱动程序不会被以用户模式执行的代码损坏。

   

Process

   

Creating Process ID value

   

Creating Process ID value 指创建该进程的父进程号。

   

Process

   

Elapsed Time

   

该进程运行的总时间(用秒计算)。

   

Process

   

Handle Count

   

由这个处理现在打开的句柄总数。这个数字等于这个处理中每个线程当前打开的句柄的总数。

   

Process

   

ID Process

   

ID Process 指这个处理的特别的识别符。ID Process 号可重复使用,所以这些 ID Process 号只能在一个处理的寿命期内识别那个处理。

   

Process

   

IO Data Bytes/sec

   

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

   

Process

   

IO Data Operations/sec

   

本处理进行读取/写入 I/O 操作的速率。这个计数器为所有由本处理产生的包括文件、网络和设备 I/O 的活动计数。

   

Process

   

IO Other Bytes/sec

   

处理给不包括数据的 I/O 操作(如控制操作)字节的速率。这个计数器为所有由本处理产生的包括文件、网络和设备 I/O 的活动计数。

   

Process

   

IO Other Operations/sec

   

本处理进行非读取/写入 I/O 操作的速率。例如,控制性能。这个计数器为所有由本处理产生的包括文件、网络和设备 I/O 的活动计数。

   

Process

   

IO Read Bytes/sec

   

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

   

Process

   

IO Read Operations/sec

   

本处理进行读取 I/O 操作的速率。这个计数器为所有由本处理产生的包括文件、网络和设备 I/O 的活动计数。

   

Process

   

IO Write Bytes/sec

   

处理从 I/O 操作写入字节的速度。这个计数器为所有由本处理产生的包括文件、网络和设备。

   

Process

   

IO Write Operations/sec

   

本处理进行写入 I/O 操作的速率。这个计数器为所有由本处理产生的包括文件、网络和设备 I/O 的活动计数。

   

Process

   

Page Faults/sec

   

Page Faults/sec 指在这个进程中执行线程造成的页面错误出现的速度。当线程引用了不在主内存工作集中的虚拟内存页即会出现 Page Fault。如果它在备用表中(即已经在主内存中)或另一个共享页的处理正在使用它,就会引起无法从磁盘中获取页。

   

Process

   

Page File Bytes

   

Page File Bytes 指这个处理在 Paging file 中使用的最大字节数。Paging File 用于存储不包含在其他文件中的由处理使用的内存页。Paging File 由所有处理共享,并且 Paging File 空间不足会防止其他处理分配内存。

   

Process

   

Page File Bytes Peak

   

Page File Bytes Peak 指这个处理在 Paging files 中使用的最大数量的字节。

   

Process

   

Pool Nonpaged Bytes

   

Pool Nonpaged Bytes 指在非分页池中的字节数,非分页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。这个计数器仅显示上一次观察的值;而不是一个平均值。

   

Process

   

Pool Paged Bytes

   

Pool Paged Bytes 指在分页池中的字节数,分页池是系统内存(操作系统使用的物理内存)中可供对象(在不处于使用时可以写入磁盘的)使用的一个区域。这个计数器仅显示上一次观察的值;而不是一个平均值。

   

Process

   

Priority Base

   

这次处理的当前基本优先权。在一个处理中的线程可以根据处理的基本优先权提高或降低自己的基本优先权。

   

Process

   

Private Bytes

   

Private Bytes 指这个处理不能与其他处理共享的、已分配的当前字节数。

   

Process

   

Thread Count

   

在这次处理中正在活动的线程数目。指令是在一台处理器中基本的执行单位,线程是指执行指令的对象。每个运行处理至少有一个线程。

   

Process

   

Virtual Bytes

   

Virtual Bytes 指处理使用的虚拟地址空间的以字节数显示的当前大小。使用虚拟地址空间不一定是指对磁盘或主内存页的相应的使用。虚拟空间是有限的,可能会限制处理加载数据库的能力。

   

Process

   

Virtual Bytes Peak

   

Virtual Bytes Peak 指在任何时间内该处理使用的虚拟地址空间字节的最大数。

   

Process

   

Working Set

   

Working Set 指这个处理的 Working Set 中的当前字节数。Working Set 是在处理中被线程最近触到的那个内存页集。如果计算机上的可用内存处于阈值以上,即使页不在使用中,也会留在一个处理的 Working Set中。当可用内存降到阈值以下,将从 Working Set 中删除页。如果需要页时,它会在离开主内存前软故障返回到 Working Set 中。

   

Process

   

Working Set Peak

   

Working Set Peak 指在任何时间这个在处理的 Working Set 的最大字节数。

 

   

linux测试网速的工具

1、fast

是Netflix提供的一项服务,它不仅可以通过命令行来使用,而且可以直接在Web端使用:fast.com,我们可以通过以下命令来安装这个工具:

$ npm install --global fast-cli

不管是网页端还是命令行,它都提供了最基本的网络下载测速。命令行下最简单的使用方法如下:

$ fast

93 Mbps ↓

从以上结果可以看出,直接使用fast命令的话,将只返回网络下载速度。如果你也想获取网络的上传速度,则需要使用-u选项。

$ fast -u

⠧ 81 Mbps ↓ / 8.3 Mbps ↑

2、speedtest

是一个更加知名的工具。它是用Python写成的,可以使用apt或pip命令来安装。你可以在命令行下使用,也可以直接将其导入到你的 Python

项目,使用的时候,可以直接运行speedtest命令即可:

$ speedtest

Retrieving speedtest.net configuration...

Testing from Tencent cloud computing (140.143.139.14)...

Retrieving speedtest.net server list...

Selecting best server based on ping...

Hosted by Henan CMCC 5G (Zhengzhou) [9.69 km]: 28.288 ms

Testing download

speed................................................................................

Download: 56.20 Mbit/s

Testing upload

speed......................................................................................................

Upload: 1.03 Mbit/s

从运行结果可以看出,speedtest命令将直接提供上传/下载速率,测试的过程也是挺快的。你可以编写一个脚本来调用这个命令,然后定期进行网络测试,并在结果保存在一个文件或数据库,这样你就可以实时跟踪你的网络状态。

3、iperf

是一个网络性能测试工具,它可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

这个工具不仅仅在Linux系统下可以用,在Mac和Windows系统同样可以使用。

如果你想测试网络带宽,则需要两台电脑。这两台电脑需要处于同样的网络,一台作为服务机,另一台作为客户机,并且二者必须都要安装

iPerf,可以通过如下命令获取服务器的IP地址:

$ ip addr show | grep inet.*brd

inet 192.168.242.128/24 brd 192.168.242.255 scope global dynamic

noprefixroute ens33

之后,我们再在服务机上启动iperf工具:

$ iperf -s

然后,我们就可以等待客户机的接入了。客户机可以使用以下命令来连上服务机:

$ iperf -c 192.168.242.128

通过几秒钟的测试,它就会返回网络传输速率及带宽。

常用的软件测试工具有哪些?

在测试工作中,需要接触到各种类型的测试工具。一般来说,有以下一些类型的工具:

测试管理工具:可以帮助完成测试计划、跟踪测试运行结果等的工具。这类工具还包括有助于需求、设计、编码测试及缺陷跟踪的工具;

静态分析工具:分析代码而不执行代码。这种工具检测某些缺陷比用其它方法更有效,开销也更小。这种工具一般可以度量代码的各种指标,如McCabe测定复杂度,Logiscope度量代码和规范的复合度等等;

覆盖率工具:这种工具评估通过一系列测试后,软件被执行的程度。这种工具大量的被应用于单元测试中,如PureCoverage、TrueCoverage、Logiscope等;

动态分析工具:这种工具评估正在运行的系统。例如,检查系统运行过程中的内存使用情况,是否有内存越界、内存泄露等等,这类工具有Purify、BoundChecker等;

测试执行工具:这类工具可使测试能够自动化进行,并且各个层次(单元测试、集成测试、系统测试)的执行工具都有。例如系统测试阶段有功能测试自动化工具,如Robot、Winrunner、SilkTest等;还有性能测试工具,如Loadrunner、SilKPerformer等。

白盒测试工具主要有:

内存资源泄漏检查:Numega中的bouncechecker,Rational的Purify

代码覆盖率检查:Numega中的truecoverage,Rational的Purecoverage,Telelogic公司的logiscope,Macabe公司的Macabe

代码性能检查:Numega中的truetime,Rational的Quantify

代码静态度量分析质量检查工具:logiscope和Macabe

黑盒测试工具主要有:

客户端功能测试:MI公司的winrunner,compuware的qarun,Rational的robot

服务器端压力性能测试:MI公司的winload,compuware的qaload,Rational的SQAload等等

Web测试工具:MI公司的Astra系列,rsw公司的e-testsuite

测试管理工具:rational的testmanager,compuware的qadirector等

缺陷跟踪工具:trackrecord,Testtrack

单元测试工具:

测试框架:delphidunitjavajunitc++cppunit

性能测试工具有哪些

测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具,这些产品主要是MercuryInteractive(MI)、Segue、IBM Rational、 Compuware和Empirix等公司的产品,而MI公司的产品占了主流。白盒测试工具白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。静态测试工具:直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。

静态测试工具的代表有:Telelogic公司的Logiscope软件;PR公司的PRQA软件。

动态测试工具:动态测试工具与静态测试工具不同,动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。

动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。黑盒测试工具黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。

黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。性能测试工具专用于性能测试的工具包括有:Radview公司的WebLoad;Microsoft公司的 WebStress等工具;针对数据库测试的TestBytes;对应用性能进行优化的EcoScope等工具。

MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。

测试管理工具的代表有:Rational公司的Test Manager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等软件。 满意的话请采纳!

服务器性能测试工具(服务器性能测试工具介绍) 第1张

欢迎 发表评论:

文章目录
    搜索