发表于: 2017-10-27 23:52:55

2 677


今天完成的事情:

1.完成了使用jmeter对jsp完成压测

首先是安装,因为是ubuntu 所以特别简单,sudo apt-get install jmeter 需要的其他依赖会自动安装。安装完成后输入命令jmeter自动启动。


jmeter是一个压力测试软件,可以模拟大量用户发送请求,从而去测试web应用的健壮性以及服务器的性能,数据库的性能,从而能够定位拼劲去实现优化。(官话一大推就不贴了)


如何使用?

点击测试计划-》添加-》sampler-》HTTP请求

其中服务器ip直接写ip就可以不需要http前缀。还有路径是你的请求URL路径


点击测试计划-》添加-》监听器-》-》聚合报告

关于什么Label samples average 之类的不说了。简单说下90%Line是什么意思,因为很多人都误解了,包括我自己。

首先90%Line不是说90%的请求的响应时间,而是指将所有响应时间按从小到大排序,取其中90%的那个值。那么就可以说明90%的响应时间是小于等于这个值的,而10%的值是大于等于该值的。

还不能理解的话,1-20个值从小到大排序,取90%个位的值是第18个值也就是18,那就可以说明在20个值中90%比18小或者相等,10%的值大于等于18.


还有一个比较重要的是,tps(吞吐量),表示的是每秒处理的请求数量。


因为自己理解错了90%Line,而且还把步骤1的程序挂掉理解为了是程序直接报异常崩溃,就很傻了开5000个线程去测结果把自己电脑弄崩溃了。因为90%Line老是保持在1500ms这样子,就一直想优化到500s以下。就看看了优化的东西。


第一,程序里必须配置连接池,太重要了。


第二,对于频繁使用where关键字过滤的字段加索引


第三,搜索时使用缓存,因为不知道是自己使用方法错误,还是其他原因,感觉没多大效果。


第四,还有就是配置jvm内存,太烦了就没搞了


第五,调整容器的最大连接数,还有mysql软件也是,这两个我都尝试去调整了,但都失败了,哎。



2.压力测试结果:

20进程,无负载均衡,无缓存

效果不太理想。



明天计划的事:

1.争取好好优化下,500个用户中有450响应时间等于小于4444ms,50个用户大于等于4444ms,这可了得。

2.了解下步骤二中的缓存的概念和使用


遇到的困难:


收获:

了解了写sql语句和代码要考虑优化和时间复杂度的重要性。

还有就是压测软件的使用吧。



返回列表 返回列表
评论

    分享到