关于上线的一点思考

昨天晚上项目上线,其实不是什么 新的项目;只是对老项目的部分页面进行升级;服务架构一个请求过来,先从squid缓存读取数据;缓存没有命中,则从静态页面加载数据并存到缓存中;没有静态页,则从xml、文件、数据库中读取数据并生成静态页;这个相信大家都知道,大数据量下的基本架构。昨天晚上由于终端页面的改版,老的静态页面全部得重新生成,上线前确定先修改老静态页面的存放目录(重新生成的静态页会存放到新的目录),然后清squid缓存。当目录修改只剩下两组(共26组),缓存服务器清理了3台(不到一半)时,发现站点访问速度急剧下降;此时应该是21点多,到22点多时,打开一个页面需要将近2分钟,多台web服务器的iis链接数据达到5000以上(我估计squid缓存的命中率应该是急剧下降,3台服务器缓存的数据都没了);然后开始查原因,从环境配置,到程序,一直查到快0点,没有一点头绪。这时随便打开了一个页面,发现速度超常的快,然后让运营看了一下服务器,连接数量下来了(我估计此时squid缓存的命中率应该是上来了,3台清了数据的缓存服务器重新缓存了新的页面)。


后来通过分析认为:

1、squid缓存删除得太狠,重新缓存大量数据需要占用很大资源,所以造成缓存服务器响应速度过慢;

2、静态页删除得过多,基本删除了90%以上,以至于缓存miss时,得到后端重新生成新的静态页面,然后重新缓存数据;造成响应速度过慢,导致iis连接数过高;

3、通过服务器压力数据的分析,发现有的服务器连接数过高,而有的服务器连接数很低;说明负载均衡策略有点不太妥当;

发表评论

返回顶部