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

PerformanceTestFramework(PTF)是压力测试框架

PerformanceTestFramework(PTF)是压力测试框架根据我工作中做压力测试的程序不断完善而来,现在发布为一个项目。GoogleCode上的PTF项

Performance Test Framework (PTF)是压力测试框架

根据我工作中做压力测试的程序不断完善而来,现在发布为一个项目。

Google Code  上的 PTF项目地址

https://code.google.com/p/performance-test-framework/

 

采用Java语言开发,精密、高效、可扩展的测试平台。

如果你开发了某种Socket通信程序、Java RMI程序、用Mina开发了某种网通信程序、WebService服务,你想测试一下在大并发情况下这些程序的表现,而正为写一个测试程序而烦恼时,Performance Test Framework (PTF)可以很好的帮助你。

PTF是一个测试工具,你可以通过写代码扩展它,实现对各种程序的测试。

并产出txt、csv格式的测试报告。

 

 

==一般测试方法==
运行10,20,30,40...个并发,每个并发循环 K 次业务请求(需要你来实现这个单次业务请求),每次执行业务发送1K,4K,10k...的数据,接收的数据量以实际返回为准。本例中运行一次完整测试共进行了12轮小测试(4种并发x3种数据大小)。   最终产生一个测试结果文件txt、csv,你自己生成Excel图表。


一般一台双核CPU的机器,启动100个并发(线程)进行测试时,CPU负载就100%了,压力机的最大并发数能达到多少取决你的CPU性能。

测试时,请密切关注网卡的吞吐量、CPU负载、服务端磁盘IO情况,有一个硬件负载达到100%就可以停止测试了,因为硬件成为了测试的瓶颈。

==核心类图==
核心类中有两个,负责创建线程池、运行N个线程、每个线程执行k次你写的“业务”、输出测试结果。并且采用了“集合点”产生真并发。

Constants 配置类,配置并发数、循环次数、数据大小、txt文件输出位置,以后会改成配置文件。
BaseRunnable 核心类(父类)
BaseMainTest 核心类(父类)
HttpClientRunnable  你来实现这个单次业务请求(子类)
HttpTestDemo 你来实现的启动类,通过main方法来启动测试(子类)
LogAnalyseUtil 把txt文件转换成csv文件,就可以使用Excel打开,做图表了。

 

==开发说明==
src目录:源码  
doc目录:java doc  
uml目录:类图  
项目使用:JDK 1.5 ,GBK编码  

==测试结果 txt文件内容==
开始本轮测试-并发数:1,每并发请求次数:5,每次请求数据大小:4096字节
请求次数:5
成功次数:5
失败次数:0
本轮测试总共用时(s):0.76
平均每次请求用时(ms):152.10
发送吞吐量(M/s):0.03
接收吞吐量(M/s):0.53
每秒完成请求数(QPS):6.55

==自己画的图表 样例==



  • 查看图片附件


推荐阅读
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • java drools5_Java Drools5.1 规则流基础【示例】(中)
    五、规则文件及规则流EduInfoRule.drl:packagemyrules;importsample.Employ;ruleBachelorruleflow-group ... [详细]
  • vue使用
    关键词: ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 设计模式——模板方法模式的应用和优缺点
    本文介绍了设计模式中的模板方法模式,包括其定义、应用、优点、缺点和使用场景。模板方法模式是一种基于继承的代码复用技术,通过将复杂流程的实现步骤封装在基本方法中,并在抽象父类中定义模板方法的执行次序,子类可以覆盖某些步骤,实现相同的算法框架的不同功能。该模式在软件开发中具有广泛的应用价值。 ... [详细]
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社区 版权所有