如何在jmeter中通过隧道配置PostgreSQL数据库



我正在使用jmeter测试一个使用PostgreSQL的应用程序。我可以使用数据库应用程序提供的ssh隧道连接到数据库。有人能告诉我如何使用jmeter吗。我在jmeter数据库连接confi元素中没有看到任何ssh隧道选项。

您可以使用端口转发,如以下答案所述:

  • https://stackoverflow.com/a/1968446/460802
  1. 我认为您不应该直接对数据库进行负载测试,您的负载测试应该模拟实际应用程序的测试使用情况。因此,与其测试数据库,不如关注应用程序本身,并将其视为黑盒,因此我的总体建议是重新考虑这种方法。

  2. 如果您已经执行了正常的负载测试,并确定数据库是瓶颈,并且希望单独对数据库进行负载测试,那么通过SSH隧道对其进行性能测试本身并不是最好的主意,因为由于TCP协议的性质和加密/解密发送的数据所需的巨大CPU占用空间,SSH隧道流量可能是下一个瓶颈通过SSH。因此,我建议与网络管理员交谈,让他们暂时打开运行JMeter的机器的Postgres网络端口,或者为您提供对可以安装JMeter机器的访问权限,JMeter将直接访问数据库(最好在同一子网/物理位置,否则您可能会遇到高延迟)

  3. 如果由于任何原因,以上说明不适用于您-您可以使用SSH本地转发将远程Postgres端口映射到本地端口,相关命令将是:

    ssh -L 2345:localhost:5432 username@your_postgresql_server
    

    一旦完成,您应该能够连接到Postgres实例,因为它安装在本地端口2345上,如:

    postgres://localhost:2345/your_database
    

最新更新