2

我正在使用 jmeter 在我公司的网络门户上进行性能研究。当我们需要在 linux 服务器上运行 jmeter 时,我被困在某个地方。

我在做什么:我在本地机器上运行 jmeter,然后在服务器上传输 results.jmx 文件。
之后,我在服务器上的 jmeter 中打开该 results.jmx 文件,并将所有结果保存在 server-results.jtl 文件扩展名中。

当 jmeter 在服务器上完成执行时,我在本地下载 server-results.jtl 文件并在本地 jmeter 上打开该特定的 jtl 扩展文件,然后记录 jmeter 的最终结果。

我的主要问题是 1: 本地的 Jmeter 和具有相同脚本和场景的服务器上的 Jmeter 是否有任何区别?我发现非常小的差异。

问题 2:我从 jmeter 脚本中删除了 *.png、*.jpg、*.CSS 扩展 url 调用。因为它可能会延迟主请求时间。但是当我们删除这些扩展并只专注于主要 URL 时,它会产生良好的性能还是我需要考虑所有扩展?

注意:请任何人给我在服务器上运行 jmeter 的完整步骤。

提前致谢。

4

2 回答 2

0

恰如其分的问题2:

这取决于你在测试什么。在大多数 Web 应用程序中,提供静态资产(图像、样式表、javascript 文件等)并不是瓶颈;大多数 Web 应用程序将这些资产设置为可缓存,并且通常使用 CDN 来为它们提供服务。

在大多数 Web 应用程序中,性能瓶颈在于提供动态页面(.aspx、.php、.jsp)。通常,这些文件类型消耗的服务器功率是静态页面的许多倍;单台机器每秒能够服务数千个静态资产的情况并不少见,但只有数十或数百个动态资产。

从业务的角度来看,问题通常是“我的站点可以服务多少并发用户,我需要做些什么来增加这个数量”。对于大多数 Web 应用程序,这意味着“瓶颈资源是什么,我该如何扩展它”。

因此,如果您的性能测试的目标是找到瓶颈资源(以便您可以优化它!),请忽略静态资产。如果您只能为 20 个请求 home.jsp 的并发用户提供服务,那么您可以为数千个请求 logo.png 的用户提供服务并不重要...

企业还问了另一个问题:“所以,您认为我们可以支持 x 个并发用户 - 证明它!”。在这种情况下,您需要模拟 x 个并发用户访问您的站点 - 这意味着包括静态资产(因为您的瓶颈资源可能只是带宽,或者服务器可能配置错误,或者您的缓存策略可能被破坏)。但是,在这种情况下,您实际上是在对 Internet 进行负载测试 - 您的 CDN 提供商(如果您有的话)、您的 Web 服务器的性能(已针对提供静态文件进行了优化)以及您的托管服务提供商的带宽管理。这是一种“安全带和大括号”的方法——你确实排除了相当小的风险——这通常意味着在测试中投入大量资源——你的测试平台至少需要与托管服务提供商一样多的带宽,

于 2012-12-18T11:41:41.520 回答
0

Q1:本地的 Jmeter 和服务器上的 Jmeter 具有相同的脚本和场景有什么不同吗?我发现非常小的差异?

jmx的执行没有区别。在 Windows 中,您必须通过 jmeter.bat 运行 jmeter,在 linux 中,您必须使用 jmeter.sh 运行。鉴于您不更改 jmx 文件的条件。

Q2。我从 jmeter 脚本中删除了 *.png、*.jpg、*.CSS 扩展 url 调用。因为它可能会延迟主请求时间。但是当我们删除这些扩展并只专注于主要 URL 时,它会产生良好的性能还是我需要考虑所有扩展?

尝试在录制过程中避免这种扩展。通过排除 .*.(bmp|css|js|gif|ico|jpg|png|swf|woff|php|jsp|html|htm|ashx)

没有这样的步骤说明: 1. 转到 Linux 服务器并找到 jmeter bin 文件夹 (/opt/jmeter/apache-jmeter-2.13/bin/jmeter.sh) 2. 使用 shell 脚本打开你的 jmx。3. sh /opt/jmeter/apache-jmeter-2.13/bin/jmeter.sh -t sampletest.jmx -p user.properties -q os.properties

方法二: 1.在linux下用cd命令导航到bin文件夹。1.使用./jmeter.sh,它会在GUI模式下打开一个空白的jmeter测试计划。2.如果你想以分布式测试模式运行。在您的从属 linux 机器中使用 ./jmeter-server。但是您需要在属性文件中配置您的从机 IP 地址。

希望这可以帮助..

于 2016-02-23T16:56:08.167 回答