太原网站建设小程序,优化网站价格,深圳分销网站设计价格,山东网站营销seo哪家好一、背景 4月18日的访问高峰扛过去之后#xff0c;我们和阿里云一直在努力寻找问题的真正原因。是问题#xff0c;躲不去的#xff0c;不找到根源#xff0c;随时会突然袭击。 压力测试未能重现问题#xff0c;只能进行大海捞针般的猜测#xff1a;SLB#xff08;均衡均…一、背景 4月18日的访问高峰扛过去之后我们和阿里云一直在努力寻找问题的真正原因。是问题躲不去的不找到根源随时会突然袭击。 压力测试未能重现问题只能进行大海捞针般的猜测SLB均衡均衡、Web服务器虚拟机、应用程序、缓存服务器虚拟机、SLB与Web服务器之间的网络通信Web服务器与缓存服务器之间的网络通信、Web服务器与RDS关系型数据库服务之间的网络通信 我们怀疑的对象是SLB请求分配有问题、SLB与Web服务器之间的网络通信TCP连接、VM与RDS之间的网络通信TCP连接。 阿里云怀疑的对象是我们的应用程序、缓存服务器。 对于我们怀疑的对象我们没有任何侦测手段只能将我们的怀疑抛给阿里云。 对于阿里云怀疑的对象我们一万个不认同应用程序会引起这个问题应用程序的问题不会引起SLB中的所有Web服务器同时出问题。对于缓存服务器存在可能但我们没有特别重视。因为在之前出问题期间缓存的命中率在正常范围即使缓存服务器down掉也会直接走RDS访问速度也不会有大的影响。我们有两种类型的缓存服务器memcached与NoSQL都用的是couchbase。阿里云建议我们memcached与NoSQL都进行负载均衡昨天我们只对NoSQL进行了负载均衡负载比较高。并将memcached与NoSQL客户端的连接超时设置修改为1秒也就是说只要缓存服务器有问题1秒钟连接超时后就会直接走RDS从数据库中获取数据。具体设置如下 couchbaseservers bucketdefaultadd urihttp://ip1:8091/pools /add urihttp://ip2:8091/pools / /serverssocketPool minPoolSize20 maxPoolSize200 connectionTimeout00:00:01 deadTimeout00:00:02 /
/couchbase
enyim.commemcached protocolBinaryserversadd addressip1 port11211 / /serverssocketPool minPoolSize20 maxPoolSize200 connectionTimeout00:00:01 deadTimeout00:00:02 //memcached
/enyim.com 今天出故障之前服务器的部署情况是SLB4台Web服务器1台Memcached服务器2台NoSQL服务器RDS。 二、故障经过 上午出现了波动情况见下图负载均衡中波动最严重的一台 红色曲线是博客IIS站点的Current Connections绿色曲线是ASP.NET的Reqeust Execution Time 下午2点开始故障开始全面爆发Windows性能监视器中的表现是Current Connections急剧增加、Reqeust Execution Time严重变慢、Requests/s大大减小。 当时采取的解决方法是向负载均衡中增加云服务器如果加云服务器能解决问题那就说明是云服务器的负载能力问题。但是加了后发现刚加之后有些缓解但很快就故障如初。 后来采取限制每台云服务器的IIS的并发连接数缓解故障的影响面。如果不限制大家都无法正常访问限制之后未被拒绝的请求的访问速度会好些但被拒绝的请求会出现503错误。在正常期间来自SLB的并发连接在100以内但故障期间并发连接在1000之上因为很多请求得不到正常响应连接越积越多我们将IIS的最大连接限制在500才缓解了故障。 但后来即使Current Connections在200多访问速度也很慢。我们继续加云服务器有1台云服务器一上去500的连接限制立即跑满。我们当时还以为是SLB分配请求有问题实际是SLB给云服务器的请求得不到响应像堵车一样堵在那越堵越多。 期间阿里云技术人员发现memcached那台云服务器磁盘IO高这也是奇怪情况memcached只在内存中进行缓存问题可能与memcached服务器有关但从couchbase控制台看memcached的缓存命中率正常。我们在一台Web服务器上试了不走memcached但从测试情况看那台服务器的响应速度还是慢可能当时是因为很多请求继续在那堵着。 后来阿里云技术人员发现memcached那台云服务器内网接口流量波动很大这个监视数据我们看不到。 于是我们想到重启memcached服务器操作系统是CentOS 6.2 64位试试。结果reboot命令发出不久17:00左右故障竟然消失了Current Connections立即下降打开网站速度飞快在memcached服务器重启阶段memcached客户端连接超时程序会直接从数据库取数据。等memcached服务器启动好之后故障又立即出现。 于是我们关闭那台memcached服务器故障又立即消失。然后重新购买了一台云服务器操作系统是CentOS 6.3 64位安装同样版本的couchbase切换上去故障没有出现。网站就这么恢复了正常。晚上我们又加了一台memcached服务器用2台组建了负载均衡。 忙完之后就写了这篇博客。 我们已经无颜向大家道歉了我们只有一个选择全力以赴彻底解决这个问题战胜困难度过难关 故障原因分析见云计算之路-柳暗花明为什么memcached会堵车转载于:https://www.cnblogs.com/cmt/archive/2013/04/24/3041368.html