nginx常用负载方式

3 篇文章 0 订阅
2 篇文章 0 订阅

1:轮训是Nginx负载均衡默认方式,采用这种方式每个客户端请求按时间的顺序逐一分配到不同的后端服务器,如果后端服务器无法联系,则自动从负载均衡群集删除。

2:轮训几率方式主要用于后端服务器性能不同的情况,weight参数表示权值,权值越高被分配到的几率越大。如果后端服务器无法联系,则自动从负载均衡群集删除。

3:IP_HASH方式根据每个客户端请求按照iphash 结果分配,这样每个访客固定访问一个后端服务器,可以解决session 共享问题。 Ip_hash

4:fair 方式根据后端服务器的相应时间来分配请求,响应时间短的优先分配。Fair方式不是nginx默认支持方式,需要按照 gnosek-nginx-upstream-fair

5:URL_HASH 根据访问URLHASH结果来分配请求,使每一个URL定向到同一个后端服务器,后端服务器为缓存是推荐使用这种方式。url_hash方式不是nginx默认支持方式,依赖evanmiller_nginx_upstream_hash

6:sticky 基于cookie 负载均衡。常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端是CDN,或者说一个局域网的客户同时访问服务器,导致出现服务器分配不均衡,以及不能保证每次访问都粘滞在同一台服务器。如果基于cookie会是一种什么情形,想想看,每台电脑都会有不同的cookie,在保持长连接的同时还保证了服务器的压力均衡nginx-sticky-module  会分配cookie 对应的route,支持md5,index sha hash


mysql 的索引类型

Myisam

   -主键索引/非主键索引

     叶子节点上均带有行号,通过行号进行索引

Innodb

   -主键索引(聚簇索引)      叶子节点上带有数据

   -非主键索引(第二索引)    叶子节点上带有主键id

为什么innodb存储引擎的索引设计与myisam的实现有异?

myisam属于堆表,数据写入一直累积(concurrent_insert参数设置为2);此时写入性能比innodb好,但是无论是主键查询还是非主键查询,都不可避免的需要二次io(除非能索引内完成字段记录返回)


innodb属于聚簇索引组织表(主键索引即数据),由于必须保证索引有序,在写入时需要找到合适的位置进行插入,有时候还会导致二叉树调整所以写入性能比myisam要差;但是主键查找时只需要一次io即可返回数据,非主键索引查询时如果在索引内不能完成查询记录返回则需要第二次的io


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值