如何减少同步延迟
- 扩大带宽。从主服务器到从服务器需要带宽,二带宽的大小决定了速度的大小,带宽越大,延时越小。
- 走局域网。外网有很多不确定的因素,比如线路问题,网络波动问题。而在局域网是最快最安全的
- 从程序上解决。任何数据同步都是通过程序完成的,每个程序都不一样。比如用C可以优化IO流,java优化内存占用等等
- 加大服务器的配置。服务器有足够的IO,足够的内存,对同步时很重要的。
- 减少从节点的数量。同步占用各种资源,减少从的数量,可以最快释放资源
- 重新评估使用场景,是否需要读写分离。redis性能已经足够块,读写分离是否性能过剩,还增加其他问题。
- 使用正确的数据结构
- key长度越小占用内存越小(积少成多)
- value的值是否可以进行处理
- 部分数据结构在长度较小、个数较少的情况下会采用节省空间的算法存储,可以与sharding结合减少总内存使用
- sharding:减少单机可使用内存量(虽然不会减少总内存量)