Jmeter linux shell 无法启动服务器

Jmeter linux shell cannot start server

情况:

我已经在本地 Linux 服务器上安装了 Jasper Reports Library (V6.5.1),它生成 PDF 报告(数据被转储到报告引擎的临时 Oracle 数据库 table 中) .

然后它将此 PDF 返回到我开始该过程的网站。

目标:

在我的本地 linux 服务器上安装 Jmeter 以分析 "Jasper Reports Library"(又名报告生成)的性能/可能的瓶颈(我无法通过 GUI 访问此服务器,只能 shell)。

我知道我必须将我的本地 Windows 10 机器(运行ning 相同的 Jmeter 4.0)连接到这个本地服务器。在服务器上,我必须启动 Jmeter 4.0 服务器(通过 jmeter-server 命令)但是我收到一个错误并且被卡住了(不幸的是没有在网上找到任何东西,甚至没有找到具有相同目标的人......)

我走过的步数:

-> 获取错误:"Error: Could not find or load main class jmeter-server"

感谢您提供有关上述的任何帮助,甚至您可能使用的任何其他工具(也许有更好的方法来测试上述场景的性能)

  1. 修改你的 PATH environment variable 所以 Java 8 bin 会是 before Java 6 bin like:

    PATH=/usr/lib/jvm/jdk1.8.0_102/bin:$PATH && export PATH
    
  2. 完成后,您应该可以启动 jmeter-server 脚本,例如

    pushd /opt/dlins/apache-jmeter-4.0bin/bin && ./jmeter-server
    

更多信息:

与您的问题和截图相关的有两个方面:

1) 使用 java 8 而不是 6 - 这可以通过多种方式完成,具体取决于您的需要和限制,例如需要 Java 6 全局可用于其他应用程序,仅将 8 用于 运行 JMeter,或者将 6 完全替换为 8。为了简洁起见,我将假设第一种情况,但是这两种情况都有可用的文档,Dmitri T 已经部分解释了它。

无论如何,您使用的 JMeter doc link 描述了(只需向下滚动几次)如何在 bin 目录中创建 setenv.sh 脚本并配置 JAVA_HOMEJRE_HOME 取决于您的需要。

To set those variables permanently, you can place them in a file called setenv.sh in the bin directory. This file will be sourced when running JMeter by calling the jmeter script.

您似乎想要 JDK,因此创建脚本并在 JAVA_HOME=/usr/lib/jvm/jdk1.8.0_102 中添加,保存并退出。

2) 运行 JMeter - 为了澄清一个小的混淆,java MyCompiledClass 指示 java 到 load and execute the "program"MyCompiledClass,这不是你想要做的,因为 jmeter-server 是一个 shell 脚本。如果你打开它,你会看到它调用 jmeter shell 脚本,它会做一些配置,最终调用(简而言之)java -jar ApacheJMeter.jar 带有一些参数和选项。

因此,对于 运行 JMeter,请确保您的脚本可以使用 chmod 执行,并且只需从命令行 运行 ./jmeter-server 执行即可。来自同一个 link:

Un*x script files; should work on most Linux/Unix systems:

jmeter - run JMeter (in GUI mode by default). Defines some JVM settings which may not work for all JVMs.

jmeter-server - start JMeter in server mode (calls jmeter script with appropriate parameters)

jmeter.sh - very basic JMeter script (You may need to adapt JVM options like memory settings).

mirror-server.sh - runs the JMeter Mirror Server in non-GUI mode

shutdown.sh - Run the Shutdown client to stop a non-GUI instance gracefully

stoptest.sh - Run the Shutdown client to stop a non-GUI instance abruptly