网易云背后的数据库:Facebook开源,完全兼容MySQL( 四 )


除了参数调优,在内存使用方面,我们还进行了源码级优化,包括暴露更具体的MemTable内存使用现状,替换更高效的系统内存分配器等 。
合理配置Compaction相关参数Compaction相关参数较多,对于写密集型业务,若配置不当会导致业务停写问题(write stall) 。在云音乐实时推荐场景,我们通过合理调优Compaction参数来实现MyRocks读写性能平稳输出 。

网易云背后的数据库:Facebook开源,完全兼容MySQL

文章插图
 
上图右上侧为未调优时的性能曲线,波动非常剧烈,最高1w+,最低仅2k+ 。这是由于写入压力过大频繁触发停写问题 。
网易云背后的数据库:Facebook开源,完全兼容MySQL

文章插图
 
显然,进行参数调优时,如果参数能够在线调整,可以避免数据库服务重启导致业务受影响,所以我们通过代码优化尽可能增加了在线可调的参数个数 。
【推荐理由】一、 MyRocks拓展了MySQL应用领域,使其可以在要求更高性能的业务场景上使用;
二、 MyRocks减少了MySQL所需的存储空间,节省了业务的硬件投入成本;
三、 有大量MyRocks能够发挥优势的使用场景 。
 


推荐阅读