如何使用 Gatling 对 Postgres 数据库进行性能测试?
How can I performance test a Postgres Database with Gatling?
我正在使用 Gatling 对应用程序进行性能测试,但该应用程序有一个依赖 jdbc
进行连接的 Postgres 数据库。是否可以运行一个场景来测试数据库性能,如果可以,如何?
我找到了 jdbcFeeder
,但我不知道如何执行我设置的场景,因为 exec
不接受我提供的 url ... jdbc:postgresql://host:port/database?user=<user>&password=<password>
。它returns一个java.lang.IllegalArgumentException: could not be parsed into a proper Uri, missing host
.
示例:
val sqlQueryFeeder: RecordSeqFeederBuilder[Any] =
jdbcFeeder(connectionUrl, user, password, s"SELECT * FROM $schema.$table")
val scn: ScenarioBuilder = scenario("Test 1")
.feed(sqlQueryFeeder)
.exec(http.baseUrl(jdbc:postgresql://host:port/database?user=<user>&password=<password>))
)
setUp(scn.inject(atOnceUsers(100)))
不是开箱即用的。
jdbcFeeder
是关于使用从数据库读取的数据进行性能测试(即,它是关于 "feeding" 数据测试,而不是测试数据库)。
gatling-jdbc 项目似乎是为了做你想做的,但当我尝试它时它没有工作 (Gatling 3.0-RC4)。我是 Gatling 和 Scala 的新手,问题可能出在我身上,或者甚至可能出在 Gatling 发布候选者身上 - 如果您尝试一下,您可能会有更好的运气。
还有gatling-sql,但我自己没试过,一年多没动过。
我正在使用 Gatling 对应用程序进行性能测试,但该应用程序有一个依赖 jdbc
进行连接的 Postgres 数据库。是否可以运行一个场景来测试数据库性能,如果可以,如何?
我找到了 jdbcFeeder
,但我不知道如何执行我设置的场景,因为 exec
不接受我提供的 url ... jdbc:postgresql://host:port/database?user=<user>&password=<password>
。它returns一个java.lang.IllegalArgumentException: could not be parsed into a proper Uri, missing host
.
示例:
val sqlQueryFeeder: RecordSeqFeederBuilder[Any] =
jdbcFeeder(connectionUrl, user, password, s"SELECT * FROM $schema.$table")
val scn: ScenarioBuilder = scenario("Test 1")
.feed(sqlQueryFeeder)
.exec(http.baseUrl(jdbc:postgresql://host:port/database?user=<user>&password=<password>))
)
setUp(scn.inject(atOnceUsers(100)))
不是开箱即用的。
jdbcFeeder
是关于使用从数据库读取的数据进行性能测试(即,它是关于 "feeding" 数据测试,而不是测试数据库)。
gatling-jdbc 项目似乎是为了做你想做的,但当我尝试它时它没有工作 (Gatling 3.0-RC4)。我是 Gatling 和 Scala 的新手,问题可能出在我身上,或者甚至可能出在 Gatling 发布候选者身上 - 如果您尝试一下,您可能会有更好的运气。
还有gatling-sql,但我自己没试过,一年多没动过。