博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口性能调优方案探索
阅读量:6407 次
发布时间:2019-06-23

本文共 630 字,大约阅读时间需要 2 分钟。

hot3.png

之前我们的电影详情一直采用从redis中读取数据,但QPS一直不高,用了30组redis服务器,采用一致性哈希算法去命中机器去连redis读取结果返回。因为redis取的次数问题及结果过大,一是同一次请求可能多个redisKey,因为key名不同,因此造成要多次一致性hash并且连接多次才能取得结果,通过以下想法跟试验优化了下:

1、将多次Redis查询的数据缓存到一台机器上,只一次读取,提高了一点QPS,但只是从以前的单台八百多到一千出头。

2、优化redis集群的分组,每个主库下挂多个从库,提高了一点

3、redis缓存服务器专门用来读取,只设置一台,不走一致性哈希,走一主N从架构,提高了些

4、缓存一致性哈希结果,每次都要去根据配置文件去计算一致性哈希生成哈希环,然后通过key去查找命中,通过文件将一致性哈希的结果缓存起来,其中遇到了不少坑,包括unserialize的文件大于200K之后解不出来。生成哈希环的过程中恰好一台服务器碰到并发比较高造成文件多次写入无法json_decode情况。最后通过Yac跟一次写入的方式解决了这个问题

5、将缓存结果直接存文件,通过文件的创建时间判断是否过期。

最后发现存文件比读redis缓存的qps高上很多很多,8核16G的标配服务器通过AB压测得到的结果从之前的六百多到了现在的两千五百多,提高了很多。

转载于:https://my.oschina.net/u/1186749/blog/824573

你可能感兴趣的文章
编程学习初体验(5. 如何自学编程)(2)
查看>>
思科ISR G1与ISR G1C的区别
查看>>
利用perl提取web配置文件中的域名对应的路径
查看>>
Centos5上安装JRE和LUMAQQ
查看>>
关于监控工具的主动发起性能测试
查看>>
我的友情链接
查看>>
OpenSSL学习(十六):基础-指令rand
查看>>
KeyMob致力于打造国内领先的移动广告平台
查看>>
路由选路原则
查看>>
jvm 学习(一)
查看>>
JavaScript简介
查看>>
SQL Server附加数据库拒绝访问解决方法汇总
查看>>
SM2算法原理及实现
查看>>
RHCA教材翻译计划
查看>>
js-小括号在不同场合下的作用
查看>>
我的友情链接
查看>>
kvm中虚拟机的硬盘扩容
查看>>
Android (Launch Mode) 四种启动模式
查看>>
透视学理论(二)
查看>>
Dubbo/HSF在Service Mesh下的思考和方案
查看>>