jmeter使用
windows漏洞多,安全性差,
linux 下明显内核健全一点
都是字符界面比图形界面响应快,不易死机啊。数据量处理是有优势的。
经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为QPS。
QPS = 并发量 / 平均响应时间
并发量 = QPS * 平均响应时间
流量大的时候用压测,单击QPS负载情况如何
常见的压测工具有jmeter、loadrunner不过以前用loadrunner因为loadrunner比较笨重所以现在基本上都是用jmeter
jmeter可以模拟很高的并发,很高的测试报告
压力测试工具对比:
loadrunner:
性能稳定,压测结果及细粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多
Apache ab(单接口压测最方便):
模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多cpu,也不会占用太多的内存,单却会给目标服务器造成巨大的负载,可以简单对别的网站DDOS攻击等!!!(DDOS就是大量互联网流量压倒目标或其周围的基础架构来破坏目标服务器,服务或网络的正常流量。DDOS攻击通过利用多个受损计算机系统作为攻击流量来源来实现有效性。被利用的机器可以包括计算机和其他网络资源,例如物联网设备。从高层次来看,DDOS攻击就像堵塞高速公路的交通堵塞,阻止了常规交通到达其所需的目的地。)
jmeter是一个 基于java开发纯开源的压力测试工具。用于对软件做压力测试!
压测不同的协议和应用
断言的功能能进行功能测试,压力测试是jmeter的强项,单点压测,分布式压测,多个节点,向一个目标服务器发送很大的服务器压力类似DDOS那种
可以生成多少QPS可以生成多少并发访问是关键
Jmeter目录文件:
1.目录
bin:核心可执行文件,包含配置
jmeter.bat:windows启动文件
extras:插件可执行文件,包含配置
lib:核心的依赖包
ext:核心包
junit:单元测试包
summary Report 聚合报告
view Results Tree 查看结果树(结果树就是查看我们发请求的结果)
断言功能中Main Sample only一个只触发一个
Main sample and sub-samples 一个接口联动多个请求
模式匹配规则:
包括:就是包含的范围,加如jack是否包含这个字段
匹配:就是不区分大小写,匹配就行
Equals:区分大小写
新增聚合报告:线程组->添加->监听器->聚合报告(Aggregate Report)
聚合报告:
label:sample名称,可以看出一个接口
samples总访问量,一共发送多少请求
Average 平均响应时间
Median:中间数,50%用户响应时间不会超过这个值
min:最小响应时间
max:最大响应时间
error%:错误的请求总数/请求总数
Throughput:吞吐量,QPS
jmeter的自定义变量User Defined Variables 配置好之后前面的路由写为ip处写为:${ip} port处写为:${port}
如果多个参数存在csv中的话,csv最好刚刚开始就改成,csv是,号分割符,然后如果text的话分隔符改成|
csv文件多参数使用:
/info?name=${csv_name}&pwd=${csv_pwd} (两个参数之间用$连接)
自定义csv文件的时候参数用,号隔开
这里必须和定义ip的地方的路径变量相同只是分割的方式不同