文档章节

负载均衡的基本算法

伯洛芒果汁。
 伯洛芒果汁。
发布于 2015/11/24 11:03
字数 768
阅读 89
收藏 11

码上生花,ECharts 作品展示赛正式启动!>>>

负载均衡的基本算法,主要有以下几种:

  • 随机:负载均衡方法随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,然后把连接发送给它。虽然许多均衡产品都支持该算法,但是它的有效性一直受到质疑,除非把服务器的可运行时间看的很重。
  • 轮询:轮询算法按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。轮询算法在大多数情况下都工作的不错,但是如果负载均衡的设备在处理速度、连接速度和内存等方面不是完全均等,那么效果会更好。
  • 加权轮询:该算法中,每个机器接受的连接数量是按权重比例分配的。这是对普通轮询算法的改进,比如你可以设定:第三台机器的处理能力是第一台机器的两倍,那么负载均衡器会把两倍的连接数量分配给第3台机器。
  • 动态轮询:类似于加权轮询,但是,权重值基于对各个服务器的持续监控,并且不断更新。这是一个动态负载均衡算法,基于服务器的实时性能分析分配连接,比如每个节点的当前连接数或者节点的最快响应时间等。
  • 最快算法:最快算法基于所有服务器中的最快响应时间分配连接。该算法在服务器跨不同网络的环境中特别有用。
  • 最少连接:系统把新连接分配给当前连接数目最少的服务器。该算法在各个服务器运算能力基本相似的环境中非常有效。
  • 观察算法:该算法同时利用最小连接算法和最快算法来实施负载均衡。服务器根据当前的连接数和响应时间得到一个分数,分数较高代表性能较好,会得到更多的连接。
  • 预判算法:该算法使用观察算法来计算分数,但是预判算法会分析分数的变化趋势来判断某台服务器的性能正在改善还是降低。具有改善趋势的服务器会得到更多的连接。该算法适用于大多数环境。

性能调优社区dynatrace在其博客中分享了客户案例,电商网站在假日客流峰值期间数次崩溃,经过SQL优化和调整负载均衡算法解决了相关问题.首先要分析执行最慢的数据库语句,并做性能优化,比如增加索引等。同时也优化了连接池大小来满足高峰时刻的需求。然后,企业把负载均衡器的算法从Round-Robin改为了Least-Busy。

© 著作权归作者所有

伯洛芒果汁。
粉丝 11
博文 34
码字总数 36912
作品 0
广州
程序员
私信 提问
加载中
请先登录后再评论。

暂无文章

如何离线安装所有依赖包

当我们在一个没有公网的环境下去部署一些东西的时候往往是让人很头疼的一件事,因为可能会需要各种依赖包,依赖包本身也还有很多依赖关系。如果没有一次性把全部的依赖包打包下载好,我们下载...

osc_exgfhxar
47分钟前
8
0
7款优秀Vim插件帮你打造完美IDE - 知乎

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,不管是Java、C还是Python,使用IDE编程可以帮你检查语法、自动补全、后台编译等,写代码就变得...

osc_56801rv0
48分钟前
31
0
算法工程师的数学基础|线性代数中的向量内积和外积概念及几何意义

线性代数主要包含向量、向量空间(或称线性空间)以及向量的线性变换和有限维的线性方程组。本篇文章主要介绍线性代数部分中的向量和向量空间。 本篇内容主要是对线性代数中向量点积和外积补...

osc_sw1y4qdg
49分钟前
22
0
Python json.dumps 中文问题

今天用json.dump()函数,遇到了中文自动转Unicode编码的问题 def dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None,......

osc_dbf92nqg
51分钟前
17
0
菜鸟如何在阿里云快速建站(pc站+手机站+公众号+小程序)

在当今互联网大发展的时代,互联网已经成为和吃饭睡觉一样平常的事物。不论个人还是公司、不论是打工的还是老板、不论是农村的还是城市的,不知道互联网的人大概只剩下那些年龄过高的部分老年...

osc_hinb5m98
52分钟前
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部