jmeter学习之路01(安装+siege)

1.打开   \jmeter-book:

  a. 切换到书籍目录 cd F:\jmeter-book ,再次:cd _book,输入python -m http.server

  b. 打开地址:http://localhost:8000/

2. 安装siege:https://www.jianshu.com/p/74c465ff136f

3. mac 安装jdk和python:https://www.cnblogs.com/wangqiao170/p/8888986.html

4. 在Linux上安装siege,然后编译,siege仅支持http,https不支持siege

Siege命令常用参数

-c 200 指定并发数200
-r 5 指定测试的次数5
-f urls.txt 制定url的文件
-i internet系统,随机发送url
-b 请求无需等待 delay=0
-t 5 持续测试5分钟

-H [Accept-Encoding:gzip] 加入请求头
# -r和-t一般不同时使用

常用的siege命令举例

# 200个并发对http://www.google.com发送请求100次


01

siege -c 200 -r 100 http://www.google.com

# 在urls.txt中列出所有的网址


01

siege -c 200 -r 100 -f urls.txt

# 随机选取urls.txt中列出所有的网址


01

siege -c 200 -r 100 -f urls.txt -i

# delay=0,更准确的压力测试,而不是功能测试


01

siege -c 200 -r 100 -f urls.txt -i -b

# 指定http请求头 文档类型


01

siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b

Siege输出结果说明

Transactions: 总共测试次数
Availability: 成功次数百分比
Elapsed time: 总共耗时多少秒
Data transferred: 总共数据传输
Response time: 等到响应耗时
Transaction rate: 平均每秒处理请求数
Throughput: 吞吐率
Concurrency: 最高并发
Successful transactions: 成功的请求数
Failed transactions: 失败的请求数

Siege使用的一些总结

1,发送post请求时,url格式为:http://www.xxxx.com/ POST p1=v1&p2=v2
2,如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确

注意:

    性能优化:图片部分下载,或者通过css去控制图片大小,进行拼图

   20个用户,发送3次请求:siege -c 20 -r 3 http://www.tencent.com/

调优之前先用siege做一次基本的并发,siege只支持get请求,不支持post请求

执行结果:

Transactions:         900 hits

Availability:       100.00 %

Elapsed time:         8.81 secs

Data transferred:       12.33 MB

Response time:         0.19 secs

Transaction rate:       102.16 trans/sec

Throughput:         1.40 MB/sec

Concurrency:       19.60

Successful transactions:         900

Failed transactions:           0

Longest transaction:         1.08

Shortest transaction:         0.02

保存执行结果:siege -c 5 -t 1M -f /Users/mac/Desktop/urls.md --log=result.csv

查看结果使用:sz 文件名;直接下载到本地,先安装  lrzsz,brew install lrzsz/sodu apt-get install lrzsz

5. 使用siege 压测启用gzip压缩

gzip颜色就是指服务器在返回请求时候先将请求压缩一下,以减少response的体积,客户端收到response之后会自行解压,这是提升传输速度的一般做法

在请求头中对下面的URL进行加压,不过要使用gzip,在请求头中加入:Accept-Encoding:gzip,就可以告诉服务器返回压缩后的response,具体命令如下:

siege -c 5 -t 1M -f /Users/mac/Desktop/urls.md -H "Accept-Encoding:gzip"  --log=result.csv

https://ur.tencent.com/academic

https://ur.tencent.com/future

https://ur.tencent.com/cooperation/platform

查看gzip命令: curl -H "Accept-Encoding:gzip" -I http://www.baidu.com

6. siege对移动站点进行压测

原理:服务器根据user-agent这个值确认浏览器是移动端还是桌面版本

通过user-agent伪造 成不同浏览器

原文地址:https://www.cnblogs.com/vivian0119/p/12069957.html

时间: 2024-11-09 05:54:20

jmeter学习之路01(安装+siege)的相关文章

JMeter学习-016-思路篇之-山重水复柳暗花明

首先,此文非技术类博文,为思路类的博文,敬请参阅,欢迎共同探讨! 今天在编写 JMeter 接口监控脚本时,遇到了一个问题,在解决问题的时候,思路出现了偏差,导致了自己在解决问题时,绕了弯,浪费了些时间.换句话说,是自己当时解决问题的思路出现了定式思维,没有及时变通,矬了 ^_^.具体的问题场景如下. 日常测试开发工作中,测试脚本对应的场景有很多,其中必不可少的场景就是重要的状态码验证.此时,不同的状态码对应着不同的页面显示,以及后续不同的业务逻辑处理操作,因而测试脚本需要对不同请求对应的请求响

Linux学习之路01

决心开始学习自学Linux,以前混迹贴吧,现在觉得自己开始写一下博客,记录一下自己的学习之路,同时也是希望自己算是自己自学动手练习的记录吧. -- 题序 登录SSH服务 新建一个hello.c文件 #inclue<hello.c> int main() {   printf("hello world !\n");   return 0; } 3.先直接生成可执行文件,看看效果. gcc -o hello hello.c ls ./hello 今天写到这里感觉这图片,不能直接

python学习之路1_安装linux系统并桥接网络

本人由于刚毕业找到的工作需要python方面的知识而且python也是现在IT人士必会的语言之一,特此记录下下学习历程. 我学习python准备在VMWERA10.0中安装linux系统来学习,当然如何用虚拟机安装linux系统网上教程一大堆,这里我主要遇到过的坑是如何安装完linux系统后桥接到internet上.特此记录下,希望能帮助少许跟我遇到同样问题的小伙伴. 首先打开电脑或笔记本的网络和共享中心->更改适配器设置,进入网络连接,在此要注意,重点是查看自己网线插口名称或wifi名称.我的

Spring Boot的学习之路(01):缘起

有人说,Spring Boot的出现,让Java迎来了又一春,它是Java应用开发的颠覆者,彻底改变了Java应用开发的模式. 2017年,SpringBoot闯入我的生活, 也让我迎来了又一春 我开始接触SpringBoot的时候,是在2017年,是公司同事在开始学.我也网上查找了些资料,发现SpringBoot相比传统SpringMVC在xml配置上有很大的一部分优势:无繁琐的xml配置,各个组件依赖配置都自动加入等.我便也跟着疯狂地学起来.不得不发表一下心得体会:用起来很爽,很舒服. 学习

python学习之路-01

1.Python是一门计算机语言 2.新手入门之概念讲解:反正我一开始不懂为什么要安装python,又要安装pycharm之类的软件,程序员就比别人牛逼吗,学个语言还要安装两软件!!! 解释器:python官网安装的软件(安装步骤最好搜索一下教程,我偷懒,就不copy了.0.0) IDE :编辑代码的软件:Pycharm.(举例) 有缘的读者们可拜读,武sir的网站:https://pythonav.com/ 原文地址:https://blog.51cto.com/14078730/242008

Java学习之路 - 01

1.Java语言概述 Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言.所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能. Java发展史 1995年Sun公司发布Java1.0版本1997年发布Java 1.1版本1998年发布Java 1.2版本2000年发布Java 1.3版本2002年发布Java 1.4版本2004年发布Java 1.5版本2006年发布Java 1.6

Re0:DP学习之路 01背包如何打印路径?

伪代码 用二维数组记录,如果出现可以转移的dp那么记录bk[当前体积][装的物品]=1 输出的时候倒推,如果存在连通的边那么输出并且总共的体积减去输出的体积 代码(uva-624,目前wa不明所以,网上的答案也是那么输出的,或许要输出最多的物品?目前也不会这种玩法) #include <bits/stdc++.h> using namespace std; int v[1000],dp[1000000],bk[1000][1000]; int main() { ios::sync_with_s

jmeter学习之路02(Linux服务器监控命令)

1.性能指标:CPU,内存,网络,磁盘,版本,2.linux常用命令:man,ls,ll, top: -h:帮助 -p:监控指定进程 m p: cpu重指数:us,ni old orange3.linux监控命令--CPU: vmstat:可以监控系统 的进程状态,内存,虚拟内存,磁盘IO,CPU,语法:vmstat [-a][-n][-S unit][delay[count]] -S:指定单位 free:监控内存使用状态,total:总计屋里内存大小:Used:已使用多大:Free:可使用多少

Qt学习之路

  Qt学习之路_14(简易音乐播放器) Qt学习之路_13(简易俄罗斯方块) Qt学习之路_12(简易数据管理系统) Qt学习之路_11(简易多文档编辑器) Qt学习之路_10(Qt中statusBar,MessageBox和Timer的简单处理) Qt学习之路_9(Qt中Item Widget初步探索) Qt学习之路_8(Qt中与文件目录相关操作) Qt学习之路_7(线性布局和网格布局初步探索) Qt学习之路_6(Qt局域网聊天软件) Qt学习之路_5(Qt TCP的初步使用) Qt学习之路