如何使用siege对接口进行性能测试

来源:互联网 发布:智慧教室 知乎 编辑:程序博客网 时间:2024/06/05 00:24

背景
上篇讲了在windows下使用jmeter进行性能测试(http://blog.csdn.net/wanglin_lin/article/details/77963931),这篇我谈谈在ubuntu下如何使用siege进行性能测试!

1 创建Ubuntu服务器

  • 创建Ubuntu 服务器
  • 介绍下我自己如何创建的Ubuntu 服务器:
    在azure(https://portal.azure.com)创建一个Ubuntu服务器;
    在windows安装Putty,输入Ubuntu服务器的ip,用户名和密码,即可登录服务器!
    这里写图片描述

2 安装siege

  • 更新linux 服务器系统
sudo apt-get update && sudo apt-get upgrade --show-upgraded
  • 下载最新版本的siege
wget http://download.joedog.org/siege/siege-latest.tar.gz
  • 解压并进入siege路径
tar -zxvf siege-latest.tar.gzcd siege-*/
  • 安装编译工具
sudo apt-get install build-essential
  • 编译安装
./configuremakesudo make install

3 siege常见参数说明

  • 使用 siege -h 查看相关命令
    这里写图片描述
  • -c, 指定并发数
  • -r, 指定运行的次数
  • -f ,url 列表
  • -l,指定结果路径
  • -H,指定请求的headers信息
  • -t,指定用例执行时间,比如-t 10s -t 1M(H)之类
  • ……

4 http类型的url场景案例

  • http类型的get请求:
    siege -c 20 -r 3 http://www.baidu.com
    这里写图片描述
  • siege 实现访问一组http get 请求
    新建一个urls.txt 内容如下:
    http://www.baidu.com
    http://www.google.com
    执行siege -c 20 -r 3 -f urls.txt
  • siege 实现随机访问一组http get 请求
    执行siege -c 20 -r 3 -f urls.txt -i
  • siege 实现随机访问一组http get 请求,并保存log到result.csv
    执行siege -c 20 -r 3 -f urls.txt -i –log=result.csv

5 配置执行https类型的场景案例

  • ./configure –help 来查询 ./configure下拥有的命令
  • 使用如下命令使得siege可以执行https类型的url
sudo apt-get install openssl sudo apt-get install libssl-dev cd siege-4.0.4 ./configure --with-ssl=./configure --with-sslsudo make sudo make clean sudo make install
  • https类型的get请求:
    siege -c 20 -r 3 https://www.baidu.com
  • https类型的post请求:
    requestbody.txt 内容如下:
{ "DeviceID": "123-456",  "Platform": "android"}

执行如下案例:

 siege -c 50 -r 100 --header "accesstoken:234566122" "https://youdao.com/ POST <requestbody.txt "

总之
掌握以上内容,你可以使用siege对接口进行性能测试。想更多了解siege推荐官方文档(https://www.joedog.org/siege-manual/)。