关于Redis延迟,不同系统下fork操作时间对比

在Redis latency problems troubleshooting页面中,作者对Redis延迟问题的成因进行了全方位的剖析,其中一项便是fork操作占用时间导致的延迟。最近Redis作者又对fork操作在各虚拟系统中的性能进行了测试对比,得出下面结果,结果表明使用Xen虚拟化的主机由于其fork操作的实现机制,fork导致的延迟会更为严重。

  • Linux beefy VM on VMware 6.0GB RSS forked in 77 milliseconds (12.8 milliseconds per GB).

  • Linux running on physical machine (Unknown HW) 6.1GB RSS forked in 80 milliseconds (13.1 milliseconds per GB)

  • Linux running on physical machine (Xeon @ 2.27Ghz) 6.9GB RSS forked into 62 millisecodns (9 milliseconds per GB).

  • Linux VM on 6sync (KVM) 360 MB RSS forked in 8.2 milliseconds (23.3 millisecond per GB).

  • Linux VM on EC2 (Xen) 6.1GB RSS forked in 1460 milliseconds (239.3 milliseconds per GB).

  • Linux VM on Linode (Xen) 0.9GBRSS forked into 382 millisecodns (424 milliseconds per GB).

说明:Redis的fork操作主要发生在写RDB文件和AOF rewrite的过程中,Redis通过fork出一个子进程来完成上面的工作,通过利用fork操作的COW(copy on write)功能,使得系统能够仅仅复制内存页面引用来实现数据快照的功能。


你可能感兴趣的:(关于Redis延迟,不同系统下fork操作时间对比)