热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

协议级性能测试学习笔记(1)

一、概念:负载测试: 关注在不同用户数量,响应的系统它的性能反应,性能指标; 压力测试: 关注高压力,很大的用户同时去访问给服务器施加压力,系统是怎么死的; 容量测试: 最大支撑的

一、概念:

负载测试:  关注在不同用户数量,响应的系统它的性能反应,性能指标;

 

压力测试:  关注高压力,很大的用户同时去访问给服务器施加压力,系统是怎么死的;

 

容量测试:  最大支撑的数量(用户的数量、数据库)

 

二、性能评价指标:

响应时间:从用户的角度评价系统的处理速度(2-5-10);

吞吐量:硬盘IO、网络IOCUP内存、请求处理能力、打开页面数量;

事务处理能力-TPS : 处理当事务的能力、综合处理事务的能力;

 

三、性能测试关注点:

响应时间

服务器端资源:

数据库端的资源使用情况:

最大访问用户数量

最大业务处理数量(核心业务)

系统能否支撑7*24小时运转

内存资源,线程资源能否正常回收

代码:算法、SQL 语句

稳定性,可恢复性怎么样?

 

 

四、性能测试核心原理:

 

基于协议:网络分布式架构

多线程:模拟用户负载

模拟真实场景:

 

到底并发多少虚拟用户是合理的?

1、从TPS业务量来看(在已经评估的系统上做一点增加);

2、通过Ramp Up来做预测试,通过慢慢增加来看系统的监控服务器的指标,最近服务器的最佳指标数量值,来确定并发的最大用户并发数量;来看能不能达到需求的TPS业务量。

3、针对新系统通过Ramp Up来确定并发的最大用户并发数量,等系统正式运营后去监控最大用户数和服务器的指标,一旦接近最大并发数量,想办法来优化系统。

 

 

五、性能测试场景设计

1、针对Phpwind 的基本性能测试设计:

a)每一个线程的每一次循环,均独立完成:首页登录发帖回帖点赞搜索退出,本场景方案没有什么特殊性可言,所有线程完成同样的工作。(混合场景)

 

b)每一个线程,只登录一次,然后每一次循环,只完成发帖的功能,每一个线程,最后退出。

针对特定场景进行设计(仅发帖功能),但是需要有前提,收尾。(单一场景)

 

c)不同的线程,做事情为什么要完全一样?不符合真实情况,随机场景。不同的用户,执行的操作并不完全一样。(随机场景)

 

2、如何模拟真实场景

 

a)门型场景:并发用户数突然间从0变成N,持续一段时间,又从N变成0。(适应于压力测试,目的在于检测服务器的抗压能力,如果无法抗住压力,服务器表现出来的反应)

 

b)拱型场景:并发用户数慢慢从0变成N,整个过程具备节奏感,可监控跟踪该段时间内,随着并发用户数的增加(Ramp Up),相关性能指标到的变化趋势。与之对应的,从N变成0的过程(Ramp Dowm),也应该如此。(适用于负载测试,也适用于指标分析,以及系统性能预测试

 

c)复杂场景:模拟真实服务器访问情况,不停的在Ramp Up , Duration , Ramp Dowm 之间切换,场景运行图像类似于高低起伏不同的波浪线,这类场景运用较少,因为需要大量的历史数据作为支撑,通常不适用于对未上线的系统进行设计。

 

d)混合场景:综合利用上述各类场景,进而更好的模拟真实情况,比较理想的一种模型,真实价值不大。但在LR 这款工具中,对混合场景也进行了另外的解释,就是将多个性能测试脚本混合在一起同时运行。

 

3、关于场景设计

脚本代码

脚本结构

并发设置

持续优化(先做一些预测试如登录响应时间、发帖、回帖、点赞等时间,然后在Ramp Up 的时候就可以知道运行5到10次大概需要花费多长时间)

 

 

 

 

 

4、场景在脚本层面设计:

每10秒增加5个线程,50个线程,需要100秒增加完成。

究竟多长的时间间隔用于完成Ramp Up 的过程?Ramp Up 的过程是为监控不同负载情况下的性能指标的变化趋势,所以,一定要确保时间间隔是足够的,最好让每一批Ramp Up增长的线程能够多运行一会儿,至少确保运行5-10次。那么,5-10次大概要花费多少时间?根据响应时间的长短来决定。


六、指标分析的方法:

1、Runing Vusers—AverageTransation Response Time

协议级性能测试学习笔记(1)

关联随着50虚拟用户数量的增加,平均响应时间不受影响,正常运行。

协议级性能测试学习笔记(1)

关联随着100虚拟用户数量的增加,到55个用户时响应时间开始增加,出现55个以后就可能导致系统出现瓶颈了。


2、Runing Vusers— Windows Resources


协议级性能测试学习笔记(1)

随着50虚拟用户数量的增加,CPU也在逐渐增减,最大值达到87%;


协议级性能测试学习笔记(1)

随着100虚拟用户数量的增加,CPU也在逐渐增减,当虚拟用户增加到70个,CPU达到100%;当结束的时候用户到达60个,CPU达到100%;

 

 

内容学习来源邓强老师的协议级性能测试自动化。

 







推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在Oracle数据库中创建序列时如何选择cache或nocache参数。cache参数可以提高序列的存取速度,但可能会导致序列丢失;nocache参数可以避免序列丢失,但在高并发访问时可能导致性能问题。文章详细解释了两者的区别和使用场景。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文总结了淘淘商城项目的功能和架构,并介绍了传统架构中遇到的session共享问题及解决方法。淘淘商城是一个综合性的B2C平台,类似京东商城、天猫商城,会员可以在商城浏览商品、下订单,管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。商城的架构包括后台管理系统、前台系统、会员系统、订单系统、搜索系统和单点登录系统。在传统架构中,可以采用tomcat集群解决并发量高的问题,但由于session共享的限制,集群数量有限。本文探讨了如何解决session共享的问题。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
author-avatar
吃羊的肉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有