发表于: 2017-02-16 23:34:15
1 2018
今天完成的事情:
1、主要解决利用Jmeter的cookie管理器自己手动添加cookie的问题
2、完善了项目5的代码
明天计划的事情:
1、部署两台WEB,使用Nginx的Upstream来做负载。
2、完成任务6
遇到的问题:
1、经过莎莎师兄的指点,发现昨天用Jmeter压力测试有个问题:
当Jmeter测到/u/occupation.html接口时,响应数据为:
这就不对了!正常流程应该是登录后可以进入职业界面,而现在职业界面的响应数据却显示的是登录界面,这说明并没有登录成功!但是我用Badboy录制的时候明明是登陆成功能正常进入职业界面的,问题出在哪?看请求数据的Cookie:
而正确的请求数据Cookie:
可以看到Cookie有三个,最后一个是登录验证用的token,这个才是我要用的,但是Jmeter却没用到这个cookie,只用了第二个。
解决方案:利用Jmeter的cookie管理器自己手动添加cookie,首先先找到Jmeter安装目录下的bin目录,找到jmeter.properties文件,把CookieManager.save.cookies=true这个前面的#去掉,
Jmeter中Http Cookie Manager手动添加cookie
这里要注意“域”字段的值不应该包括http://,仅仅是ip值,刚开始不知道,一直添加不成功,直到看了官方文档里有一句:
domain就是域字段,不包括http://,端口也忽略,这样添加后的请求中就有了token
2、然而手动添加cookie后并没有解决问题,响应数据返回的仍然是登录界面,今天大部分时间都耽搁在这里了,一直没找到原因,以为还是Jmeter没用配置对,网上各种查资料无果,最后才发现是代码问题,又是之前图省事的锅,spring-mvc拦截器中没有用检查cookie:
修改为:
新建了一个CookieUtils工具类,对cookie进行解密之后返回用户的id,再通过id查找是否存在此用户,是返回true,其余情况返回false
再用Jmeter测试就正常执行了
3、任务6要求部署两台WEB,我想着能不能打开两个IDEA,配置成不同的端口,然后同时启动两个项目,但是还没有成功,新建的项目报错了,
这个问题没有解决,明天再试试
收获:
1、在Jmeter中手动配置cookie后,重新测试:
测试环境:
准备时长:10
循环次数:1
线程数每次增加
测试结果:
1)关闭Memcache服务
2)打开Memcache服务
打开memcache服务性能提升依然明显。
2、IntelliJ IDEA查寻依赖关系,解决jar包冲突
打开Maven Projects窗口,选择要分析的maven module,右击show dependencies,会出来该module的全部依赖关系图,非常清晰细致。
比较复杂,其中jar包重复的也比较多,之前部署到远程服务器出现bug和这些重复jar包有很大关系,在图里选中一个artifact,可以显示详细信息:
如果有冲突的版本,会提示:
可以看到slf4j-api的jar包就有8个之多,冲突jar包可以右击该版本的节点然后Exclude,对应的pom.xml就已经成功修改了。把冲突jar包解决之后,依赖关系图就清爽了不少:
评论