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 命令)但是我收到一个错误并且被卡住了(不幸的是没有在网上找到任何东西,甚至没有找到具有相同目标的人......)
我走过的步数:
- 从 here
下载最新 (4.0) bin
- 在本地 linux 服务器上提取 /opt/dlins/apache-jmeter-4.0bin
- 尝试使用 /usr/lib/jvm/jdk1.8.0_102/bin/java jmeter-server 启动服务器(默认 java 版本是 6 所以通过这个我可以 运行 这个应用 java 8) - Instructions found here
-> 获取错误:"Error: Could not find or load main class jmeter-server"
感谢您提供有关上述的任何帮助,甚至您可能使用的任何其他工具(也许有更好的方法来测试上述场景的性能)
修改你的 PATH environment variable 所以 Java 8 bin 会是 before Java 6 bin like:
PATH=/usr/lib/jvm/jdk1.8.0_102/bin:$PATH && export PATH
完成后,您应该可以启动 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_HOME
或 JRE_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
情况:
我已经在本地 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 命令)但是我收到一个错误并且被卡住了(不幸的是没有在网上找到任何东西,甚至没有找到具有相同目标的人......)
我走过的步数:
- 从 here 下载最新 (4.0) bin
- 在本地 linux 服务器上提取 /opt/dlins/apache-jmeter-4.0bin
- 尝试使用 /usr/lib/jvm/jdk1.8.0_102/bin/java jmeter-server 启动服务器(默认 java 版本是 6 所以通过这个我可以 运行 这个应用 java 8) - Instructions found here
-> 获取错误:"Error: Could not find or load main class jmeter-server"
感谢您提供有关上述的任何帮助,甚至您可能使用的任何其他工具(也许有更好的方法来测试上述场景的性能)
修改你的 PATH environment variable 所以 Java 8 bin 会是 before Java 6 bin like:
PATH=/usr/lib/jvm/jdk1.8.0_102/bin:$PATH && export PATH
完成后,您应该可以启动
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_HOME
或 JRE_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