zoukankan      html  css  js  c++  java
  • 【读书笔记】 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的请求,是否能落到同一台机器

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

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

  • 相关阅读:
    zookeeper安装(linux)
    rabbitmq安装(linux)遇到 很多坑
    关于mysql数据库连接异常处理
    git放弃修改&放弃增加文件
    git使用常见问题
    base64字符串转化成图片
    Block小结
    关闭selinux
    Ctrl快捷键和vim快捷键
    正则表达式扩展正则
  • 原文地址:https://www.cnblogs.com/superniaoren/p/3350658.html
Copyright © 2011-2022 走看看