发表于: 2017-11-11 23:38:32
2 865
今天完成的事情.
改善代码.解决昨天redis报错问题.
public int countStudentStatus(Integer status) {
if (status == null) {
String getRedStudyStatus = redisUtil.getValue("redStudyAllStatus");
logger.info("从缓存获取的在学人数" + getRedStudyStatus);
if (getRedStudyStatus == null) {
Integer i = studentDao.countStudentStatus(status);
boolean addRedStudyStatus = redisUtil.setCache("redStudyAllStatus",String.valueOf(i));
logger.info("添加在学人数到缓存" + addRedStudyStatus);
return i;
} else {
return Integer.valueOf(getRedStudyStatus);
}
} else {
String getRedStudentsAllStatus = redisUtil.getValue("redStudyStatus");
logger.info("从缓存中获取所有就业学员" + getRedStudentsAllStatus);
if (getRedStudentsAllStatus == null) {
Integer i = studentDao.countStudentStatus(status);
logger.info(i);
boolean addRedStudentsAllStatus = redisUtil.setCache("redStudyStatus",String.valueOf(i));
logger.info("添加就业到缓存" + addRedStudentsAllStatus);
return i;
} else {
return Integer.valueOf(getRedStudentsAllStatus);
}
}
}
准备小课堂
然后对redis进行压测..可以看到在某个节点往后时间就非常长,,
可以看出,连接时间只有28毫秒,而读取时间有489毫秒.根据阿里这个控制台显示.我的内存和流入带宽都已达到极限.
总结压测结果后得出以下结论
1.每次压测的线程都需要压测多次来判断范围,并没有一个准确的值.缓存能够大幅度并发数量,增加并发强度.
2. 静态资源的加载消耗了大部分时间,导致加载时间过长.
3.内存出现爆满,但是原因出在我服务器比较低级.瓶颈出现在了这仅有1m带宽的网络上,静态资源加载会占满带宽.
4. 缓存里面配置并发连接数会影响效果.这个根据服务器性能适量配置,
5. web容器加载静态资源可以由nginx直接从指定目录获取静态资源,不再由web容器负责,提升效果对于一些相对比较大的资源文件来说还是有效果
6. 添加缓存带来的效果最明显,其次是负载均衡,接下来是静态资源配置
6.并发量会有一个比较精确的范围,一旦超出之后,性能就会继续下降,大量数据会访问数据库,造成缓存雪崩情况.
还搞了个修真院值日规范:
明天计划:
准备小课堂.
完善任务6深度思考/
开始任务七.
遇到的困难:
和之前一个类似的问题. 在DEBUG模式的帮助下,成功发现是null值强制转换问题.
一个IDEA DEBUG的问题,,,如果把断点打在方法上面IDEA DEBUG模式有可能会加载时间特别长,10多分钟..所以千万不要把断点打在方法名称上面. 顺便发现进入DEBUG模式之后你可以随便打断点.都可以显示参数.
还有一个是因为参数错误.修改参数就解决了
收获. DEBUG模式越用越顺手,,
任务进度:任务7
任务开始时间:2017-11-13
预计demo时间:2017-11-21
是否有延期风险:暂无
禅道:http://task.ptteng.com/zentao/task-view-13104.html
评论