系统负载剧变下的管控策略

标签: 系统 负载 管控 | 发表时间:2014-11-11 23:15 | 作者:
出处:http://www.iteye.com

假如目前的系统有100台机器,能够支撑每天1亿的点击量(这个就简单比喻一下),然后系统流量剧变了要,我如何应对,系统有那些策略可以处理,这里总结了一下之前的一些做法。

1、水平扩展

这个最容易理解,加机器,这样的话对于系统刚刚开始的伸缩性设计要求比较高,能够非常灵活的添加机器,来应对流量的变化。

2、系统分组

假如系统服务的业务不同,有优先级高的,有优先级低的,那就让不同的业务调用提前分组好的机器,这样的话在关键时刻,可以保核心业务。

3、系统限流

系统机器也加了,然后分组也做了,但是就是能力提升不上来,说白了就那样了,这时候,可以设置系统的极限能力阀值,例如QPS最大到多少,或者是同时并发的任务有多少,超过这个阀值之后就拒绝提供服务了。

4、业务引流

这个的话跟多的是业务做的事情,把流量引走,不要来请求系统了,一种简单的做法就是,冗余的业务直接隐藏掉链接,从开源节流的角度来想,就是开源。

5、业务降级

如果一个系统请求,涉及到多个逻辑处理,其中有的是可以没有的,就是类似锦上添花的那种,在高并发的情况下,可以通过系统开关的形式,不去做这个请求,这样就间接的提升了系统的能力,毕竟少做了一件事情。

6、依赖系统的能力扩展

如果单独看应用系统,可能东西要做的还真不多,但是要结合上下游的系统,尤其是下游依赖的存储系统,数据库是否能够支持够,分布式缓存是否能够支持够,都需要做好评估。

7、系统依赖梳理

上一条主要是说存储系统,如果本身是SOA的形式,可能会依赖其他系统,各个系统是否强弱依赖,在那个环节依赖了,都需要评估出来,可以人肉来做,也可以系统分析调用情况,来自动的做出来。

8、系统容量评估

系统到底能够撑多少的量,这个要有个客观数字的评估,需要结合系统的负载以及响应时间等数据,搞出一个模型出来,这样方便数字化出来。

 

大体想到了几个点,简单的罗列一下。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [系统 负载 管控] 推荐:

系统负载剧变下的管控策略

- - ITeye博客
假如目前的系统有100台机器,能够支撑每天1亿的点击量(这个就简单比喻一下),然后系统流量剧变了要,我如何应对,系统有那些策略可以处理,这里总结了一下之前的一些做法. 这个最容易理解,加机器,这样的话对于系统刚刚开始的伸缩性设计要求比较高,能够非常灵活的添加机器,来应对流量的变化. 假如系统服务的业务不同,有优先级高的,有优先级低的,那就让不同的业务调用提前分组好的机器,这样的话在关键时刻,可以保核心业务.

系统负载能力浅析

- - ImportNew
用什么来衡量一个系统的负载能力呢. 有一个概念叫做每秒请求数(Requests per second),指的是每秒能够成功处理请求的数目. 比如说,你可以配置tomcat服务器的maxConnection为无限大,但是受限于服务器系统或者硬件限制,很多请求是不会在一定的时间内得到响应的,这并不作为一个成功的请求,其中成功得到响应的请求数即为每秒请求数,反应出系统的负载能力.

基于系统负载的动态限流组件 dynamic-limiter

- -
 宋鹏玉,2014年加入 Qunar,目前在国内机票报价组,热爱技术,欢迎交流. 一个系统的处理能力是有限的,当请求量超过处理能力时,通常会引起排队,造成响应时间迅速提升. 如果对服务占用的资源量没有约束,还可能因为系统资源占用过多而宕机. 因此,为了保证系统在遭遇突发流量时,能够正常运行,需要为你的服务加上限流.

分布式系统的负载均衡 | 架构干货

- - SegmentFault 最新的文章
记得第一次接触 Nginx 是在实验室,那时候在服务器部署网站需要用 Nginx. Nginx 是一个服务组件,用来反向代理、负载平衡和 HTTP 缓存等. 负载均衡(LB,Load Balance),是一种技术解决方案. 用来在多个资源(一般是服务器)中分配负载,达到最优化资源使用,避免过载. 资源,相当于每个服务实例的执行操作单元,负载均衡就是将大量的数据处理操作分摊到多个操作单元进行执行,用来解决互联网分布式系统的大流量、高并发和高可用的问题.

从系统架构的角度来看开源和商业负载均衡

- - 运维派
对于绝大多数的互联网企业来说, 负载均衡已经成为其系统网络架构中不可或缺的组成部分. 负载均衡技术是终端用户与业务系统之间沟通的桥梁,也是实现系统处理能力快速扩展的最佳技术. 实现负载均衡的方式很多,有很多开源的负载均衡软件,如:LVS、HAProxy、nginx等,也有很多公司推出独立的负载均衡产品,如:F5的BIG-IP,A10的Thunder,Citrix的NetScaler等等.

Linux系统中负载较高问题排查思路与解决方法 - 朝明 - 博客园

- -
Load 就是对计算机干活多少的度量,Load Average 就是一段时间(1分钟、5分钟、15分钟)内平均Load. 通过top命令查找占用CPU最高的进程PID;. 通过top -Hp PID查找占用CPU最高的线程TID;. 对于java程序,使用jstack打印线程堆栈信息(可联系业务进行排查定位);.

HTTP负载测试

- - 博客 - 伯乐在线
英文原文: ON HTTP LOAD TESTING 来源: oschina. 有很多人在谈论HTTP服务器软件的性能测试,也许是因为现在有太多的服务器选择. 这很好,但是我看到有人很多基本相同的问题,使得测试结果的推论值得怀疑. 在日常工作中花费了很多时间在高性能代理缓存和源站性能测试方面之后,这里有我认为比较重要的一些方面来分享.

nginx负载均衡配置

- - 开心平淡对待每一天。热爱生活
  使用负载均衡的话,可以修改配置http节点如下:. #设定http服务器,利用它的反向代理功能提供负载均衡支持. #设定mime类型,类型由mime.type文件定义. #省略上文有的一些配置节点. #设定负载均衡的服务器列表. #weigth参数表示权值,权值越高被分配到的几率越大. server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口.

解析nginx负载均衡

- - 搜索研发部官方博客
摘要:对于一个大型网站来说,负载均衡是永恒的话题. 随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不二之选. nginx作为webserver的后起之秀,其优秀的反向代理功能和灵活的负载均衡策略受到了业界广泛的关注.

Haproxy+KeepAlived 负载均衡

- - CSDN博客系统运维推荐文章
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现. LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. 还可以使用nginx来实现,不过nginx只工作在7层网络之上. 详细请参考 抚琴煮酒写的“ 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比”这篇文章,简单很详细,很好.