加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

debian – 为什么domU比IO上的dom0更快?

发布时间:2020-12-14 23:42:36 所属栏目:资源 来源:网络整理
导读:我在物理机器上安装了debian 7.这是机器的配置: 3个使用RAID 5的硬盘 剥离元件尺寸:1M 阅读政策:自适应预读 写政策:写通 / boot 200 MB ext2 / 15 GB ext3 SWAP 10GB LVM休息(~500GB) 我安装了postgresql,创建了一个大数据库(超过1GB).我有一个SQL请求,
我在物理机器上安装了debian 7.这是机器的配置:

> 3个使用RAID 5的硬盘
>剥离元件尺寸:1M
>阅读政策:自适应预读
>写政策:写通
> / boot 200 MB ext2
> / 15 GB ext3
> SWAP 10GB
> LVM休息(~500GB)

我安装了postgresql,创建了一个大数据库(超过1GB).我有一个SQL请求,需要花费大量的时间来运行(一个SELECT语句,所以它只从数据库中读取数据).此请求大约需要5.5秒才能运行.
然后,我安装了XEN,用另一个debian发行版创建了一个domU.在这个操作系统上,我还安装了postgresql,使用相同的数据库.相同的SQL请求只需2.5秒即可运行.

我检查了dom0和domU上的内核. uname-a在两个系统上都返回“Linux debian 3.2.0-4-amd64#1 SMP Debian 3.2.41-2 deb7u2 x86_64 GNU / Linux”.
我检查了内核参数,它们大致相同.对于那些相关的,我改变了它们的值,使它们在使用sysctl的两个系统上匹配.我没有看到任何变化(请求仍然花费相同的时间).

在此之后,我检查了文件系统.我在domU上使用了ext3.仍然没有变化.

我安装了hdparm,并在两个系统上的所有分区上的两个系统上运行hdparm -Tt,我得到了类似的结果.

现在,我被卡住了,我不知道有什么不同,这可能是造成这么大差异的原因.

附加信息:

> Debian在戴尔服务器PowerEdge 2950上运行
> postgresql:9.1.9(dom0和domU)
> xen-linux-system:3.2.0
> xen-hypervisor:4.1

谢谢

编辑:

正如KrzysztofKsi??yk所说,这可能是由于某些文件缓存系统造成的.我运行dd命令来测试读写速度.

这是domU:

root@test1:~# dd if=/dev/zero of=/root/dd count=5MB bs=1MB
^C2020+0 records in
2020+0 records out
2020000000 bytes (2.0 GB) copied,18.8289 s,107 MB/s

root@test1:~# dd if=/root/dd of=/dev/null count=5MB bs=1MB
2020+0 records in
2020+0 records out
2020000000 bytes (2.0 GB) copied,15.0549 s,134 MB/s

这是dom0:

root@debian:~# dd if=/dev/zero of=/root/dd count=5MB bs=1MB
^C1693+0 records in
1693+0 records out
1693000000 bytes (1.7 GB) copied,8.87281 s,191 MB/s

root@debian:~# dd if=/root/dd of=/dev/null count=5MB bs=1MB
1693+0 records in
1693+0 records out
1693000000 bytes (1.7 GB) copied,0.501509 s,3.4 GB/s

这个缓存系统的原因是什么?我们怎样才能“修复”它呢?我们可以将它应用于dom0吗?

编辑2:

我切换了我的虚拟磁盘类型.为此,我遵循了this article.

我做了一个dd if = / dev / vg0 / test1-disk of = / mnt / test1-disk.img bs = 16M
然后在/etc/xen/test1.cfg中,我将磁盘参数更改为使用file:而不是phy:
它应该已经删除了文件缓存,但我仍然得到相同的数字(对于Postgres,domU更快)

解决方法

这可能是因为文件缓存.即使domU中的baremetal系统和系统具有与缓存等相同的配置,domU中的某些文件操作也会比裸机更快地执行,因为hypervisor透明地缓存来自domU系统的IO请求.您可以使用dd命令对其进行测试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读