【读书笔记】 nginx 负载均衡测试

这里原文在这里    http://blogread.cn/it/article/5608?f=wb1

由于之前研究过一段时间的nginx源码,所以这篇文章在nginx功能方面的原生介绍没有多少新意,

但是,

他的实验部分确实很值得关注的。

恩,最大的收获,就是在这里,不错。

本文将从源码的角度介绍nginx的内置负载均衡策略扩展负载均衡策略,以实际的工业生产为案例,对比各负载均衡策略,为nginx使用者提供参考。

插播一句,看nginx的实现代码,有时会感到一阵激动,总会让我想起曾经第一次围着火炉读巴金的《家》那种感觉,额,有些跳跃了。。

文中首先介绍了下nginx内置的load balancepolicy: 轮询策略(有点像DFS,首先对于新到来的请求,总是选择当前拥有最大权重值的节点,将request发送给该节点对应的后台服务器上,同时当前节点权重值减一,当降至与其他某些节点相同权重时,就要选择其他的节点和后台服务器了)和ip hash方法(将request中的ip作为key进行hash,当经过连续20次hash找不到可用的机器,就退回到轮询算法);

另外又插播一句,在很多高性能的软件当中,RBtree,AVL,treap等数据结构很重要很重要啊。。。

关于实验:

首先简单介绍测试工具、测试网络拓扑和基本的测试流程

实验工具,这个有很多的开源工具,例如简单的ab,复杂的。。。忘记了。。webbench?等等,这里原文用的是polygraph,是个不错的工具。

nginx server夹在中间作为reverse proxy即可。测试他的调度策略的平衡性,一致性。

首先介绍下关键的测试指标:

    均衡性:是否能够将请求均匀的发送给后端

    一致性:同一个key的请求,是否能落到同一台机器

    容灾性:当部分后端机器挂掉时,是否能够正常工作

学习了。。三种指标的测试。需要对于不同的指标设计不同的实验。在测试时,沿着时间轴将测试情景划分为四种情形:后台服务器全部正常 --> 部分挂掉-->全部挂掉 --> 全部恢复正常;

 

 

 

posted on 2013-10-03 21:49  馒头山小八路  阅读(248)  评论(0编辑  收藏  举报

导航