JMeter可以作为Web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和Web服务器的响应,这样就很容易地生成性能测试脚本,
有了性能测试脚本,JMeter就可以通过线程组来模拟真实用户对Web服务器的访问压力,这与LoadRunner的
工作原理基本一致。
原理图如下:
为了达到真正意义的并发,让每个线程模拟一个全新的用户,那Jmeter需要添加缓存与cookies管理器,清除缓存和cookies,设置如下
有些网站保存信息是使用Cookie,有些则是使用Session.对于这两种方式,JMeter都给予一定的支持。
1.Cookie
添加方式:线程组-配置元件-HTTP Cookie 管理器,如下图:
2.Session
添加方式:线程组-前置处理器 -HTTP URL 重写修饰符,如下图:
有些tomcat的session实现不是通过cookie的,而是通过session id的,就是说,用户登录有了session之后,tomcat就会维护一个sessonid,然后每次request的时候,要求每个http request的URL都要带上这个session id.
在tomcat中,使用URL Re-writing mode,URL是这样的:http://192.168.0.2:8080/easy/login.ec;jsessionid=410C3D3946535635683D662DF74A00AC,所以,这里我们需要设置会话参数名称为:jsessionid,Jmeter就会到URL里面按照这个参数去把上面那个sessionid抓下来,然后每次request都带上这个东西,需要注意,“路径扩展(使用;作分隔符)”这里还要将勾上,因为如上,tomcat的URL Re-writing中sessionid是以分号的方式加在URL上的,所以需要勾上这个选项,有些web server这个session和普通的URL parameter一样,是以?和&这种方式加上去的,这种情况这个checkbox就不用勾了。