您的位置:首页 > 数据库 > Redis

性能测试Jmeter的使用

2017-03-17 23:28 561 查看
本次测试使用了分部署服务哈,并且tomcat的接口是从redis取数哈。

1环境

1个mysql数据库,内存1个,cpu 1核

tomcat的web服务器,内存2g,cpu 2核,部署分布式tomcat服务,2个tomcat

reids缓存服务器,1g内存,cpu 1核

全部是虚拟机哈:



/usr/local/tomcat



tomcat1的端口为:8080

tomcat2的端口为:8081

tomcat1的web域名为:rest.j.server80

tomcat2的web域名为:rest.j.server81

nginx的域名为rest.j.server

因为nginx是使用域名匹配的,其实rest.j.server80,rest.j.server81,rest.j.com这三个ip映射都一样哈。修改了hosts的映射。

nginx做的是反向代理和负载均衡,配置如下:

upstream tomcatserver1 {
server 192.168.247.138:8080;
server 192.168.247.138:8081;
}
upstream tomcatserver2 {
server 192.168.247.138:8081;
}
server {
listen 80;
server_name rest.j.server80;
location / {
proxy_pass http://tomcatserver1; index index.html index.htm;
}

}
server {
listen 80;
server_name rest.j.server81;
location / {
proxy_pass http://tomcatserver2; index index.html index.htm;
}

}


反向代理:当输入的域名为rest.j.server81这个时候,nginx反向代理,把请求转发到http://tomcatserver2,然后通过upstream tomcatserver2配置的server来处理请求,实际被nginx转到192.168.247.138:8081来处理请求哈。

负载均衡:当直接访问nginx的域名是rest.j.server可以通过tomcatserver1的两个服务器的一个来处理请求,两个服务器默认权重一样,从来达到负载均衡的作用。

2使用Jmeter测试接口性能

Jmeter下载地址:

http://jmeter.apache.org/download_jmeter.cgi

apache-jmeter-3.1.zip

使用jdk1.8版本哈。

直接解压就可以使用了,启动程序在bin目录的jmeter.bat。

现在设置测试计划哈

基础url-就是域名哈:rest.j.com

接口:/rest/item/info/562379

用户2000,启动时间15秒,访问次数2次

1对应的Jmeter配置截图如下哈:



2设置默认的请求http





3添加一个http请求哈





这里的完整接口url为:

http://rest.j.com/rest/item/info/562379

返回数据为:



4添加结果图

一个图形结果和一个聚合结果



5保存运行



3怎么分析结果



样本数目:线程数(请求用户数)*请求次数,这里是2000*2

最新样本:这是最后一个请求的处理时间,这里是2毫秒

吞吐量:服务器每分钟处理的请求量

平均:这里是每个请求的平均处理时间

中值:所有处理时间的中位数

横坐标是时间,纵坐标是处理时间



Lable:请求类型

Samlpe:请求次数

average:总的运行时间/请求次数

median:中间值代表时间,表示一般的请求时间低于该值,一般的请求时间高于该值

90%Line:90%的请求处理时间,在这个值之下

95%,99%类似。

min:服务器相应最小值

max:服务器相应最大值

error:错误率

throughout:吞吐量,每秒或者每分钟的处理请求数

Received KB/sec:每分钟或者每秒钟的接受的数据量kb

sent KB/sec:每秒或者每分钟的发生的数据kb

从这里看出99%的请求都是13豪秒的。但是Max是177毫米,可能是因为某几次请求时间过长导致。但是整体数据都还不错哈……

秒级吞吐量为每秒264,可以看出这还不是这个的极限,因为99%都在13毫秒以下哈。

如果是并发量特别大的情况下,允许error%在5%以下。

出现error的原因有:

500 internal server error错误。

这个是nginx服务器的问题,详情可以参考文章:

http://www.jb51.net/article/35675.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息