我想测量我的数据库应用程序的性能和可扩展性。我正在寻找一种工具,它允许我对我的数据库运行许多 SQL 语句,将数据库和脚本 (SQL) 文件作为参数(+必要的详细信息,例如主机名、端口、登录名......)。
理想情况下,它应该让我控制参数,例如模拟客户端的数量、测试持续时间、随机化变量或从列表中选择(例如 SELECT FROM ... WHERE value = @var,其中 var 是从命令行读取或每次执行随机化) . 我想将测试结果保存为 CSV 或 XML 文件,我可以分析和绘制它们。当然,在定价方面,我更喜欢“免费”或“演示”:-)
令人惊讶的是(至少对我来说)虽然有很多这样的工具用于 Web 应用程序负载测试,但我找不到任何用于 DB 测试的工具!?我看到的那些,比如 pgbench,使用基于一些 TPC 场景的内置数据库,所以它们有助于测试 DBMS 配置和硬件,但我无法测试我的数据库!有什么建议么?
具体来说,我在 Linux 上使用 Postgres 8.3,尽管我可以使用任何满足这些要求的 DB 通用工具。硬件有 32GB 的 RAM,而主表和索引的大小约为 120GB。因此,冷缓存与热缓存运行(I/O 与 RAM)之间的响应时间比率可能为 1:10。实际上,我希望请求能够均匀分布,因此对我来说测试针对不同数据库部分的查询很重要。
请随时通过电子邮件与我联系。谢谢!
-- 绍尔达尔 (info@shauldar.com)