发表于: 2018-01-03 11:21:56

2 469


一、    今天完成的事情

完成步骤一、二

代码地址:https://github.com/hdonghong/codetask/tree/master/task4/tilesdemo

一、下载JMeter,压测自己的JSP,查看TPS数据,调整并发数,压到程序挂掉为止。

①认识Jmeter

The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

 

②下载

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

启动:

   ③压测JSP

   添加一个线程组:

   

    设置线程属性:

   

    线程组添加http请求:

    

    添加“查看结果树”来查看测试结果:

开始测试并查看结果:

调整并发数,压到程序挂掉为止,将原本50个线程增加到200,成功挂了:

 

二、加上Memcache,在新建数据的时候同时维护好缓存(没有新建数据接口就自己加上,可以分成是压测JSPJson接口两种方式) ,确定数据没问题,重新压测服务器,测出90%的线在哪里.

①认识Memcached

Free & open source, high-performance, distributed memory object caching system

Memcache好比一张只拥有两个字段的数据库表,这两个字段分别是keyvalue

适用场景:

 

Windows上安装Memcached服务端

下载windows版本:http://www.runoob.com/memcached/window-install-memcached.html(这里我选择64位系统 1.4.4版本。)

下载完成后解压双击memcached.exe启动

 

③使用Telnet管理Memcaced

使用Telnet连接Windows下装有memcache的服务器(默认11211端口)

按下“ ctrl+] ”,再按下回车,可开始输入命令缓存数据

输入命令缓存数据

输入quit断开连接

 

Spring整合Memcached

使用xmemcached,引入其依赖。(关于xmemcached可参考其官方文档:https://github.com/killme2008/xmemcached/wiki

Spring中管理xmemcached

service层中注入xMemcached的依赖,编写相关代码(详细源码参见源码中task4tilesdemo/pers.hdh.service.impl.ApplicantServiceImpl.findAll( ))

运行中的异常:

原因:无序列化类无法被持久化到缓存中

解决:将需要存储的Model类实现Seriliazable接口(这里是tilesdemo/pers.hdh.model.Applicant)

通过telnet获取到key值证明数据成功存储到Memcached(但是出现乱码)

 

⑤加上Memcache重新压测Jsp对比之前没有缓存的数据

实验:使用Jmeter1秒内200线程无限制访问同一请求持续30

需要知识:Jmeter的聚合报告

结果:

结论:后者数据各方面明显地优于前者,说明使用缓存后性能得到明显提升。

 

⑥压测Json接口

pom.xml中添加对json支持的依赖:

代码中提供json接口:

设置Jmeter,发送Json数据需要设置信息头:

压测对比:

结论:

对于json接口,可以看到使用缓存后性能远超不使用缓存的时候。

 

二、    明天计划的事情

三、    遇到的问题

拖到现在才交,原本昨晚要交的,结果校园网络又炸了,尴尬。。。

四、    收获



返回列表 返回列表
评论

    分享到