造成服务器带宽跑满的原因有很多,大致可以归结为以下几类:
病毒
Windows 系统服务器中病毒或站点挂马,导致服务器内部有对外发包的文件。
建议在服务器上安装杀毒软件,进行杀毒。可以通过任务管理器中查看是否异常进程。当前阿里云暂时没有提供杀毒软件,您可以登陆服务器根据自己的日常使用的杀毒软件进行安装即可。
网络攻击
服务器或站点遭受 DDOS 攻击或 CC 攻击等,短期内产生大量的访问需求。
可以登陆阿里云管理控制台,查看云盾中的防护 DDOS 攻击是否调整好阈值,并核实是否开启CC防护。
目前CC防护有自己默认的阈值,由于安全问题此阈值暂时不对外公开。如果攻击没有触发到阈值,云盾没有清洗,可以提交工单到售后请手工协助开起清洗,后期该调整阈值的功能会对外放。
存在耗资源进程
服务器内部有耗资源进程。
Windows Server 2003 系统无法直接查看到,但可以借助第三方软件查看
Windows Server 2008 系统可以启动 任务管理器>性能>资源监控器>网络>查看 发送(字节/秒) 占用较多的进程。如果不是常用进程,说明可能是病毒或异常文件如果是常用进程,说明该进程当前有异常,需要针对该进程对应的服务进行一下分析。
根据以往经验,曾发现过因搜狗拼音的更新,以及疑似上传本地词库导致的出网带宽跑高。
爬虫
正常网站所消耗的带宽较多,此类情况建议通过访问的日志来分析,如果日志中过多的 baiduspider 或 googlebot 。说明网页被爬虫抓取,大量来自搜索引擎的链接也容易跑高带宽,例如:
windows-cmd 下找到 iis的日志,可以使用命令 type *.log | find “baidu “ 等。
Linux 的 Apache 和 nginx 可以检查 cat access.log | grep baidu 等。
同时检查站点是否存有 MP3,flv,swf 等大文件被频繁访问下载,如果此类文件较多,建议减少这些文件,可搭配使用 OSS、CDN 服务。
网站规模大
网站规模较大(比如门户网站、商城等),即网站本身访问量需求大,查看网站的 Page View 值、Hits 值、日流量都很高,建议升级带宽 。
造成流量大的原因主要有:
网站页面设计不合理;
页面中包含大图片或音频、视频文件等文件,导致网站页面太大;
网站提供.mp3,.rar,.zip.exe等文件的下载,或网站提供视频、音频文件的播放;
如果网站规模较大,网站的点击率很高,建议减少音频、视频文件。如果还不能满足要求,可以升级带宽。
你这种情况不好处理你的B服务器决定了只能放置下载、附件等非关键的但流量大的内容。
A服务器用来放置数据库及网站源码。。
所以,用单纯的智能DNS或许解决不了问题,因为智能DNS将联通(网通)的用户全解析到你B服务器上,但可能B服务器挂了。
我建议:在B服务器上做squid代理缓存,将一部分联通(网通)的用户调到B服务器上,当B服务器挂了的时候,就自动转到A上。关于B出现问题的时候,就转到A上的智能DNS,可以用DNSPOD的VIP。
带宽是决定主机访问速度的重要因素之一,尤其是对于访问量大的网站,网络带宽的大小显得尤为重要。而流量其实就是带宽在时间上的累积,用数学上的话说就是带宽对时间的积分。做个通俗的比喻,拿自来水来说,带宽其实就是水管的流速,而流量就是流出的水的总量。因为网络带宽和流量对于服务器来说至关重要,所以在选购服务器之前应该很好的了解这个概念,要么很容易被主机商忽悠。下面是带宽容易出现的几个误区。
一.容易混淆的两个单位:字节和位
说到带宽,就会涉及到带宽的单位,带宽一般用位做单位,英文是bit,例如adsl的带宽是2mb,实际上就是2mbit每秒。前面的M,还有对应的K, G大家应该都遇到过,表示数量级,进制是1024,估算的时候也可以简单的用1000代替。也就是1G=1024M 1M=1024K.
用电脑的人一般都会熟悉这样的概念,例如我的硬盘是160G。这个160G表示什么呢,其实是160G Byte,也就是160G比特,这样大家就知道了,这个和上面说的那个2mb是不一样的。
比特和位的关系:一个byte等于8bit。缩写的时候两个都是b,习惯上byte缩写用大写的B,而bit用小写的b,但是很多时候书写很混乱,所以看到主机商标的带宽要先搞清楚是byte还是bit。一般说机房带宽,主机端口带宽都是bit,但是有些主机限制峰值带宽,而这个有的主机商用byte,有的用bit,相差8倍,所以要先弄清楚。
二.共享和独享之分
这个虚拟主机一般不说,只有在主机租用和托管的时候会提到,因为虚拟主机肯定是分享一个服务器的带宽,没有独享的。但是因为虚拟主机就是从服务器上分出来的,所以还是明白服务器的带宽情况比较好。国内常见的是100M共享和10M独享,100M共享其实就是一个机柜分享一个100M的端口,至于每台服务器能分到多少,取决于这个机柜的服务器数量和每个服务器的带宽占用情况。而10M独享,就是给每台服务器一个10M的端口。一般来说,100M共享每台服务器分到的大约在2M到5M左右,所以10M独享是优于100M共享的。
国内的虚拟主机用的服务器多数是100M共享,也有10M独享的,但是有人说他的服务器是100M独享的就要小心了,骗人的嫌疑很大。
除了以上说的,其实一个服务器能够分到的带宽还取决于整个机房的带宽是否充裕。10M独享或者是100M独享其实只是10M端口或者100M端口接到了交换机上,做个极端的例子,假设机房给你了100M的端口,但是机房到公网的出口实际上只有10M,那么其实你的最大带宽也就是10M而已。从这个意义上说,100M独享其实还是共享,并不是把你的出口接到了主干网上。再大一层次,如果是某个主干网拥塞,就是给你1G端口接到主干网上,带宽照样会限制。所以独享和共享其实是相对的。
一般来说,假如一个机房的出口带宽是10G,分给服务器或者机柜的带宽累加值会大于这个值,也就是所谓的超卖。如果没有超卖,10G的带宽只能分给100个百M共享的机柜。因为并不是每台服务器每时每刻都会占满带宽,超卖会更充分的利用资源。虚拟主机的带宽以及其他资源都和这个道理差不多,也会存在超卖的现象,但是只要是合理的,都是对用户和主机商都有利的。关于虚拟主机超卖的分析我们以后专门介绍。
三.流量
对于网络带宽控制,不少主机商,尤其是美国主机都会限制流量,那么我们就分析一下网站带宽大小指标流量的具体概念,感觉一下。
1.10M独享的服务器的每月最大流量:
带宽用的是bit,所以别忘记8倍的差别。宽带带宽计算如下:(10m x 3600 x 24 x30) /(1024x8) =3164GB
也就是10M独享的服务器每个月的流量上限是3000G,可以看出来,不管主机商是否明确写着限制流量,其实都是有限制的,只是写不写而已。上面计算的是理想状态,一看来说都是达不到最大带宽的。
一般来说,一台服务器上至少要放100个网站(很多都是几百个),那么如果平均算,每个网站分到的流量实际上只有30G每个月。
2.1G流量意味着什么?
假设你的一个页面是100KB,那么1G流量可以访问的页面是:(1x1024x1024)/100=10485,也就是说每天1G流量可以承受1万PV,很多个人网站是达不到这么大pv的,所以很多网站每个月30G流量足够了。当然如果下载的话流量就可能会很大。
另外,一个页面文件100K,访问时消耗的流量未必就是100K,浏览器都会缓存页面,很多元素是不会重复计算流量的。另外还可以通过gzip等方式降低流量占用。
所以,一般情况下,流量限制并没有多数人想像的那么可怕,而且不管主机商是否限制,其实都隐含了流量限制。如果你的服务器只有1M的带宽,你拼命的用,一个月也只能用掉300G而已。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)