发表于: 2017-09-16 17:05:00
1 691
今天完成的事情:
Jmeter压测
安装过程太简单了不说了,安好后运行bin里这个文件
添加一个线程组
每个线程可以当成一个用户,线程数就是最大的用户访问数,Ramp-Up Period是达到这个线程数所需的时间(秒),循环次数是要测试多少次,forever就一直运行,根本停不下来,设定了次数的话那么到达次数后会自动停止
然后添加一个Sampler组件,http请求
协议,ip,端口号,方法,路径
然后还需要监听器来从测试中抓取运行数据
查看结果树可以看到运行期间的一些信息,比如请求和响应的一些信息
Aggregate Graph聚合报告,看一下里面的一些表头
Label 很明显,取样器名称
Samples 取样器发送请求的数量
Average 单个请求平均响应时间
Median 50%用户请求的响应时间
90%Line 90%用户请求的响应时间
95%Line 95%用户请求的响应时间
99%Line 99%用户请求的响应时间
Min 最小响应时间
Max 最大响应时间
Error% 错误率
Throughput 吞吐量,算法就是请求数/总时间
后边还有接收发送数据量
这个%什么Line其实是将用户响应进行一个排序,第%多少的人的响应时间是多少
Summary Report,简易报告,没什么意义..
任务要求是压测并查看TPS,然后把程序压爆
性能测试的要求其实是要根据用户需求的,并不一定要追求性能多么多么好,而是只要满足用户需求即可
TPS即Transaction per second每秒钟处理事务数量
事务这个东西我的理解就是一次request,response的过程就是一个事务,那么tps也就是每秒钟服务器能完成多少次请求响应,说白了就是测试服务器处理事务的能力
然后发现jmeter并没有测tps的能力,最多只能在聚合报告里自己算,这怎么整!?
其实jmeter是有插件这种的东西
好,现在测/home这个界面,需要提出数据库应该还算可以。200个线程,1秒跑完,无限循环。如果error超过5%或者响应时间超过2s就算服务器爆炸
如图,TPS稳定之后大概在560个/s,平均事务响应时间在0.4/s。
我自己测localhost本地项目,在正常情况下很难压爆程序,所以我想到了测试服务器上的程序
20线程,1秒,10次循环
这次就差多了,平均响应时间都有1.68s,还有一次响应时间直接飚到了28s,吞吐量也只有6.4,TPS平均在8左右
安装memcached
一个大家都会踩到的坑
要用管理员身份运行才可以,之后启动memcached
memcached的jar包maven仓库也没有,辣鸡啊!
手动导入,或者使用maven命令
mvn install:install-file -Dfile=e:/java_memcached-release_2.6.6.jar -DgroupId=com.danga -DartifactId=memcached -Dversion=2.6.6 -Dpackaging=jar -DgeneratePom=true
其实就是用mvn install命令
-Dfile jar包位置
-DgroupId 组织名称
-DartifactId 项目名
-Dversion 版本号
-Dpackaging 打包类型
-DgeneratePom 生成pom
运行完之后可以去本地maven仓库看看
有了,然后就可以在pom文件里添加依赖了
<dependency>
<groupId>com.danga</groupId>
<artifactId>memcached</artifactId>
<version>2.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.6</version>
</dependency>
可以看到我的maven仓库地址和一般的都不一样,这里可以更改本地maven仓库位置
因为maven仓库的jar之类的东西其实不小,放在c盘.m2文件下很占地方,所以可以挪到别的地方
在maven安装路径下找到这个settings.xml
修改一下
OK了,我们去idea里看看maven仓库原来的配置
它依赖的是.m2底下的settings.xml,可惜你去找的话是找不到的,因为并不存在→_→把这个改到刚才我们设置的setting.xml就可以了。
之后idea会重新建立索引,然后重新下载jar包,我们就可以把.m2文件删了
明天计划的事情:
用memcache
遇到的问题:
TPS还是测不好,不是很理解测出来要干嘛→_→
收获:
使用Jmeter,TPS
进度:开始时间:2017.09.16
预计demo:2017.09.21
是否有延期风险:无
禅道链接:http://task.ptteng.com/zentao/project-task-286.html
评论