面试题答案
一键面试性能方面
- 全量复制开销大
- 当主从初次同步或从库因某些原因需要重新进行全量复制时,主库会生成并发送整个数据集给从库。随着数据量增长,这个过程会消耗大量网络带宽,导致同步时间显著延长。例如,若主库数据量达到数GB甚至更大,网络传输时间可能从几秒增加到数分钟甚至更长,严重影响系统性能。
- 主库在生成RDB文件以及传输过程中,会占用大量CPU资源,可能导致主库处理客户端请求的能力下降,响应延迟增加。
- 网络拥塞 随着数据量不断增大,主从之间复制的数据量增多,会使网络带宽成为瓶颈。尤其是在大规模部署且网络资源有限的情况下,主从复制产生的网络流量可能会影响其他业务的正常运行,甚至导致网络拥塞,造成复制中断或延迟。
资源利用方面
- 内存使用
- 主库在全量复制时需要生成RDB文件,这个过程可能需要额外的内存空间来存储临时数据。数据量越大,所需临时内存空间可能越大,若系统内存不足,可能导致主库运行缓慢甚至崩溃。
- 从库在接收RDB文件并加载的过程中,也需要足够的内存来处理数据。如果从库内存不足,加载可能失败,影响复制的完成。
- 磁盘I/O 主库生成RDB文件需要进行磁盘I/O操作,数据量增长会使磁盘I/O负担加重。频繁的磁盘写入可能导致I/O性能下降,影响主库整体性能。从库加载RDB文件同样面临磁盘I/O压力,特别是在从库磁盘性能不佳的情况下,加载速度会受到严重影响,延长复制完成时间。