我们正在研究对数据库的 NAS 系统进行压力测试,基本上是想看看它可以承受多少滥用以及它对数据库性能的影响有多大。这是我们计划的
- 我有一个正在构建的测试工具,它将启动可配置数量的运行 sql 查询的线程(也是可配置的,并考虑让它能够运行多个查询)
- 使用 SQLIOSim 实用程序模拟 SQL Server 活动
- 将大量数据复制到设备上或从设备上复制下来(同时)
谁能想到我们可以做的任何其他事情(这是可重复的)来给系统施加负载。
我们正在研究对数据库的 NAS 系统进行压力测试,基本上是想看看它可以承受多少滥用以及它对数据库性能的影响有多大。这是我们计划的
谁能想到我们可以做的任何其他事情(这是可重复的)来给系统施加负载。
您还需要模拟数据库和 NAS 之间的网络状况。随着越来越多的流量进入网络,其可实现的利用率下降,这将严重影响您的性能。
举例来说。如果您在 1Gbps 网络上有 50 台机器并且网络的利用率接近 100%,那么数据链路层的数据包冲突和重试意味着您的有效总传输量只是您只有两个通信器所能实现的网络潜力的一小部分网络上。更糟糕的是,随着重试次数的增加,有效负载也会增加。面对高峰需求,你会得到一个丑陋的反馈循环。
那里有许多网络流量模拟器和生成器,但恐怕我从未使用过它们中的任何一个。
您可以查看 Pole Position,这是一个通用的数据库性能测试套件。 http://www.polepos.org/
根据您希望通过负载测试实现的目标,您可能还想考虑使用 SQLIO 而不仅仅是 SQLIOSim。SQLIOSim 非常适合用于压力测试和模拟 SQL Server 负载,如果检测到任何 IO 错误,它将从绿色变为红色。尽管KKline给出了一些见解,但它的输出有点神秘。
如果您想连续执行一项操作,例如大型随机读取或大型顺序写入以及介于两者之间的任何操作,SQLIO 很有用。它还将为您提供一些有用的输出统计信息,您可以将其绘制成图表并用作比较。
你可以试试英特尔的IoMeter