服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

MongoDB和ZFS的性能不佳:磁盘总是忙于读取,而只做写操作

我用ZFSonlinux使用MongoDB(我相信它是mmapped数据库)有巨大的性能问题。 我们的Mongodb几乎只是写道。 对于没有ZFS的副本,磁盘完全忙于〜5秒的峰值,当应用程序每30秒写入一次数据库,并且两者之间没有磁盘活动时,我将其作为基准行为进行比较。 在使用ZFS的副本上,磁盘始终处于繁忙状态,副本持续跟踪MongoDB主节点。 我在所有副本上都启用了lz4压缩function,节省的空间非常大,所以应该有更less的数据打到磁盘上 所以在这些ZFS服务器上,我首先有默认的recordsize = 128k。 然后我擦除数据,并设置recordsize = 8K,然后再同步Mongo数据。 然后我又擦了一遍,试着logging= 1k。 我也尝试logging= 8K没有校验 尽pipe如此,它并没有解决任何问题,磁盘总是保持100%的繁忙。 在logging大小= 8k的服务器上只有一次,磁盘比任何非ZFS复本less得多,但是在尝试不同的设置并再次尝试recordize = 8k后,磁盘是100%,我看不到以前的良好行为,并不能在任何其他副本上看到它。 而且,应该几乎只有写入,但是看到在不同设置下的所有副本上, 磁盘完全忙于75%的读取,只有25%的写入 (注意,我相信MongoDB是mmap数据库,有人告诉我在AIO模式下试用MongoDB,但是我没有find如何设置它,而在另一个运行MySQL InnoDB的服务器上,我意识到ZFSonLinux不支持AIO。 我的服务器是CentOS 6.5内核2.6.32-431.5.1.el6.x86_64。 spl-0.6.2-1.el6.x86_64 zfs-0.6.2-1.el6.x86_64 #PROD 13:44:55 root@rum-mongo-backup-1:~: zfs list NAME USED AVAIL REFER MOUNTPOINT zfs 216G 1.56T 32K /zfs zfs/mongo_data-rum_a 49.5G 1.56T 49.5G /zfs/mongo_data-rum_a zfs/mongo_data-rum_old 166G 1.56T 166G /zfs/mongo_data-rum_old #PROD 13:45:20 […]