![了解 gcloud 的持久磁盘以维持文件写入吞吐量](https://linux22.com/image/730362/%E4%BA%86%E8%A7%A3%20gcloud%20%E7%9A%84%E6%8C%81%E4%B9%85%E7%A3%81%E7%9B%98%E4%BB%A5%E7%BB%B4%E6%8C%81%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E5%90%9E%E5%90%90%E9%87%8F.png)
答案1
绩效配额的行为是在你引用的文档中:
磁盘 IOPS 和吞吐量性能随磁盘大小线性增加,直到达到以下每个实例的限制
因此,增加每 GB 磁盘大小的读取/写入和吞吐量,直至达到一个 VM 实例的限制。增加弹性会产生性能成本,更便宜的基于主轴的选项也是如此。
您尚未提供选择存储的其他输入、所需容量和耐用性。每秒提取 1,000 个文件很不错,但它能做到多久?文件保留多长时间?请记住停止时本地 SSD 会被清除. 使用这些决策来进行您自己的计算,例如容量规划电子表格。
答案2
我的背景是企业存储系统,所以我将帮助您了解一些基础知识。
每 GB 的写入吞吐量是指每个磁盘。每个实例的写入吞吐量是指附加到实例的所有磁盘的总和。
分析1:
您的目标是每秒存储 1,000 个 100 KB 的文件。忽略 KB 和 KiB 之间的差异,这就是每秒 100 MB。这个速度很高,但对于今天的存储来说也不算过分。现在考虑文件系统元数据开销、延迟等,并将这个数字向上舍入 25%。这意味着您需要 125 MB/秒的持续写入性能。
从您的图表中,为此示例选择最快的持久(非本地)磁盘:区域 SSD。
此磁盘每 GB 提供每秒 0.48 MB 的写入性能。您需要每秒 125 MB。因此,您至少需要 260 GB 的存储空间 (125 / 0.48)。这不是一个大驱动器。我会选择 1 TB 来提供一些空间。但是,请注意最大写入性能范围 (76-400 MB/秒)。
分析2:
磁盘 IOPS。如果您使用 125 MB,并且在此示例中假设单个 I/O 为 4 KB,则至少需要 32K IOPS。使用相同的区域性 SSD,您至少需要 1,092 GB 的存储空间(125 MB/4K)。请注意,32K IOPS 超出了支持的最大写入性能。
笔记:
Google 性能数字具有以下特点:
- 对于 IOPS 性能数字来说,I/O 块大小为 8 KB 或更小。
- 就写入性能而言,I/O 块大小为 256 KB 或更大(MB/秒)。
不要将我计算出的数字用于您的用例。查看我所写的内容,以便您能够从非常简单的层面了解如何计算存储的性能数字。我没有考虑网络带宽、延迟、所需的 CPU 性能和许多其他因素。当我设计系统时,我会使用与上述类似的数学方法,然后使用现实世界的示例案例进行基准测试。我尝试找到最大持续速率并尝试模拟我们的企业应用程序的实际操作。
最后一点。云世界中这些类型的 IOPS 非常昂贵(相对而言)。我将把估算存储成本的任务留给您。