如何运行,例如PostgreSQL一次一次查询?我想测试数据库的性能和最佳化。我想运行许多选择并计算运行的时间。
使用pgbench
是个好主意。首先,创建一个SQL文件并将您的测试查询放入其中。然后通过将SQLFilePath,用户名和DataBasEname替换为您的版本
pgbench.exe -c 10 -f SQLFilePath -j 10 -n -t 10 -U UserName DatabaseName
这是您可以调整的命令列表
-c = number of concurrent database clients
-f = script file path
-j = number of threads (the clients are evenly distributed among this number of threads)
-n = don't run VACUUM (docs require it be set in case of custom a script)
-t = number of transactions each client makes
您可以考虑使用Apache Jmeter,它支持PostgreSQL加载测试通过JDBC协议
- 下载apache jmeter并在某个地方打开它
- 下载Postgres JDBC驱动程序,然后将.jar放到Jmeter安装的" lib"文件夹
- 运行jmeter
- 将线程组添加到测试计划并指定所需的线程数,测试持续时间,上升时间。
- 添加JDBC连接配置测试元素并指定连接详细信息,凭据,其他参数。
- 添加JDBC请求采样器并在此处设置查询
- 进行测试
- 使用HTML报告仪表板分析结果
请参阅使用Jmeter文章构建数据库测试计划的真正秘诀,以获取有关使用Apache Jmeter的数据库负载测试的更多信息。