【问题标题】:Performance testing using jmeter on linux在 Linux 上使用 jmeter 进行性能测试
【发布时间】:2012-12-18 07:36:37
【问题描述】:

我正在使用 jmeter 在我的公司中研究 Web 门户的性能。当我们需要在 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 的完整步骤。

提前致谢。

【问题讨论】:

    标签: linux performance testing jmeter


    【解决方案1】:

    关于第 2 个问题:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      第二季度。我从 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地址。

      希望这会有所帮助..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-01
        • 2023-03-29
        • 1970-01-01
        相关资源
        最近更新 更多