3.8. 突破redis的瓶颈

未匹配的标注

redis的使用:
单机或者主从方式 qps 8万左右
redis Cluster 集群方式 qps 上千万以上
redis分布式方式使用 不常见 需要自己建立分发规则 较难! qps 上千万以上

首先你得明白什么叫做QPS?
QPS即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
每秒查询率
因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,即为QPS。
对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。
计算关系:
QPS = 并发量 / 平均响应时间
并发量 = QPS * 平均响应时间

原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 。
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 。

案例分析:
每天300w PV 的在单台机器上,这台机器需要多少QPS?
( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。
一般需要达到139QPS,因为是峰值。
问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3

先来看一下单机版的redis架构:

突破redis的瓶颈
阿里云提供的redis服务大概就在8w左右的qps
再来看一下集群版的redis架构图:
redis的节点都是两两互通的 比如你访问到了node3节点 但是访问的key却不在node3节点上那么node3会去node2节点上去拿数据 两两互通 整个集群的qps提高了 但是单件商品的访问的qps却没有提升多少 所以不要以为有了集群就全部搞定了 有时候集群未必可以提高你的访问和处理速度
突破redis的瓶颈

如何突破redis的瓶颈呢?那就是golang一个小小的接口即可搞定 并且我们还会做压力测试 让你实实在在的体会到golang的强大之处!

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~