Jmeter linux shell无法启动服务器

问题描述 投票:0回答:2

情况:

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

然后,它将此PDF文件发送回我开始此过程的网站。

目标:

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

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

我采取的步骤:

  • here下载最新的(4.0)bin
  • 在/opt/dlins/apache-jmeter-4.0bin中的本地linux服务器上提取
  • 尝试用/usr/lib/jvm/jdk1.8.0_102/bin/java jmeter-server启动服务器(默认的java版本是6所以通过这个我可以用java 8运行这个应用程序) - Instructions found here

- >获取错误:“错误:无法找到或加载主类jmeter-server”enter image description here

任何关于上述甚至任何其他工具的帮助都是值得赞赏的(也许有一种更好的方法来测试上述场景的性能)

java jmeter performance-testing
2个回答
1
投票

您的问题和屏幕截图有两个方面:

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

无论如何,您使用的JMeter doc link相同(仅向下滚动几次)如何在setenv.sh目录中创建bin脚本并根据您的需要配置JAVA_HOMEJRE_HOME

要永久设置这些变量,可以将它们放在bin目录中名为setenv.sh的文件中。通过调用jmeter脚本运行JMeter时将获取此文件。

你似乎想要一个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运行。来自同一链接:

Un * x脚本文件;应该适用于大多数Linux / Unix系统:

jmeter - 运行JMeter(默认情况下为GUI模式)。定义一些可能不适用于所有JVM的JVM设置。

jmeter-server - 在服务器模式下启动JMeter(使用适当的参数调用jmeter脚本)

jmeter.sh - 非常基本的JMeter脚本(您可能需要调整JVM选项,如内存设置)。

mirror-server.sh - 以非GUI模式运行JMeter Mirror Server

shutdown.sh - 运行Shutdown客户端以正常停止非GUI实例

stoptest.sh - 运行Shutdown客户端以突然停止非GUI实例


0
投票
  1. 修改你的PATH environment variable,以便Java 8 bin在Java 6 bin之前就像: 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

更多信息:

© www.soinside.com 2019 - 2024. All rights reserved.