发表于: 2017-10-25 22:44:24

1 704


一.今日完成

1.测试使用memcached后高并发性能测试

(1)在service层组件中调用memcached方法

public List<User> selectAllUser() {
//获取用户信息
   List<Long> longList = userDao.getUserIdList();
List<User> userList = new ArrayList<User>();
for (Long id : longList) {
if (memcached.get("user_" + id) != null) {
user = (User) memcached.get("user_"+id);
logger.info("这是从缓存中获取的");
} else {
user = userDao.select(id);
logger.info("这是从数据库中获取User:Id="+id);
memcached.set("user_"+id, user,new Date(1000 * 20));
userList.add(user);
}
}
return userList;
}

(2)web层controller类新建处理url请求的方法

//用户列表页面
@RequestMapping(value="/studentlist",method =RequestMethod.GET)
public String showStudent(Model model){
log.info("查询所有用户信息");
List<User> userList = userService.selectAllUser();
model.addAttribute("userList",userList);
return "studentlist";
}

(3)使用BadBoy录制脚本,配合JMeter进行多线程(100,1000,2000)压力测试,以下是测试结果:

在昨天的日报里,未使用memcached缓存技术的压测试验里,线程组设置为500时候,JMeter基本已经处于卡死瘫痪状态,而上面的结果显示即使线程组达到了1000,依旧得到较好的数据结果;考虑两组脚本中step数量有差异,但仍可以反应memcached的优势之处.


2.本来计划使用nginx加权均衡负载来进一步提高压测性能,但是由于服务器数量有限,而且对于阿里云提供负载均衡产品如何使用不甚熟悉,所以就没有实现.


3.囿于任务进度滞后的缘故,redis的使用计划放在后续任务中实现.


二.明日计划

开始做任务7


三.遇到问题

在服务器端安装redis,默认绑定"127.0.01"/"localhost",即通过本地访问IP对数据库进行访问,实际开发和生产过程中,多台服务器集群协作,是否需要开放其他IP地址或者采取其他技术解决不同服务器上数据库访问问题.

四.收获

以上.


禅道:http://task.ptteng.com/zentao/task-view-10389.html

提交任务6,开始任务7.



返回列表 返回列表
评论

    分享到