2016 - 2024

感恩一路有你

服务器负载过高怎么办 怎样处理服务器负载量过大?

浏览量:2979 时间:2021-03-14 12:33:56 作者:admin

怎样处理服务器负载量过大?

一,确认服务器硬件是否足够支持当前的流量。

二,优化数据库访问。服务器的负载过大,一个重要的原因是CPU负荷过大,降低服务器CPU的负荷,才能够有效打破瓶颈。而使用静态页面可以使得CPU的负荷最小化。前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站,静态化往往不能满足某些功能。缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用Select *from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大量SQL查询。三,禁止外部的盗链。外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗链,不过目前蓄意伪造refer盗链的还不多,可以先不去考虑,或者使用非技术手段来解决,比如在图片上增加水印。四,控制大文件的下载。大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。

网站访问IP过万,服务器租用带宽要多少?

计算服务器的负载能力,是互联网系统设计维护的基础问题,也是一个很实际的问题。租用带宽超过实际需求,带来资金方面的浪费;租用带宽过小,业务受到影响。吞吐量如何计算?

我们先看下吞吐量的计算公式:吞吐量=并发请求数*每个请求的响应数据量。从这个公式,我们可以看出,吞吐量与并发请求数、请求响应的数据量相关。注意这里是并发请求数不是用户数,并发用户数不一定和并发请求数是相等的。单位时间内1个用户可以发起多个用户请求。也就是说,吞吐量与并发用户数、应用本身有很大的关系。1个用户看直播和访问网页需要的流量是不相同的,看直播的流量远大于看网页的流量。

回到问题。网站访问ip过万,对互联网系统来说是一个不大的量。我们要算带宽负载,需要搞清楚服务器业务集中的时段。10000个用户访问集中在10小和5小时,并发是不同的。知道了集中时段,我们可以算出并发请求数。并发请求数的计算公式为:并发请求数=ip数/集中访问小时数/3600*单用户并发数。10000个用户访问,我们按业务每天集中在4小时完成、单用户并发请求数1计算,结果是多少呢?小于1,也就是1秒就1个访问。每个请求的数据量按100KB计算,那么服务器的吞吐率就是100KB/s,购买云服务器的最小带宽1M也够用了。

另外这里还有一个用户体验的问题,一般的服务器响应时间设计为小于3s,如果我们要做到更好的用户体验,就要相应增大带宽。假设设计为1s,访问的网页内容大小为200KB,1M(128MB/S)的带宽就不能满足体验的要求,就要租用2M的带宽。一般购买服务器带宽的时候,在满足最大吞吐量的基础上,冗余30%的宽带来应对突发情况。

结论:服务器的带宽负载与并发请求数,应用自身、用户体验等有密切关系。网站10000IP的访问量,采购最小的服务器即可满足要求。

为什么服务器的宕机一般都发生在凌晨使用率最低的时候?

来自16年经验老程序员的靠谱回答。

主要有以下几个原因

1.凌晨时服务器很忙

首先,确实服务器的宕机一般都发生在凌晨使用率最低的时候,但是这个使用率只是针对用户而言的。

实际上,在凌晨的时候,服务器是很忙的。主要忙哪些事情呢?主要是一些定时任务,还有数据库备份等。很多比较耗时的操作比如报表统计都会安排在半夜,以免半天影响正常业务,所以这个时候,服务器都是在高负荷运转的,容易产生事故。

2.一般晚上的时候会上线新功能

同理,发布新代码或者更改功能,也会选择在晚上的业务低峰期。无论前期的测试工作做的多么到位,也难免会隐藏一些bug,到了凌晨,这些bug(比如死循环)已经跑了一段时间了,在无人值守的情况下就可能触发各种故障。

如果上线时间比较短还好,遇到更新比较大的情况下,程序员奋战到大半夜,这个情况下人是很疲惫的,更容易忙中出错。

3.无人值守导致修复变慢

比如死循环和内存泄漏,是需要经过一段时间才能表现出来的。白天有人实时监控,自然出现故障的几率比较小,就算出现故障了,也能很快修复,让用户无法觉察。

4.凌晨是黑客作案高峰期

夜黑风高,杀人越货。这个时间点是正常人休息时间,而黑客则选择在这个时候活动,不论是安全攻击,或者是DDOS,都可能造成服务器故障。

开服不到一个月的时间,魔兽怀旧服第一大服变鬼区,你有何看法?

魔兽世界这款游戏可以说是很多朋友们的青春回忆,在当年那个时代约上几个好友,整晚整晚的砍魔兽,可以说是一件非常快乐的事情,后来随着魔兽的不断更新很我们再也玩不到那个版本的魔兽了,不过网易为了挽回这些老玩家特意搞了一个魔兽怀旧服,本来很多玩家朋友们都认为这个怀旧服可能再次爆满,谁知道魔兽怀旧版第一大服刚开服一个月就变成了鬼区,这又是怎么一回事呢?

阿拉希盆地是魔兽怀旧服的首个服务器,当初这个服务器开服的时候很多玩家都特别看好,都纷纷在这个服务器创建自己的角色,刚开始的时候服务器人经常爆满,甚至有的时候排队能排到1万多人,但是没过多长时间,也就不到一个月的时间,这个服务器就变成了鬼服。

原来这个服务器在刚开服的时候,金币价格是非常高的,很多工作室都在这个服务器打金币换成人民币,但是随着魔兽世界时光徽章的出现,服务器之中金币的价格一落千丈,跟其他老服务器都差不多了,所以想要靠打击力来赚钱就不划算了,这一下工作室还有一些专门打金币的玩家,就离开了这个服务器去继续寻找新的服务器了。

如果魔兽怀旧服仅仅靠这些工作室,还有打金币玩家维持的话,那么魔兽怀旧版也支持不了多长时间,想要让这款游戏更加长久的运营下去,还是要靠我们这些真正爱魔兽世界这款游戏的玩家们。


各位网友,你们有何看法呢?

服务器负载过高怎么办 服务器过载怎么解决 服务器负载过高原因

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。