Jmeter是常用的模拟多用户同时访问web页面URL的压力测试工具。然后,为了模拟的准确,Jmeter需要正确的配置,使它像浏览器一样工作。在这篇文章中,我怎样配置Jmeter,可以准确的模拟浏览器实际的发送的请求。
在了解怎样怎样配置Jmeter之前,我们先来了解一下浏览器是如何工作的:
- 当用户在浏览器输入一个web页面URL,它会连接到服务器,开始下载页面,并开始解析。
- 通过解析,它会遇到类似JavaScript,CSS和图片文件的url请求。
- 浏览器然后创建更多的线程,每个JavaScript,CSS和图片文件的url请求打开一个新的连接下载。大多数浏览器会限制与每个服务器的连接数(在本文写作时,Firefox限制6个连接),和下载线程的总数(在本文写作时,Firefox限制48个连接)。
- 当所有的URL下载完,认为该web页面加载完成。
Jmeter的两个配置可以模拟浏览器上面的行为:
- 从HTML文件获取所有内含资源
此复选框在配置元素“HTTP请求取样器”和“HTTP请求默认值”的底部。
选中该复选框,Jmeter下载页面中包含的资源,如JavaScript,CSS和图像,就像浏览器一样。
如果需要看哪些资源下载了及他们的性能指标,添加“查看结果树”。注意,在聚合报告中不包含这些内嵌资源的统计,
- 使用并发池,size=N
选中复选框,并发池行为如下:
从HTML文件获取所有内含资源 | 使用并发池 | 行为 |
---|---|---|
选中复选框 | 复选框未选中复选框 | web主页面和嵌入的资源将在同一个线程中被下载。 例如,如果线程组模拟3个用户,Jmeter创创建“线程组3-”,名字从“线程组1-1”到“线程组1-3”。 每个线程将在各自的线程内根据资源顺序下载所有的内嵌资源。 如果页面P包含资源A、B、C,Jmeter下载方式如下: 线程组1-1:P,A,B,C(一个接一个的下载) 线程组1-2:P,A,B,C(一个接一个的下载) 线程组1-3:P,A,B,C(一个接一个的下载) |
选中复选框 | 选中复选框 池大小=X | 像上面一样,Jmeter创建一个名为“线程组1-K”来模拟用户线程。 此外对于这些线程中的每一个模拟的用户,Jmeter创建单独的线程池,大小为X,命名为pool-n-thread-m。 web主页有用户线程“线程组1-K”下载,而嵌入的资源由命名类似pool-n-thread-m的线程池中的线程下载。 |
但是,设置并发池大小时,需要关注模拟用户数量,因为每个模拟的用户创建一个单独的线程池。如果很多用户,创建过多的线程会对Jmeter端的贷款产生争用,从而影响响应时间。如果要模拟大量并发用户,可以使用多台Jmeter测试机。
文章来源http://www.pathbreak/blog/simulating-browsers-using-jmeter,翻译如有不当,敬请谅解。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1742571155a4460441.html
评论列表(0条)