性能测试时的性能衡量指标与监控系统指标.docVIP

性能测试时的性能衡量指标与监控系统指标.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
性能测试时的性能衡量指标与监控系统指标

分享一下个人在做性能测试时的性能衡量指标与监控系统指标 性能衡量指标一般有以下几个: 1. 响应时间 2. 并发用户数 3. 吞吐量 4. TPS 上面几个指标的具体理解我就不说了,网上有很多。那么在实际的性能测试中,一般我们拿到线上的pv值,那么根据pv值我们怎么算出合适的线程数,以及系统的吞吐量呢? 首先分享一下TPS的计算方式: 2种方式:峰值法和二八法 峰值法:取一段峰值访问时间的pv,除以时间长度,得到TPS 二八法:TPS平均值 = ( (PV*80%)/(24*60*60*20%))/服务器数量 = pv/s ??????????? ?TPS峰值 = (((PV*80%)/(24*60*60*20%))*1.6) /服务器数量= pv/s 对于金融产品组,一般pv值指的是每天的请求数(如果是web页面访问,PV有可能值交易数,一个交易可能有多个请求,这个需要和PD确认清楚),如果是请求数,那么我们得到的TPS可以理解为系统的吞吐量。以信用卡快捷支付为例: 改产品预计的pv值为3000w/天,按照一天24小时80%的访问量集中在20%的时间来计算系统每秒钟处理的请求数为: TPS平均值 = ( (PV*80%)/(24*60*60*20%))=1388个请求/S?,线上有8台机器,但我们的压力按照4台机器来计算的,再除以4为347/s.得到这个吞吐量后,我们的并发线程数如何来设置来,可以用单线程的方式来确定,在jmeter中设置并发线程数为1,运行时间为1s,观察聚合报告,看1s的时间内一个线程可以发多少个请求,结果为25个请求左右,那么再用347/25=13.88, ?最后设置的最佳并发数为15,在该并发下tps大于并超过预期的347/S20%左右。于是我们可以认为这是比较合理的并发线程数。 系统指标: 1. cpu 2. load 3. mem 4. I/O 5. jvm cpu:在linux系统下可以用top命令查看,(发现不能贴图,先算了) 主要关注这几个指标:Cpu(s):? 0.0% us,? 0.2% sy,? 0.0% ni, 99.8% id,? 0.0% wa,? 0.0% hi,? 0.0% si 用户时间【User Time】表示用户进程所花费的CPU百分比,包括Nice时间。在用户时间值很高的情况下,表明系统正在执行实际的工作。 系统时间【System Time】表示内核操作所花费的CPU百分比,包括硬中断【IRQ】和软中断[SoftIRQ]。系统时间值持续很高表明网络或驱动器堆栈可能存在瓶颈。通常系统只花费很少时间在内核时间上。 Nice时间【Nice time】表示花费在执行re-nicing(改变进程的执行顺序和优先级)进程的CPU百分比 等待【Waiting】花费在等待I/O操作所需的CPU时间总和,系统不应该花费过多的时间等待I/O操作;否则你应该检查一下I/O子系统各方面性能。 ?空闲时间【Idle time】表示CPU空闲的百分比。 一般cpu指标低于60%比较合理,具体指标可以根据产品情况调整。 ? load Average:平均负载值 这个值很多开发都弄不清楚应该怎么计算,曾经看见一个开发发的监控报告说:系统负载值已超过2,认为系统负载过高,要求加硬件扩容。这个在系统内核数没有说明的情况下是完全不合理的,下面来解释一下: ?Load Average是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。这个和cpu的核数有关(查看cpu核数的命令为:cat /proc/cpuinfo,会展示出处理器的个数和每个处理器的内核数,把每个处理器的内核数相加即为系统的内核数),现在一般的配置为8核。那么该系统可同时处理8个进程,所以在没有排队的情况下,cpu都在处理的话,load值为8都是很合理的。一般在性能测试中要求load =cpu核个数*2,那么我们认为load Average等于16,我们认为都是可以接受的,这时系统有8个进程在处理,8个进程在排队,但每个cpu平均只有1个进程在排队。同样,这个指标也可以适当调整,一般我取的值是load =cpu核个数+2 ? mem:用free可以查看 ?total?????? used?????? free???? shared??? buffers???? cached Mem:?????? 2048132??? 2028508????? 19624????????? 0????? 10256???? 593292 -/+ buffers/cache:??? 1424960???? 623172 Swap:????

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档