腾讯云的云硬盘用 DD 命令测试仅有 1.6MB/s 的速度,但腾讯云的工作人员坚称符合预期,由于我对 IO 这块不太熟悉,请大家帮忙看看,谢谢

2018-01-02 13:50:24 +08:00
 sky77733
腾讯云的云硬盘用 DD 命令测试仅有 1.6MB/s 的速度(测试命令 time dd bs=64k count=4k if=/dev/zero of=test ),但腾讯云的工作人员坚称符合预期(在国内友商相同 DD 命令测试均速在 20MB/S 的情况下,这速度真的是符合预期的吗?),多轮工单沟通下来,如果不是在其它的云服务商处也有服务器,我都差点被说服了,由于对系统 IO 这块不是很熟悉,请大家看看,他们所说的是否有理?谢谢

以下是工单的沟通记录:

沟通记录

问题描述 2017-12-31 21:34:52
系统盘所在的云硬盘 IO 极其低下(云硬盘的资源 ID:disk-lyez6hhm ),打开一个几 MB 的文档都要好几秒,请帮我看下,是否是此硬盘所在的仓库负载太高了?我另外一块作数据盘的云硬盘就还算比较正常。谢谢

下面是硬盘的检测信息(多次检测都在 1.5MB/s 左右):
root@VM-0-13-debian:~# time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 169.199 s, 1.6 MB/s

real2m49.208s
user0m0.008s
sys0m0.520s




10000340 : 2017-12-31 21:38:19
此问题从今天中午到目前一直是这样,我之前以为是遇到了 IO 负载高峰,但经多次检测一直是这样,应该是云盘所在的节点有问题

腾讯云工程师 : 2017-12-31 21:43:19
您好,关于您反馈的问题正在为您核实,请您耐心等待。

10000340 : 2017-12-31 21:51:38
好的,目前云盘里还没有存放任何资料,如果需要迁移,无需考虑数据保存的问题,直接迁移即可,多谢!

腾讯云工程师 : 2017-12-31 21:54:32
您好,您那边方便提供下服务器登陆密码,我们进去测下吗?

10000340 : 2017-12-31 22:01:36
登录信息,谢谢

root
t*********

腾讯云工程师 : 2017-12-31 22:02:30
好的,收到,感谢您的配合。

腾讯云工程师 : 2018-01-01 10:40:28
您好,经核查您服务器磁盘性能是符合预期的,主要是 dd 命令是单线程的顺序写,块大小指定大小,IOPS 会到瓶颈,指定太大会导致 IOPS 上不去,建议使用 fio 命令可测试出磁盘极限性能,具体可以参考文档中测试方法:
https://cloud.tencent.com/document/product/362/6741
大图


大图



10000340 : 2018-01-01 13:09:07
您好,
这是我刚刚在本机系统盘上所做的测试:
root@VM-0-13-debian:~# time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 159.261 s, 1.7 MB/s

real 2m39.286s
user 0m0.016s
sys 0m0.508s

这是在本机附加的数据盘(也是云盘,挂载在 www 目录上)上所作的测试:
root@VM-0-13-debian:/www# time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 41.2061 s, 6.5 MB/s

real 0m41.213s
user 0m0.008s
sys 0m0.384s

同一台机器两个不同的云盘,测试结果差距如此大,这很明显是云盘所在的仓库有问题,如此之低的 IO 这怎么可能正常,而同样是云盘的 阿里云 和 京东云 就一直很正常,并且,刚刚我在 V2EX 论坛上咨询其他有你们云主机的人都说这完全不正常,如此之低的性能,如何来跑各类应用呢?我相信我将这对比结果发在你们论坛里也不可能有人敢说这是正常的。


这是阿里云的云盘上同样命令的结果:

# time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 10.135 s, 26.5 MB/s

real 0m10.139s
user 0m0.006s
sys 0m0.322s

这是京东云硬盘上同样命令的结果
# time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 12.7922 s, 21.0 MB/s

real 0m12.794s
user 0m0.016s
sys 0m0.468s





腾讯云工程师 : 2018-01-01 13:51:27
您好,dd 命令测试具有局限性,麻烦您使用 fio 命令测试一组数据这边对比进一步确认问题,或者授权这边登录您服务器安装 fio 命令进行测试,fio 使用可参考文档 1,各种块存储设备性能对比可参考文档 2
https://cloud.tencent.com/document/product/362/6741
https://cloud.tencent.com/document/product/362/2353

大图



温馨提示:若您在此单中有提供 SecretID/SecretKey 或账号密码等信息,请您在结单后尽快修改,以免造成不必要的损失。

10000340 : 2018-01-01 14:01:39
我明白你所说的 DD 命令的局限性,但问题是,同一台机器,同为云盘,同样执行 DD 命令为何两块硬盘的差距是如此之大?就算是有局限性,为何执行结果差距如此大?这只能说明一个问题,这块系统盘 IO 有问题,你刚刚的解释让我感觉像是我用皮尺量同一件衣服的袖子,发现结果是一只长一只短,你却认为我测量的工具有问题,让我换成你们认可的工具来量,这样有意义吗?

10000340 : 2018-01-01 14:04:31
本机系统云盘( 50GB):268435456 bytes (268 MB) copied, 159.261 s, 1.7 MB/s
本机附加的数据云盘(40GB):268435456 bytes (268 MB) copied, 41.2061 s, 6.5 MB/s

是否换一个工具这两个就一样了呢?谢谢



腾讯云工程师 : 2018-01-01 14:55:27
您好,云硬盘也是网络盘,系统盘和另外的数据盘不一定是在同一个宿主机上,所以性能可能会存在差异,您使用 dd 命令测试有两个弊端,因为是单线程,一个是块大小指定太小,IOPS 到达上限,块大小指定太大,IOPS 上不去,fio 可以开启多线程写入测试,可以测试出磁盘极限性能
http://blog.yufeng.info/archives/2104

10000340 : 2018-01-01 15:13:57
您好,请看看您们论坛里管理人员对 同样的 DD 测试结果为 1.6MB 是怎么说的?

http://bbs.qcloud.com/thread-44620-1-2.html

如果您还非要坚持说 1.6MB/s 就是你们腾讯云的正常速度的话,那我只能说,您这样简单的回避问题会砸了腾讯云招牌的。

祝您新年快乐



10000340: 2018-01-01 15:16:16
同样的 DD 命令,time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync,同样差不多的测试结果,但完全不同的处理。您这是代表您们腾讯云鄙视小客户么?

腾讯云工程师 : 2018-01-01 17:15:07
您好,抱歉让您久等了,目前还在核查您反馈的磁盘性能低问题,有结论给您工单回复,请关注工单回复,谢谢

腾讯云工程师 : 2018-01-02 11:31:05
您好,很抱歉让您久等了。这里和后端同事确认了下,目前在系统盘上使用 dd 命令测试的时候,获得的参数都是较低,但实际上并不会影响性能, 如下是我的测试结果:

广州 s2 机型上系统盘云盘测试结果
time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 173.576 s, 1.5 MB/s

real2m53.599s
user0m0.015s
sys0m0.696s


在香港云盘上测试结果:
time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 172.495 s, 1.6 MB/s

real2m52.523s
user0m0.016s
sys0m0.732s


系统盘为本地盘的测试结果:
time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 64.7305s, 4.1 MB/s

real1m4.77s
user0m0.007s
sys0m0.405s

从测试结果来看,云盘的速率都是差不多的,使用过程中性能都是符合预期的,如果您对磁盘性能要求较高,可以考虑使用本地盘作为系统盘。
另外针对您工单里面反馈的论坛中的那个帖子,这边核实了下,当时对应用户反馈的磁盘是数据盘,并非系统盘。
以上是给您的答复,如果您有疑问,可以继续回复,谢谢。

10000340 : 2018-01-02 13:25:26
抱歉,刚刚又去看了下所说的论坛中的那个帖子,该用户明明很明确的注明了有问题的盘是系统盘,怎么到了这儿就变成非系统盘了呢?下面是你们论坛原贴的内容:
------------------------------------
pdm 发表于 2017-11-22 16:31
你好!可以麻烦提供一下云硬盘的 ID 吗?我们来看下出了什么问题

你好. 这是我的云盘信息:

资源 ID disk-il523keb
状态 已挂载
地域 华东地区(上海) 可用区 上海一区
磁盘类型 云硬盘
磁盘属性 系统盘
云硬盘容量 40G
已挂载云主机 ins-r6qk0rsx
点评


pdm 楼主你好,根据我们后台查看,您的硬盘在双 11 高峰时刻被分配到了负载较高的仓库中,导致硬盘性能收到当时高峰影响,后续已经将其迁移到了负载正常的仓库里,不知道楼主是否方便再测试一下看看结果呢? 详情 回复 发表于 2017-11-24 20:26
----------------------------------

……。此处腾讯云的工程师尚未回复。
14455 次点击
所在节点    云计算
116 条回复
tencentcloud
2018-01-02 16:01:59 +08:00
楼主好,您反馈的问题我们已经收到啦。目前已协调相关专家通过电话和短信联系您处理,但未联系到您。麻烦您方便的时候答复下短信或者工单告知可联系时间, 我们会及时联系您解决问题。感谢您的反馈。
windyboy
2018-01-02 16:08:15 +08:00
我也好奇,测了一下 LINODE 的 JP 最低配节点
time dd if=/dev/zero of=file bs=1M count=1024 oflag=direct

1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.01395 s, 1.1 GB/s

real 0m1.018s
user 0m0.000s
sys 0m0.277s
snail00
2018-01-02 16:10:53 +08:00
@openbsd #26 差了四倍,
这次测速度也有提升
# dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
三次结果 : 38.4, 58.3, 59.8
# dd bs=64k count=4k if=/dev/zero of=test
三次结果 : 132, 222, 322

相比第一次不加 "oflag=dsync" 的 59.4MB/s 有明显提升.

是腾讯云修复了什么 bug, 还是第一次测试的原因?
shadownet
2018-01-02 16:13:12 +08:00
@windyboy 你这是有缓存,不过 linode 的 ssd 是真 ssd,不是云 ssd
imxieke
2018-01-02 16:18:40 +08:00
@Fleey #14 我刚刚也测试了腾讯云香港的 没注意哪个区 ip 是 119.28.x.x 的

```
➜ ~ time dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 3.08507 s, 87.0 MB/s
dd bs=64k count=4k if=/dev/zero of=test 0.02s user 0.22s system 7% cpu 3.086 total

```
udev
2018-01-02 16:19:06 +08:00
Welcome to Alibaba Cloud Elastic Compute Service !

[root@xxx ~]# time dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 1.13294 s, 237 MB/s

real 0m1.207s
user 0m0.001s
sys 0m0.341s
windyboy
2018-01-02 16:19:13 +08:00
@shadownet
嘿嘿
跑了个 dsync
time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 3.74588 s, 71.7 MB/s
gcod
2018-01-02 16:38:30 +08:00
https://i.loli.net/2018/01/02/5a4b44828edca.png

我可能用了假的腾讯云。
flexbug
2018-01-02 16:49:41 +08:00
Last login: Wed Dec 20 13:57:46 CST 2017 on pts/0
[root@localhost ~]# time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 0.347938 s, 772 MB/s

real 0m0.350s
user 0m0.003s
sys 0m0.252s

搬挖工 1 年 19 刀的那款
wangyucn
2018-01-02 16:59:28 +08:00
root@vultr:~# time dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 1.03808 s, 259 MB/s

real 0m1.044s
user 0m0.004s
sys 0m0.707s

vultr 最低配的。
est
2018-01-02 17:03:24 +08:00
@f2f2f 厉害了。还能区分 io 发起者的进程对应的 elf 是不是 dd。。。。。
xpresslink
2018-01-02 17:04:40 +08:00
你那个确实低到发指啊!

这是阿里云 ECS 主机上普通云盘的测试结果
刚测试的。

time dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 0.247622 s, 1.1 GB/s

real 0m0.270s
user 0m0.000s
sys 0m0.250s

通常虚拟机都是跑的 Vmware,用光纤交换机连接到存储设备上,共享带宽 8/16G,
当同一个存储上的多台虚拟机都同时读写时候,带宽就不够了,可能会有优先级策略保证 SLA 高的客户
低等级客户的带宽被挤占。
我只是猜的不一定对。
alinwu05
2018-01-02 17:06:46 +08:00
Welcome to aliyun Elastic Compute Service!

[root@ ~]# time dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 0.245219 s, 1.1 GB/s

real 0m0.284s
user 0m0.002s
sys 0m0.189s
binux
2018-01-02 17:17:50 +08:00
@xpresslink 你没加 dsync
sky77733
2018-01-02 17:18:17 +08:00
@tencentcloud 感谢您的关注,您们同事刚刚已经和我电话沟通过,由于我对数据存储运维这块不熟悉,就目前的情况来看,出现这样的情况,可能是云商各家采用的技术体系不一样,我之前以为这个 1.6MB/S ( time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync 测试)我这个是个案,但看来还有很多朋友也是这样的情况,您们同事说会进一步排查。
正如上面有的朋友所说低配置的机器严格关注 IO 意义不大,我也有点过份较真了。
也同时感谢其他所有回复,和热心测试的朋友。谢谢您们!
twor2
2018-01-02 17:18:17 +08:00
a


(py3) ➜ ~ time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 16.754 s, 16.0 MB/s
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync 0.01s user 0.34s system 2% cpu 16.757 total
(py3) ➜ ~


b
____

~ time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 87.634 s, 3.1 MB/s
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync 0.00s user 0.53s system 0% cpu 1:27.65 total
➜ ~
avrillavigne
2018-01-02 17:29:38 +08:00
HK 一区 普通云盘

[root@VM_xyxyxyxy_centos ~]# time dd bs=64k count=4k if=/dev/zero of=test
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 2.35623 s, 114 MB/s

real 0m3.611s
user 0m0.005s
sys 0m0.286s
god
2018-01-02 17:32:29 +08:00
IO
IOs, IOPS
IO/s, MB/s ( Gbit/s)
xpresslink
2018-01-02 17:33:12 +08:00
time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
4096+0 records in
4096+0 records out
268435456 bytes (268 MB) copied, 13.1765 s, 20.4 MB/s

real 0m13.244s
user 0m0.021s
sys 0m1.031s
xpresslink
2018-01-02 17:35:41 +08:00
在 HP Gen8 上的虚拟机里:
[root@CentOS6 ~]# time dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
记录了 4096+0 的读入
记录了 4096+0 的写出
268435456 字节(268 MB)已复制,3.05779 秒,87.8 MB/秒

real 0m3.159s
user 0m0.012s
sys 0m1.221s

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/419360

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX