发表于: 2017-09-16 17:05:00

1 689


今天完成的事情:

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



返回列表 返回列表
评论

    分享到