次元羊游戏资讯网

决战沙邑
当前位置:首页>游戏评测 >

性能测试的概念和指标-墙裂推荐-游戏性能测试指标有哪些方面-性能测试指标计算公式

作者:次元羊 时间:2023-10-17 08:05:45阅读:(37)

前言今天想和大家来聊聊性能测试常见的指标,我在这里也不喜欢说废话我们直接开始吧。

性能测试最基本要考虑以下几点:1、时间特性,主要指的是软件产品的事物响应时间(用户发出请求到收到应答的这段时间)2、资源利用率,包括:cpu、内存、网络、硬盘、虚拟内存(如Java虚拟机)3、服务器可靠性,指服务器能在相对高负载情况下持续的运行

4、可配置优化性,指服务器配置优化、业务逻辑优化、代码优化等性能指标:1、响应时间响应时间是最能反应服务器性能的指标之一,也是用户最关心的业务体验比如登录某个商城网站时,只消耗1s钟在进行性能测试时,是通过对事务响应时间(Transaction Response Time)来游戏评测分析服务器的响应速度。

(一般响应时间在3s内,用户会感觉比较满意在3s~8s之间用户勉强能接受,大于8s用户就可能无法接受,从而刷新页面或者离开,仅供参考)2、吞吐量吞吐量表示单位时间内能够完成的事务数量,因此也被称为每秒事务数(Transaction Per Second),计算方式是完成的事务数除以时间。

3、服务器资源占用服务器资源占是指在负载情况下,系统的资源利用率资源占用越低,说明系统越优秀例如,cpu的占用率、内存使用率、查询Cache命令率、磁盘I/O读写速率等CPU常用计数器:计数器计数器分析。

%Processor Time如果该值持续超过95%,表明瓶颈是cpuProcesso游戏评测r Queue Length指待处理队列中的线程数,如果在处理器队列中总是有两个以上的线程则通常表示处理器堵塞,处理器瓶颈会导致该值持续大于2。

此外,跟踪计算机的服务器工作队列将显示当前长度的Server Work QueuesQueue Length,队列长度持续大于4则表示可能出现处理器拥塞%User Time表示消耗CPU的数据库操作,如排序、执行aggregate functions等。

如果该值很高,可考虑增加索引,尽量使用简单的表连接、水平分割大表格等方法来降低该值%Privileged Time此计数器是特定时间的值,指(CPU内核时间)在特权模式下处理线程执行代码所花时间的百分游戏评测比,如果该参数的值和“Physical Disk”参数值一直很高,则表明I/O有问题。

可考虑更换磁盘系统%DPC Time网卡CPU的占用率,该值越低越好如果这个值大于50%并且Processor:%Processor Time非常高,说明提供的网络已经受CPU影响无法饱和工作内存常用计数器:。

计数器计数器分析Available Mbytes可用物理内存数如果Available Mbytes的值很小,则说明计算机上总的内存可能不足,或某程序没有释放内存Page/sec表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放内存空间的页面数。

游戏评测般如果Page/sec持续高于几百,那么应该进一步研究交换活动,有可能需要增加内存,以减少换页的需求Page/sec的值很大,不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致Page read/sec

指页的硬故障,是Page/sec的子集,为了解析对内存的引用,必须读取页文件的次数该数值越低越好,大于5时表示磁盘读而不是缓冲读Page Faults/sec指每秒钟软件页面失效的数目,而Page/sec只表明数据不能在指定内存中立即使用。

Cache Bytes文件系统缓存(File System Cache),默认情况下为50%的可用物理内存,如果怀疑有内存泄露,请监视Memory 游戏评测Available Bytes、Processworking set 和ProcessHandle Count,如果怀疑是内存的进程ProcessPrivate BytesProcessWorking set 和ProcessHandle Count,如果怀疑是内核模式进程导致了泄露,则还应该监视Memorypool Nonpaged Bytes、Memorypool Nonpaged Allocs和Process(process_name)Pool Nonpaged Bytes

Pages/sec每秒钟检索的页数,该数字应少于每秒1页Committed Bytes以字节表示游戏评测的确认虚拟内存,确认内存磁盘页面文件上保留了空间的物理内存每个物理磁盘上可以有一个或一个以上的页面文件这个计数器只显示上一回观察到的值;它不是一个平均值。

其实就是指有多少虚拟内存正在被使用,虚拟内存是占用硬盘空间的内存,和物理内存无关

物理磁盘常用计数器:计数器计数器分析%Disk Time指所选磁盘驱动器为读或写入请求提供服务所用时间的百分比如果三个计数器都比较大,那么磁盘不是瓶颈如果只有%Disk Time比较大,另外两个都比较适中,则硬盘可能会是瓶颈。

若数值持续超过80%,则可能的内存泄露Avg.Disk Queue Length它指的是当前磁盘的队列长度通俗点来解释就是:计数器反映的磁盘游戏评测完成请求所用的时间,较高的值表明磁盘控制器由于失败而不断重试该磁盘。

这些故障会增加平均磁盘传送时间Average Disk Read /Write Queue Length指读取(写入)请求(队列)的平均数Disk Reads(Writes)/sec物理磁盘上每秒磁盘读/写的次数,两者相加,应小于磁盘设备最大容量

Average Disk sec/Read指以秒计算的在此盘上读取数据所需的平均时间Average Disk sec/Transfer指以秒计算的在此盘上写入数据所需的平均时间一般来说,该值小于15ms最佳,15~30ms为良好,30~60ms为可以接受,超过60ms则需要考虑更换磁盘游戏评测或磁盘的RAID方式了。

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

如果决定要增加线程字节池的大小,应该同时监视实例化inetinfo 和dllhost 进程这两个计数器增加线程可能会增加上下文切换次数,这样性能不会上升,反而会下降如果多个实例的上、下文切换值非常高,就应该减小线程字节池。

进程常用计数器:计数器计数器分析Process/ %Processor Time被处理器消耗的处理器时间数量如果服务器专用于SQL Server,则游戏评测可接受的最大上限是80%~85%Page Faults/sec。

将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响Working set处理线程最近使用的内存页,反映了每个进程使用的内存的数量,如果服务器有足够的空闲内存,页就会被留在内存中,当自由内存少于一个特定的阈值时,页就会被消除内存。

Process/Private Bytes指进程所分配的无法与其他进程共享的当前字节数量,该计数器主要用来判断进程在性能测试过程中有无内存泄露我们可以重点监控inetinfo进程的Private Bytes,如果在性能测试过程中,该进程Private Bytes计数器的值不断增加,或游戏评测是性能测试停止后一段时间,该进程的Private Bytes仍然持续较高水平,则说明应用存在内存泄露。

服务缓冲常用计数器:计数器计数器分析File Cache Hits文件缓存命中的具体值File Cache Hits %全部缓存请求中,缓存命中次数所占的比例,反映了IIS的文件缓存设置的工作情况对于一个大部分是静态网组成的网站,该值应该保持在80%左右。

File Cache Flushes自服务器启动之后文件缓存刷新的次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象就会被频繁的丢弃再重新生成,起不到缓存的作用,通过将File Cache Hits除以File Cache Flush游戏评测es 可以得出缓存命中率对缓存清空率的比率。

通过观察这两个值,可以得到一个适当的刷新值Connection Refused该数值越低越好,高数值表明网络适配器或处理器存在瓶颈网络常用计数器:计数器计数器分析Bytes Total/sec发送和接收字节的速度,包括帧字符在内,判断网络连接速度是否为瓶颈,可以用该计数器的值和目前网络的带宽相除,结果应该小于50%。

Apache常用计数器:计数器计数器分析Apache CPU Usage apache服务器CPU的占用率Kbytes Sent/sec服务器每秒发送的字节数Hits/secApache 服务每秒的点击率

#Busy WorkersApac游戏评测he 服务占用率#Idle WorkersApache 服务空闲率Mysql 常用计数器:计数器计数器分析Threads_connected表示当前有多少个客户连接该Mysql服务器,连接数是否过多,网络是否存在问题,它是动态变化的。

当Threads_connected ==max_connections时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现报错信息。

Threads_running如果数据库超负荷了,将会得到一个正在(查询的语句持续)增长的数值这个值也可以小于预先设定的值这个值在很短的时间内超过限定值是没游戏评测有问题的,如果超过预设值时且5s内没有回落,就要同时监视其他的一些值。

Aborted_clients客户端被异常中断的数值(因为连接到Mysql服务器的客户端没有正常地断开或关闭)对于一些应用程序是没有影响的,但对于另一些应用程序可能要跟踪该值,因此异常中断连接可能表明一些应用程序有问题。

Questions每秒获得的查询数量也可以是全部查询的数量,可以根据输入不同的命令得到你想要的不同的值Handler_*如果想监视底层(low-level)数据库负载,这些值是值得去跟踪的如果Handler_read_rnd_next值与正常值相差悬殊,可能是优化或索引出问题了,Handler_rollbac游戏评测k表明事务被回滚的查询数量。

Opened_tables指表缓存没有命中的数量如果该值很大,就需要增加table_cache的数值Select_full_join没有主键(key)联合(join)的执行,该值可能是零这是捕获开发错误的好方法,因为这样的查询有可能降低系统的性能。

Select_scan执行全表搜索查询的数量,如果发现该值持续增长,说明需要优化,缺乏必要的索引或其他问题Select_queries超过该值(--long-query-time)的查询数量,或没有使用索引查询数量。

对于全部查询会有小的冲突如果该值增长,则表明系统有性能问题Threads_created该值一般较低较高的值游戏评测可能意味着需要增加thread_cache的数值,或遇到了持续增加的连接,表明存在潜在的问题Pending normal aio reads

该值是innodb io 请求查询的大小(size)。如果该值超出了10~20的范围,可能存在一些瓶颈。

总结:1、硬件上的性能瓶颈:一般指的是CPU、内存、磁盘读写等的瓶颈,为服务器硬件瓶颈2、应用软件上的性能瓶颈:一般指的是服务器操作系统瓶颈(参数配置)、数据库瓶颈(参数配置)、web服务器瓶颈(参数配置)、中间件瓶颈(参数配置)等。

3、应用程序上的性能瓶颈:一般指的是开发人员,开发出来的应用程序(如sql语句、数据库设计、业务逻辑、算法等)4、操作系统游戏评测上的性能瓶颈:一般指的是Windows、linux等操作系统,如出现物理内存不足时,或虚拟内存设置不合理(虚拟内存设置不合理,会导致虚拟内存的交换率大大降低,从而导致行为的响应时间大大增加,可以认为在操作系统上出现了性能瓶颈)。

5、网络设备上的性能瓶颈:一般指的是防火墙、动态负载均衡器、交换机等设备性能瓶颈原因定位十分复杂,需抽丝剥茧逐一排除,以上信息仅供参考今天的分享就到这里了,喜欢阿六的给阿六点赞评论加关注吧,你们的支持就是阿六的动力哟。

推荐阅读