6

我们的一个(Ubuntu 16.04)Google Cloud VM 的其中一个卷几乎一直处于 100% 的磁盘利用率 - 这是从系统中随机抽取的 10 秒样本:

iostat -x 10

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdd               0.60    17.20 5450.50 2468.00 148923.60 25490.00    44.05    11.81    1.49    1.13    2.29   0.13  99.60

这是目前的 2.5T 持久 SSD。

我的理解是,我无法通过添加虚拟“主轴”然后在它们之间分配工作负载来获得更好的性能。

这是一个数据库卷,所以我也不能真正使用易失性 SSD。

我目前使用以下挂载选项安装了 XFS:

type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,noquota)

有什么建议么?

4

1 回答 1

1

GCE 上的所有持久类型(HDD 和 SSD)磁盘存储都是基于网络的,其中数据被复制到远程存储以提高可用性。这也是性能考虑背后的原因,因为可用网络带宽必须在同一物理机器上的多个租户之间公平共享。

GCE 限制了 IOPS 和带宽的磁盘性能 - 你将受到你首先击中的任何限制。这样做的原因是许多小型操作比一些大型操作成本更高。

IOPS 和带宽都受限于 3 个方面:

  • 类型(HDD 与 SSD)
  • 磁盘大小(更大的磁盘享有更高的限制)
  • 核心数(较大的实例占用更高的限制,因为它们占据了机器的大部分)

此外,PD 流量被计入每个核心网络的出口上限。

该文档有一篇深入的文章,涵盖了所有这些方面。总而言之,一旦磁盘大小、类型和核心数量达到极限,就无法进一步提高性能。

创建多个永久性磁盘的 RAID 阵列不会提高性能,因为您仍然会达到每个实例的限制和网络出口上限。

于 2019-07-07T21:09:49.543 回答