1. Jmeter预置知识-http协议
应用层协议http,ftp,smtp
1) http之url
http 超文本传输协议,基于请求与响应模式的,无状态,应用层协议。
http url: http://host[“:”port][abs_path]
http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
eg:
输入:www.baidu.com
浏览器自动转换成:http://www.baidu.com/
http:192.168.0.116:8080/index.jsp
2) 请求报文<----->响应报文
请求行 状态行
消息报头 消息报头
请求正文 响应正文
请求方法:GET/POST/HEAD
常见状态代码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
eg:HTTP/1.1 200 OK (CRLF)--以(CRLF)结尾表示回车或换行
查看请求响应报文:火狐+firebug组件
2. Jmeter预置知识_cookie
cookie,cache,session区分
1)Session是由应用服务器维持的一个服务器端的存储空间,存放在服务器端的内存中。用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的。
第一次请求时,服务器自动创建一个session并生成一个sessionID.
第二次请求时,请求报头会加上Cookie:JSESSIONID=客户端第一次拿到的session ID
Session超时删除:超时指的是连续一定时间服务器没有收到该Session所对应客户端的请求,并且这个时间超过了服务器设置的Session超时的最大时间。
对于多标签的浏览器(比如360浏览器)来说,在一个浏览器窗口中,多个标签同时访问一个页面,session是一个。对于多个浏览器窗口之间,同时或者相隔很短时间访问一个页面,session是多个的,和浏览器的进程有关。
2)cookie前面已经说了是保存sessionID,是由客户端维持的存储空间。cookie消失session也随之删除。
3)cache服务端缓存,用于缓冲数据。
3. web性能测试指标及标准
1)TPS/QPS: 每秒查询数/处理数
2)并发用户数量: 一般并发有问题通常是程序问题,并发数量因系统而定。看能承载多少并发用户,寻找最大并发数。
3)TLLB 请求响应时间:客户端发起一个请求至服务器端返回结束。
标准:3/5/10
在3秒钟之内,页面给予用户响应并有所显示,可认为是“很不错的”;
在3~5秒钟内,页面给予用户响应并有所显示,可认为是“好的”;
在5~10秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受的”;
超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去;
4)事务响应时间 一系列请求组成,因系统而异,但是可以参考3/5/10.
5)业务吞吐率=传输的数据总量/时间,值越大越好
6)资源利用率:CPU/磁盘/数据库--以后做专题研究,有必要好好研究下。
4. Jemter简单实例_参数化
1)多并发用户
2)多用户登录_参数化