Performance Test Framework (PTF)是压力测试框架
来源:互联网 发布:广州淘宝代运营 编辑:程序博客网 时间:2024/05/29 18:48
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
==自己画的图表 样例==
- Performance Test Framework (PTF)是压力测试框架
- Performance Test Framework (PTF)是压力测试框架
- Play框架功能测试 (functional test in play framework)
- Play框架功能测试 (functional test in play framework)
- GO Test 单元测试&压力测试
- 软件压力测试是
- QTP自动化测试框架系列一【复合测试框架(Hybrid Test Automation Framework)】
- New Tool: The PenTesters Framework (PTF) Released
- web 项目 压力测试 ab test
- flask框架,api压力测试
- play framework学习笔记之测试test
- CTS Verifier:Widget Framework Test如何测试?
- C++ Unit Test Framework(单元测试框架)
- C++实现服务器压力测试框架
- node.js 压力测试框架.01
- 自动化测试框架Robot Framework
- Robot Framework测试框架(学习)
- 使用Application Center Test (ACT)来做压力测试
- 附件的上传与下载
- unity3d事件函数整理(事件,回调函数)消息处理
- socket绑定的ip为INADDR_ANY 的意义
- Ubuntu Server 16.04 环境搭建
- eclipse格式化代码设置
- Performance Test Framework (PTF)是压力测试框架
- GITC 2016全球互联网技术大会主席团嘉宾名单抢先看!
- FastDFS分布文件系统
- AT4REPatcher 0.63汉化版本 和 108个皮肤(完全自制)
- 五种开源协议的比较(BSD、Apache、GPL、LGPL、MIT)
- LeetCode 85 Maximal Rectangle
- 如何用水经注万能地图下载器进行投影转换
- 数据仓库与数据库
- java.lang.ClassNotFoundException: org.apache.struts2.views.gxp.inject.InjectedObjectContainer