热搜词
发表于 2015-11-27 15:17:09 | 显示全部楼层 |阅读模式
  我们有一台服务器提供的服务主要是以动态页面为主,静态页面都是固定的内容平时更新的很少,最近这台服务器的应用升级到了新版本访问量增大了不少,随之的问题就来了,最近每天一到9点负载就超过警戒值,然后负载持续升高,load的值最高到100左右,这种情况一直会持续到12点,一过12点负载马上降低到5以下。
  
   通过分析网络连接发现并没有攻击的迹象,基本都是正常的访问。后来开始考虑是否是硬件性能造成的,查看 cpu 内存和磁盘io的问题,观察了一段时间后发现这几个设备的压力确实增大了,但却没到不能承受的地步。后来我开始对nginx的访问日志开始分析,集中分析9~12点的访问情况。
   
   经过分析发现有10多个ip的请求量在9点突然增加,到11点半以后请求数就将的很低了。而且他们的请求基本都是静态请求。我开始的时候怀疑是攻击但是又一想,会不会这几个ip是我们的CDN提供商的地址,于是马上联系CDN的技术支持,一查果然这几个ip都是他们分布在全国各地的服务器的ip,仔细询问后才知道。
  
  他们现在服务器的回源机制是分散回源,也就是说全国各地的服务器每隔一段时间后会自己去我们的服务器上检查更新。可能最近有过改动所以这些服务器都在9点到10点之间一起去那台服务器上检查更新。结果就是那些ip访问量激增... 我又询问了下他们回源的间隔时间,工程师跟我说现在是定在3小时。我当时一愣 每隔三小时全国几十台服务器都去我们那台服务器上查一遍,负载能不高么...
  
  立即让他们修改回源策略,因为我们的静态内容很久才会更新一次,而且每次更新都是手动更新,平时基本用不着更新,所以也用不着cdn的服务器总是去检查。
  
  开始对回源的时间和回源方式与CDN的工程师讨论,最后的解决方法是,在所有CDN的服务器里找出三台来做回源点,其他的机器都去这三台服务器上去检查更新,
而这三台服务器每隔三天会到我们的服务器上检查更新。确定了之后,就让他们的工程师去改策略了。不一会儿他们说改好了,但要等第二天才能生效,让我等到时候看效果。
  
  到了第二天9点,果然Nagios 没有报警,系统load值正常直到每天中午 访问最高的时候才有一点高,看来新改的策略生效了。从日志上看 CDN的那几个地址的访问量也不那么高了。
  
  CDN本来是给我们的网站加速的,但是有时会因为不合适的回源策略给服务器带来负担,只有选择正确的策略才能给自己的网站带来更高的访问效率!
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-24 01:29 , Processed in 0.152532 second(s), 26 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team