我在运行Debian Wheezy Beta 4(x86_64)KVMpipe理程序的Debian Wheezy Beta 4(x86_64)KVM guest上运行一个Mumble服务器(Murmur)。 客户机通过Virtionetworking接口连接到pipe理程序系统上的桥接设备。 pipe理程序连接到100Mbit / s上行链路,并在客户机和其余Internet之间进行IP路由。
在此设置中,我们正在经历双击客户端中的频道和正在进行的频道join操作之间的明显延迟。 在Linux和Windows系统上,1.2.3和1.2.4之间会有很多不同的客户端。
语音质量和延迟似乎完全不受此影响。 大多数情况下,客户端的信息对话框声明语音和控制信道的延迟时间为16ms。 控制信道的偏差大多比语音信道的偏差大得多。 在某些情况下,控制通道显示100ms的ping和大约1000的偏差。 看来TCP性能在这里是一个问题。
我们在早期的设置上没有任何问题,这在原则上与新设置相当。 我们使用基于Debian Lenny的Xen虚拟机pipe理程序和一个软虚拟客户机,而不是早期版本的Mumble 1.2.3系列。
目前的murmurd --version说: 1.2.3-349-g315b5f5-2.1
更新 :我发现这个讨论 ,有人在虚拟系统上运行混淆,这个系统遇到和我一样的问题。
我到目前为止所尝试的(没有任何成功的):
更新 :以前我说过我已经testing了将Mumble数据库和日志文件放在tmpfs内存中的文件系统中,并没有解决问题。 我在那里犯了一个错误,所以它实际上并不存储在tmpfs里面。 现在我已经做到了,性能问题已经没有了。 但将其存储在tmpfs中并不是真正解决我的问题的方法。
通过将Mumble服务器的数据库和日志文件放入内存中的文件系统,我发现这与I / O性能问题有关。 什么导致了不好的I / O延迟是这个问题的主题。 问题已经通过添加nobarrier安装选项得到解决,该选项在Linux 2.6.33中引入了barrier作为默认选项之后首次添加。 注意这确实会导致安全问题 。 此外,通过Virtio访问分区,同时将caching设置为none或writeback 。 caching设置为writethrough时,性能仍然很差