发表于: 2018-06-11 14:58:10
1 891
任务六总结
任务名称:java 任务六
任务耗时:9天(2018.06.02-2018.06.11)
思维导图:
总结:
1、使用Memcached(后面用Redis替代)为项目添加缓存。添加缓存的目的是需要查询数据库的时候先在缓存中进行查询,这样会节省很多时间。
2、使用JMeter进行接口的压力测试,主要测试没加缓存时候的登录和注册接口,得到如聚合报告、结果树、TPS等等;加上缓存之后,再测试一遍,对比加上缓存之后的结果。
3、了解缓存可能会出现的如缓存穿透、缓存雪崩等问题的概念。
4、学习使用Nginx的负载均衡(反向代理和动静分离以前的任务已经做好了),主要是配置upstream中的东西。我分别在Resin(8090)和Tomcat(8080)中配置了相同的项目,然后在upstream中配置server(ip_hash,当nginx是最前端的服务器的时候,可以解决session和ip不能对应的问题),权重(weight)为1:2。
5、在使用Redis做缓存的时候,需要修改配置文件,因为它默认是不支持外网连接的。
深度思考
1.为什么要使用memcache?memcashe有什么作用?
因为想要提高数据的验证速度,提高程序运行效率。memcashe是一套分布式的高速缓存系统,可以将需要频繁访问数据库的数据放在缓存之中,当需要进行数据查询的时候先查询缓存,这样可以提高查询效率。
2.什么是负载均衡,为什么要做负载均衡?
有时候我们需要建立很多个服务器,把这些服务器组成一个服务器集群。然后,当用户访问我们网站的时候,先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,这种将请求分发到压力较小的服务器上的(功能?)叫做负载均衡。
随着访问量的增大,服务器的压力也会变大,通过负载均衡可以将压力平衡到服务器集群中的各个服务器上。
3.nginx如何实现负载均衡?
编辑nginx.conf,配置upstream如下,{}中的就是处理这个请求的服务器集群,可以配置多个,并且可以配置每个服务器的权重(weight),让性能好的服务器处理更多的请求。
upstream name
{
server xx weight=i;
server ff;
...
ip_hash;
}
评论