发表于: 2017-06-02 23:57:55

1 1401


今日完成

下载并使用JMeter,windows打开{path}/bin/jmeter.bat即可运行

添加线程组,其中添加sampler的http request、查看结果树、聚合报告

下面给出大部分运行结果:


case1: server:localhost jetty;请求路径/profession,只是简单的发一个html页面,无其他操作,仅有tiles参与

1s 500*100压爆了,tps432 这个条件完全是压测我的电脑cpu

200*50正常 0%error 391tps

直到360*50 开始出现error

然后换50*360 发现tps到421有所提升并无error

加到100*300,电脑cpu90%,基本是压电脑性能了,tps415并无error

case1总结:同等请求数时相对于提高循环数提高线程数对server压力更大,tps相对降低,错误率相对较高,错误为Connection refused: connect

我这里差不多390的tps就是在烤cpu了,即简单的传回html数据不进行其他操作,应该是我的电脑性能找不到jsp性能瓶颈


case2: server:localhost jetty;请求路径/time,这是一个通过jsp中elFunction简单获取当前时间的页面,也用了tiles组合页面

刚好100*100直接压到极限,刚好0.57错误率,300tps,这似乎是一次偶然情况。之后再测了两次没有这个结果,不明原因

80*80情况好了太多 420tps,0error

300*50 392tps 0error

360*50 有error

结论:基本上来看,jsp的简单的elFunction对性能无影响


case3: server:localhost jetty;请求路径/,即首页,有4个从数据库get Student对象的对数据库的查询语句,并组合成一个list传给jsp

100*100 52tps,0error,电脑cpu使用率只有15%

500*100 没让它跑完,可以看到线程增加并没有引起error,tps也几乎不变,不过等待的时间大大增加了

100*500 几乎完全等于100*100

5s 1000*1000 tps维持50+,0error,电脑cpu使用率20%

2000*2000 与上面基本一致

10000*1000 电脑差点挂了,赶紧结束进程。。。

结论:似乎完全被数据库的插询效率卡住了性能的咽喉,error持续0%,cpu使用率也非常低,性能完全屈从于数据库的效率50tps


case4: server:云服务器 tomcat;请求路径/time

200*200 没让跑完,tps缓慢增加 26.9tps 0error 服务器cpu占用16%,内存30%

1000*100 前一分钟无error,tps缓慢增加,服务器cpu占用我看不出变化。。

2000*2000 15s后请求被大量抛弃Connection timed out: connect 因为抛弃请求缘故,tps居然达到了90+ putty卡死

1000*1 在处理完400线程后,开始出现error,tps10+不定

结论:服务器上的压测性能瓶颈似乎完全被线程数掌握,在1000线程数下开始出现error,1、3、100、1000的循环数并无太大区别(没有全贴出来tps不知为何只有26左右,猜测不是因为带宽,服务器cpu也没跑满,不知道是因为什么限制,防火墙我尝试关闭过,不知道关干净没。


case5:server:云服务器 tomcat;请求路径/,有数据库查询

1000*1 tps5,前期请求被大量抛弃

后期并发数下降,error随之下降

500*2 error0,tps6(tps前期居然一度高达50+,怀疑是jmatter了)

800*2 前一分钟error还在0.3%,一分钟后请求被大量抛弃,tps都高了不少

结论:tps只有5了,并发数也降到800以下,数据库查询占用的时间使得处理速度大幅下降,并发数小幅降低


明日计划

正确加上memcache,继续压测


收获

JMeter的基本使用,压测的概念

Linux iptables的一些知识

无并发优化的项目被压测的一些情况


问题

1、我的服务器反馈的tps算正常吗,最低配的1核1G的云服务器,为什么我用top命令会看不到服务器cpu占用的变化

2、下一步nginx配两台WEB是什么意思,可以在同一服务器运行两个tomcat这样?还是要怎么解决


返回列表 返回列表
评论

    分享到