DB(SQL)自动压力/加载工具?

我想测量数据库应用程序的性能和可伸缩性.我正在寻找一种工具,允许我对我的数据库运行许多sql语句,将数据库和脚本(sql)文件作为参数(必要的详细信息,例如主机名,端口,登录…).

理想情况下,它应该让我控制参数,如模拟客户端的数量,测试的持续时间,随机化变量或从列表中选择(例如SELECT FROM … WHERE value = @var,其中var从命令行读取或每次执行随机化) .我想测试结果保存为CSV或XML文件,我可以分析并绘制它们.当然在定价方面我更喜欢“免费”或“演示”:-)

令人惊讶的是(至少对我而言)虽然有很多这样的工具用于Web应用程序负载测试,但我找不到任何用于DB测试的工具!?我看到的那些,比如pgbench,使用基于某些TPC场景的内置数据库,所以它们有助于测试DBMS配置和H / W,但我无法测试我的数据库!有什么建议么?

具体来说,我在Linux上使用Postgres 8.3,但我可以使用满足这些要求的任何数据库通用工具. H / W有32GB的RAM,而主表和索引的大小约为120GB.因此,冷缓存运行与暖缓存运行之间的响应时间比为1:10(I / O与RAM).实际上我希望请求能够均匀分布,因此对我来说,针对不同的数据库测试查询非常重要.

请随时通过电子邮件与我联系.
谢谢!

– Shaul Dar(info@shauldar.com)

解决方法

Apache的 JMeter可以处理不同的服务器类型.我将它用于针对Web应用程序的负载测试,团队中的其他人将其用于数据库调用.它可以通过多种方式进行配置,以获得所需的负载.它可以在控制台模式下运行,甚至可以使用不同的客户端进行集群,以最大限度地减少客户端开销(从而伪造结果).

这是一个java应用程序,乍一看有点复杂.但我们仍然喜欢它.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...