3

我正在针对同时有少量记录(大约 5000 条)处于活动状态的数据库构建一个 Web 应用程序。每个活动的工作记录可能会在 4 小时内经历 30 位用户的 50-300 次更改……这就是每分钟数千次更改。

因为我们的测试环境是静态的,所以测试是不现实的,有些问题直到我们打到生产数据库才出现。

我的想法是运行 Profiler,收集 DML 语句,然后在调试应用程序时在测试服务器上重放它们……假设我可以在运行原始文件的相同时间间隔内重放它们。但即使这样也不是一个有效的测试,因为测试人员的更改可能会破坏未来重放的 DML 语句。

有人知道如何模拟实时数据库更改以进行实际测试吗?

谢谢。

BTW-我们的问题不是并发问题。

4

3 回答 3

1

也许这个基于 Selenium 的服务就是你需要的:browsermob

很少有人推荐它。

是的,这不是广告 :)

于 2009-02-06T18:10:31.780 回答
0

或许可以使用类似于 mysqlslap 负载模拟器之类的数据库压力测试工具。是一个解释用例和具体示例的链接。

于 2009-10-02T07:59:56.873 回答
0

有一些商业软件包可以做到这一点。我为 Quest Software 工作,这是其中一个软件包的制造商,但我将列出三个,因为在我来 Quest 工作之前,我已经与所有这些人一起工作过:

  • Microsoft Visual Studio 测试版- 它添加了负载测试工具。它允许您在 Visual Studio 中设计测试,例如模拟浏览器访问您的 Web 应用程序。录制最初的宏有点痛苦,但是当你完成后,重播就很容易了。它还具有代理,您可以在多个桌面上部署这些代理以增加负载。例如,我们将它安装在几个开发人员的桌面上,当我们需要在下班后进行负载测试时,我们可以在服务器上投入大量的计算能力。缺点是设置和持续维护有点痛苦。
  • HP Quality Center(以前是 Mercury Test Director 和其他一些软件)——也有负载测试工具,但它是为测试人员设计的。如果您的测试人员没有 Visual Studio 经验,这是一个更简单的选择。
  • Quest Benchmark Factory - 此工具专门针对数据库服务器,而不是 Web 和应用程序服务器。它捕获您的生产服务器上的负载,然后可以在您的开发/测试服务器上重放它,或者它也可以生成合成事务。您可以使用免费软件版本开始使用。

如果您了解并喜欢 Visual Studio,并且想要测试您的 Web 服务器和应用服务器,那么请使用 Visual Studio 测试版。如果您只想专注于数据库,请使用 Benchmark Factory。

于 2009-06-13T02:21:56.953 回答