全球主机交流论坛

标题: 想KVM的dd,轻松加速到100M/s以上的看过来 [打印本页]

作者: xianai    时间: 2012-4-21 16:22
标题: 想KVM的dd,轻松加速到100M/s以上的看过来
本帖最后由 xianai 于 2012-4-21 16:50 编辑

我刚才测试了一下哈,母鸡: Centos 6.2 标准内核,内存是标准的 PC 800 4G内存,

如果KVM用以下参数启动:

/usr/libexec/qemu-kvm -m 1050 -drive file=debian-min1.disk,if=virtio,media=disk,cache=writeback,aio=native -vnc :1

测试
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync

平均在 100M/s 以上,


但是如果你不调整启动参数呢,比如

/usr/libexec/qemu-kvm -m 1050 -drive file=debian-min1.disk,media=disk -vnc :1

那么同样的dd就只有,1.2M/s了哦,亲


值得说明的是,加速KVM dd主要靠的是KVM虚拟盘的缓存策略,也就是靠的是内存,
所以,你系统拥有更多的可作为缓存的内存是很有好处的,所以你一定要使用俺们的 UKSM
来消除内存冗余哦!!!


UKSM的项目主页在:kerneldedup.org
相关评测数据,秒杀内核主流 KSM哦,亲!


支持我们的项目,让您拥有更高速的VPS母鸡,生更快的小鸡哦,亲


作者: 狂奔的蜗牛    时间: 2012-4-21 16:23
mark
作者: 落霞孤鹜    时间: 2012-4-21 16:23
100MB还是有点难度的,不是改个模式就可以哦
作者: _____________Cc    时间: 2012-4-21 16:25
对母鸡有用,对小鸡没用
作者: xianai    时间: 2012-4-21 16:26
落霞孤鹜 发表于 2012-4-21 16:23
100MB还是有点难度的,不是改个模式就可以哦

你可以直接把这两个启动参数自己试试嘛,呵呵,我自己测试过好几遍了~
作者: lazyzhu    时间: 2012-4-21 16:26
你是在母鸡中DD还是在小鸡中DD?
作者: 落霞孤鹜    时间: 2012-4-21 16:27
xianai 发表于 2012-4-21 16:26
你可以直接把这两个启动参数自己试试嘛,呵呵,我自己测试过好几遍了~ ...

呵呵,
作者: xianai    时间: 2012-4-21 16:27
_____________Cc 发表于 2012-4-21 16:25
对母鸡有用,对小鸡没用

不错,就是给母鸡的,UKSM主要也是针对母鸡,
当然小鸡也有一定的用途,我自己测过 apache fork的进程多的话,大概会有20%内存节省,
但是没有母鸡来的更加给力了~
作者: xianai    时间: 2012-4-21 16:28
lazyzhu 发表于 2012-4-21 16:26
你是在母鸡中DD还是在小鸡中DD?

母鸡中按照不同的参数启动 KVM,然后在小鸡中 dd
作者: 我是人    时间: 2012-4-21 16:30
本帖最后由 我是人 于 2012-4-21 16:40 编辑

楼主,有两件事:第一,用CentOS 5.8试,第二,cache=writeback 不会有危险么?
谢谢。。。

作者: Host.HowPick    时间: 2012-4-21 16:30
马克。  
作者: Kvm    时间: 2012-4-21 16:32
if=virtio
作者: 我是人    时间: 2012-4-21 16:34
Kvm 发表于 2012-4-21 16:32
if=virtio


传说中还可以把scheduler设成deadline+noop来优化,不过我试了没什么效果。。。
作者: Kvm    时间: 2012-4-21 16:35
我是人 发表于 2012-4-21 16:34
传说中还可以把scheduler设成deadline+noop来优化,不过我试了没什么效果。。。 ...

咩咩 我raid10 阵亡了

以后我保证再也不吃羊肉了
作者: xianai    时间: 2012-4-21 16:47
我是人 发表于 2012-4-21 16:30
楼主,有两件事:第一,用CentOS 5.8试,第二,在小鸡里头试。
谢谢。。。

暂时俺机器上木有 CentOS 5.8 唉,dd确实是在小鸡里面测试的,

另外,你说的对,writeback理论上有一些风险,但是要看你母鸡的稳定程度了,
Linux内核缺省每几分种就会将脏的页面 commit 一次,
如果你母鸡的KVM能保持几个月乃至一年才crash一次,那么顶多丢几分种的 dirty pages
我想一般用VPS的人,这个还是伤的起的吧,

另外,据我一些使用经验来看,vmware 缺省就是用了内存做 IO缓存,
不然,对于 bs=64k 这么小块的同步dd来说,拿命去堆 100M 的 benchmark啊?

相信我,凡是你们用这么小的dd块能测到100~200M/s的速度的,
都是用了内存做缓存的了,就算真的能有这么速度高的硬盘,他们也不肯能用的,亏本亏死他们!
作者: guaku    时间: 2012-4-21 16:49
Kvm 发表于 2012-4-21 16:35
咩咩 我raid10 阵亡了

以后我保证再也不吃羊肉了

骚年,弄一台机器做备份吧......24*2TB的机器很便宜啊
作者: 我是人    时间: 2012-4-21 17:01
xianai 发表于 2012-4-21 16:47
暂时俺机器上木有 CentOS 5.8 唉,dd确实是在小鸡里面测试的,

另外,你说的对,writeback理论上有一些 ...

呃。。。你太快回复了,我已经编辑掉那个在小鸡里dd的问题。

我问5.8的原因是,内核2.6.18测出来的效果不好,所以想看看你有没有遇到同样的问题。
在2.6.32上效果的确显著。
作者: xianai    时间: 2012-4-21 17:04
我是人 发表于 2012-4-21 17:01
呃。。。你太快回复了,我已经编辑掉那个在小鸡里dd的问题。

我问5.8的原因是,内核2.6.18测出来的效果 ...

哦,5.8确实没有试过,呵呵,那具体在那个下面测试出来是多少呢?
作者: Kvm    时间: 2012-4-21 17:09
guaku 发表于 2012-4-21 16:49
骚年,弄一台机器做备份吧......24*2TB的机器很便宜啊

http://kevin.kvm.la/2012/02/13/63.html

早就想做了。。。。。。。。。。。。。
作者: charlies    时间: 2012-4-21 17:10
不错不错,学习一下
作者: xen    时间: 2012-4-21 17:11
加oflag=dsync玩的就是系统,不加玩的才是硬盘
作者: 我是人    时间: 2012-4-21 17:11
xianai 发表于 2012-4-21 17:04
哦,5.8确实没有试过,呵呵,那具体在那个下面测试出来是多少呢?


很糟,virtio + cache=none后也只有10-15MB/s左右。
作者: xianai    时间: 2012-4-21 17:12
我是人 发表于 2012-4-21 16:34
传说中还可以把scheduler设成deadline+noop来优化,不过我试了没什么效果。。。 ...

恩,scheduler主要作用是合并小的IO作为大的IO另外(dd这样的写入方式显然对合并有利些,但是文件系统的IO显然不是每个都这么有规律哦),均衡多个不同的进程之间的IO,但是在你硬盘速度一定的情况下,应该优化没有那么夸张啦。3.2版本以后的内核对写入均衡的要更好些,能起到的效果是不至于一个频繁写入的进程将所有进程彻底拖死,大家等着吧。
作者: xianai    时间: 2012-4-21 17:13
本帖最后由 xianai 于 2012-4-21 17:14 编辑
我是人 发表于 2012-4-21 17:11
很糟,virtio + cache=none后也只有10-15MB/s左右。


所以要 cache=writeback 嘛~,当然啦,我说过了,
这个要看你母鸡的稳定程度(包括机房),如果不是很稳定的吧,还是用none吧,呵呵
作者: 我是人    时间: 2012-4-21 17:23
xianai 发表于 2012-4-21 17:13
所以要 cache=writeback 嘛~,当然啦,我说过了,
这个要看你母鸡的稳定程度(包括机房),如果不是很稳 ...

重点不是这个。

同样条件下,virtio + cache=none在2.6.32上可以得到70MB/s。
作者: sblnrrk    时间: 2012-4-21 17:24
开回写要命的,只推荐在硬阵列卡带电池情况下使用
作者: xianai    时间: 2012-4-21 17:28
我是人 发表于 2012-4-21 17:23
重点不是这个。

同样条件下,virtio + cache=none在2.6.32上可以得到70MB/s。


恩,那应该是内核和KVM的问题咯,
另外,虚拟盘创建的参数可能也有些关系的。
作者: 我是人    时间: 2012-4-21 17:28
sblnrrk 发表于 2012-4-21 17:24
开回写要命的,只推荐在硬阵列卡带电池情况下使用

的确。。。所以除非是测试,要不然坚决不玩cache=writeback。
作者: xianai    时间: 2012-4-21 17:30
我是人 发表于 2012-4-21 17:28
的确。。。所以除非是测试,要不然坚决不玩cache=writeback。

恩,你们是诚信商人
作者: 我是人    时间: 2012-4-21 17:31
xianai 发表于 2012-4-21 17:28
恩,那应该是内核和KVM的问题咯,
另外,虚拟盘创建的参数可能也有些关系的。 ...

怪了。。。我刚刚在另一台2.6.18的机器上测到50MB/s。


不玩了。。。
作者: Kokgog    时间: 2012-4-21 17:32
我是人 发表于 2012-4-21 17:31
怪了。。。我刚刚在另一台2.6.18的机器上测到50MB/s。

咩品问题..........
作者: xianai    时间: 2012-4-21 17:33
我是人 发表于 2012-4-21 17:23
重点不是这个。

同样条件下,virtio + cache=none在2.6.32上可以得到70MB/s。


另外,理论上,这些新的虚拟机相关的机制包括 UKSM,也是可以 backport到旧的内核上的,可惜我不是卖VPS的呀,否则我自己去捣故捣故了
作者: guaku    时间: 2012-4-21 17:33
本帖最后由 guaku 于 2012-4-21 17:36 编辑
我是人 发表于 2012-4-21 17:31
怪了。。。我刚刚在另一台2.6.18的机器上测到50MB/s。


快告诉我,同配置,在centos 5.8下DD  40M,在centos 6.2下DD 2M是何原因
作者: 我是人    时间: 2012-4-21 17:35
guaku 发表于 2012-4-21 17:33
快告诉我,同配置,在centos 2.8下DD  40M,在centos 6.2下DD 2M是何原因


天机不可泄漏。。。
作者: guaku    时间: 2012-4-21 17:36
我是人 发表于 2012-4-21 17:35
天机不可泄漏。。。


烤羊肉去....




作者: xianai    时间: 2012-4-21 17:38
guaku 发表于 2012-4-21 17:33
快告诉我,同配置,在centos 2.8下DD  40M,在centos 6.2下DD 2M是何原因

我忘了说了啊,kvm的guest文件系统的效率和
创建磁盘的参数貌似也有点关系的哈,吃饭去了,下次再搞了,

记得支持我的 UKSM项目哦,

作者: 我是人    时间: 2012-4-21 17:38
guaku 发表于 2012-4-21 17:36
烤羊肉去....

你看看K总的回复。。。还敢吃羊肉么。。。
http://fd.vvwvv.eu.org/forum.php ... 060&pid=1790308
作者: Kokgog    时间: 2012-4-21 17:42
我是人 发表于 2012-4-21 17:38
你看看K总的回复。。。还敢吃羊肉么。。。
http://fd.vvwvv.eu.org/forum.php?mod=redirect&goto=findpos ...


顶着 (, 下载次数: 1) 的荣光,从容的吃咩肉
作者: sblnrrk    时间: 2012-4-21 17:46
xianai 发表于 2012-4-21 17:30
恩,你们是诚信商人

你看他名字

有的商家不是人,所以。。。
作者: guaku    时间: 2012-4-21 17:50
我是人 发表于 2012-4-21 17:38
你看看K总的回复。。。还敢吃羊肉么。。。
http://fd.vvwvv.eu.org/forum.php?mod=redirect&goto=findpos ...

我打算弄24个硬盘做RAID6....然后每个硬盘贴上避邪符.外挂十字架.封口金刚经.............
作者: 我是人    时间: 2012-4-21 17:52
guaku 发表于 2012-4-21 17:50
我打算弄24个硬盘做RAID6....然后每个硬盘贴上避邪符.外挂十字架.封口金刚经............. ...

这个可以有。

那个2MB/s的结果每次都是这样糟吗?还是刚好凑巧遇到了?
作者: Kokgog    时间: 2012-4-21 17:52
guaku 发表于 2012-4-21 17:50
我打算弄24个硬盘做RAID6....然后每个硬盘贴上避邪符.外挂十字架.封口金刚经............. ...

骚年,莫忘了生咩血...........还有....祭天开光的时候三牲有咩头啊..........
作者: guaku    时间: 2012-4-21 17:55
本帖最后由 guaku 于 2012-4-21 17:56 编辑
我是人 发表于 2012-4-21 17:52
这个可以有。

那个2MB/s的结果每次都是这样糟吗?还是刚好凑巧遇到了? ...


每次都是2M左右
作者: sblnrrk    时间: 2012-4-21 17:59
guaku 发表于 2012-4-21 17:50
我打算弄24个硬盘做RAID6....然后每个硬盘贴上避邪符.外挂十字架.封口金刚经............. ...

24盘建议三个7-8盘R5,然后一个全局热备
作者: xianai    时间: 2012-4-21 18:00
sblnrrk 发表于 2012-4-21 17:24
开回写要命的,只推荐在硬阵列卡带电池情况下使用

下线前最后一帖,

另外,其实如果实在担心writeback的问题的话,可以降低 kvm的回写周期,
起到的效果将小块合并成大块回写,而整个虚拟盘的 commit 误差靠近  cache=none,
可以捣鼓的地方还是很多的,不过我实在是没有时间弄这个了,我的主要精力还是在UKSM上,
谁家要是有比较会捣鼓内核代码的工程师,可以考虑聘我做个顾问嘛。
作者: 有个就好    时间: 2012-4-21 18:21
这个帖比较沉
作者: qdmz    时间: 2012-4-22 08:28
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 全球主机交流论坛 (https://fd.vvwvv.eu.org/) Powered by Discuz! X3.4