首页 文章

在linux上使用jmeter进行性能测试

提问于
浏览
2

我正在使用jmeter在我公司的Web门户上进行性能测试 . 当我们需要在linux服务器上运行jmeter时,我被困在某个地方 .

What I am doing :我在本地计算机上运行jmeter,然后在服务器上传输results.jmx文件 .
之后,我在服务器上的jmeter中打开results.jmx文件,并将所有结果保存在server-results.jtl文件扩展名中 .

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

My main question is no.1: 本地的Jmeter和服务器上的Jmeter是否有相同的脚本和方案有没有区别?我发现了很小的差异 .

Question 2: 我从jmeter脚本中删除了* .png,* .jpg,* .CSS扩展url调用 . 因为它可能会延迟主要的请求时间 . 但是,当我们重新删除这些扩展并专注于主URL时,它是否会提供良好的性能,或者我需要考虑所有扩展?

Note: 请有人给我完整的步骤在服务器上运行jmeter .

提前致谢 .

2 回答

  • 0

    Apropos问题2:

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

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

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

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

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

  • 0

    问题1:本地的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

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

    希望这可以帮助..

相关问题