发表于: 2017-10-28 23:42:20
2 797
任务六小结
今天完成的事情:
1. 生成压测报告
2. 统计了各个部分的访问时间
4. 添加了一部分东西在缓存里
明天计划的事情
1. 拆禅道
2.学员报名系统加上手机,邮箱,头像的字段,接口中添加对应的字段。
遇到的问题:
1. 空指针问题:
public Integer countStudentUser(Student study){
Integer userNumber = null;
String cacheKey = null;
if(study.getUser() != null ){
cacheKey = study.getUser() +" count";
}
else if(study.getStatus() == null && study.getUser() == null){
cacheKey = "status all count";
}
else if(study.getStatus() == 0 && study.getUser() == null){
cacheKey = "status work count";
}
else if(study.getStatus() == 1 && study.getUser() == null){
cacheKey = "status study count";
}
else if(study.getStatus() == -1 && study.getUser() == null){
cacheKey = "status X count";
}
如果绿色代码部分向后移,报空指针????
收获:
深度思考:
1.为什么要使用memcache?memcache有什么作用?
缓存解决的是 : 并发所造成的数据库宕机以及取数据所造成的延迟的问题
memcache除了缓存之外还可以解决分布式造成了session丢失的问题
2.什么是负载均衡,为什么要做负载均衡?
解决的问题:当单个服务器不能承载所有的请求,或者以防服务器宕机造成不能访问的情况。扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡:nginx 在收到请求后可以转发到不同的服务器,分摊到多个操作单元上进行执行,从而共同完成工作任务
3. nginx如何实现负载均衡?
上篇日报已说明
找到问题所在
1. 服务器带宽为125kb/s 一个json的网页为1.5kb大小,所以带宽的只能支持80并发。
2. 通过top 当有并发时:
查看系统磁盘io
iostat -d -k 1
查看网络io:
iotop
iftop -n
网路:
并发为35时jmter 的tps为20--30
当并发为70循环5次时:
本地:
线上:
统计;
Service响应时间统计:
响应时间在在10ms以内的为:8697
响应时间在在10-50ms以内的为:99
响应时间在在50-100s以内的为:3
响应时间在在100ms以外的为:3
Controller响应时间统计:
响应时间在在10ms以内的为:8809
响应时间在在10-50ms以内的为:279
响应时间在在50-100s以内的为:6
响应时间在在100ms以内的外:8
Nginx响应时间(划分时间段):
响应时间在在0.005s以内的为:3739
响应时间在在0.005--0.010s以内的为:541
响应时间在在0.01--0.02s以内的为:438
响应时间在在0.02s以外的为:217
ip地址106.15.76.92在2017-10-428日全天(24小时)累计成功请求2次,平均每分钟请求次数为:0
ip地址119.23.139.140在2017-10-428日全天(24小时)累计成功请求2次,平均每分钟请求次数为:0
ip地址123.249.27.191在2017-10-428日全天(24小时)累计成功请求2次,平均每分钟请求次数为:0
ip地址219.155.8.157在2017-10-428日全天(24小时)累计成功请求4923次,平均每分钟请求次数为:3
结论: tomcat设置有问题,不能处理高并发
进度:
任务开始时间:10.27
明天开始任务
禅道:http://task.ptteng.com/zentao/project-task-264.htm
评论