Date: 8月 10, 2024
如何使用 SIOS DataKeeper 执行性能测试复制
为生产数据库配置复制可能是一项相当艰巨的任务,特别是如果您没有提前做好研究的话。本博客将介绍正确设置环境的最棘手方面……性能。了解这些关键点将使您领先一步,并确保您的生产上线不会在最后一刻出现任何障碍。
首先要考虑的也是最基本的一点是为您的配置选择正确的镜像类型。SIOS DataKeeper 在创建过程中提供了两种镜像类型选项:同步和异步。这两种选项各有优缺点,具体取决于您的环境。
选择镜像类型
同步镜像在具有高速连接的 LAN 环境中表现最佳,并在提交到主系统时提供 1:1 写入一致性。但是,如果网络或目标存储无法跟上主系统的吞吐量,您将看到写入速度降低以保持同步写入一致性。因此,不建议在 WAN 或高延迟环境中使用同步镜像。
然而,异步镜像非常适合 WAN 环境。异步镜像提供确保节点之间 1:1 写入一致性的所有相同功能,但不同之处在于,写入在提交到目标系统之前会提交到主系统。这是由于使用了位图(也称为意图日志)而实现的,位图以块级别跟踪系统上发生的所有更改,并通过称为写入队列的积压尽快将数据写入目标。写入队列可以通过写入次数或数据中的总 MB 数来限制,当达到限制时,镜像将暂停并且数据将同步,从而防止在数据不同步时发生故障转移。
硬件配置:
现在您已经决定了哪种镜像类型最适合您的环境,重要的是要了解 DataKeeper 并不是魔术,DataKeeper 只能以您的系统允许的速度写入和复制,因此拥有能够达到应用程序所需吞吐量的硬件至关重要。以下是一些建议和提示,可确保您拥有实现复制目标所需的硬件。
- 确保主系统和目标系统具有相同的存储硬件。例如,目标 IOPS 应等于源 IOPS。否则,环境中最慢的组件将成为写入速度的瓶颈。匹配的硬件始终会提供更好的性能。
- 了解位图的重要性后,显著提高性能的最简单、最便宜的方法是将位图存储在其专用的高速存储中。位图非常小,因此配置 5 或 10GB SSD 就足够了,并且可以提供巨大的性能提升回报。
- 测试独立硬件时,请理解复制数据会带来一些开销。例如,如果您需要在环境中达到 10,000 IOPS,请确保您的硬件至少可以在集群的所有节点上实现一致的 10,000 IOPS。如果您打算执行同步镜像,请确保您已超出最低要求,因为需要引入更多开销来保持同步一致性。还需要对网络进行负载测试,以确保您可以传输复制方案所需的数据。
- 知道如何正确测试。当利用测试环境来验证生产能力时,尽可能地模拟设置非常重要。众所周知,您无法设置整个生产数据库克隆只是为了测试复制,但使用正确的数据生成工具可以更好地指示当前的性能能力。Diskspd 是一个免费工具,可用于一些基本测试,但在 SQL 世界中,HammerDB 提供了更好的实际性能指标。
磁盘速度:https://github.com/microsoft/diskspd
HammerDB:https://www.hammerdb.com/
- 最后,我们对 DataKeeper 进行了调整,除了 DataKeeper 中的镜像类型之外,还有可配置的设置。修改这些设置通常有点微妙,最好在 SIOS 支持团队的建议下进行。但是,如果您已确认所有其他建议都已完全到位,那么调整一些 DataKeeper 参数可能会提供满足所需指标所需的最后性能提升。调整的一些示例是增加写入队列中未完成的写入次数或修改位图文件刷新到磁盘的频率。
经许可转载自西欧斯