使用Siege测试Web服务器

简介:
好处是可以对一组url进行 测试
  参见 http://www.blogjava.net/crespochen/archive/2009/06/02/279573.html 和 http://baike.baidu.com/link?url=Uv0KtwM83hvFTjudQsP37FIfeUDJxMW4Kvodfk6oSTJ4B4ctpr1R6P4CGXdyMExyU7rGL2bold_aGJHwKaV2l_
  郭扬提供了1.73上的应用,拷贝到/guodian/uap2,部署上Weblogic的Server-0(端口号是7010)。uap2依赖于uap_server。通过http访问是
  查询
  http://192.168.1.73:7010/sguap-client/SmallCase/rest/smallCase/
  增加:
  http://192.168.1.73:7010/sguap-client/SmallCase/rest/smallCase/insert?uuid=XXX&name=XXX
  修改:
  http://192.168.1.73:7010/sguap-client/SmallCase/rest/smallCase/update?uuid=XXX&name=XXX
  删除
  http://192.168.1.73:7010/sguap-client/SmallCase/rest/smallCase/delete?uuid=XXX
  我们在1.74上做测试。
  yum -y install siege #安装siege,安装不上的话,就从前面提供的URL上下载siege,再安装。
  据此,写了个 shell生成url
#!/bin/bashfunction get_random_name(){MATRIX="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"LENGTH=8while[${n:=1}-le$LENGTH]; doPASS="$PASS${MATRIX:$(($RANDOM%${#MATRIX})):1}"let n+=1doneecho$PASS}function make_link(){act=$1#echo $actfor i in$seqc; do#echo $i
linkarr[$i]="\$link/$act?uuid=${idarr[$i]}&name=$(get_random_name)"echo${linkarr[$i]}>>$outdone}num=$1out=$2[ x$num = x ]&&num=10[ x$out = x ]&&out=link.out
link=http://192.168.1.73:7010/sguap-client/SmallCase/rest/smallCase
declare-a idarr
seqc=`seq$num`for i in$seqc; do
idarr[$i]=$[$RANDOM%1000]doneecholink=$link>$outecho${idarr[@]}declare-a linkarr
$(make_link insert);
echo \$link/>>$outecho>>$out
$(make_link update);
echo \$link/>>$outecho>>$out
$(make_link delete);
echo \$link/>>$outecho>>$out
  测试命令
  siege -c20 -r2 -f link.out
  参数说明:
  -c20 并发20个用户
  -r2 重复循环2次
  -f link.out 任务列表:URL列表
  测试结果:
** SIEGE 3.0.0
** Preparing 20 concurrent users for battle.
The  server is now under siege...
HTTP/1.1 200   0.37 secs:     340 bytes ==> GET  /sguap-client/SmallCase/rest/smallCase/insert
HTTP/1.1 200   0.38 secs:     340 bytes ==> GET  /sguap-client/SmallCase/rest/smallCase/insert
...............................................  #代替很多条HTTP/1.1 ...
Transactions:          40 hits
Availability:      100.00 %
Elapsed time:        2.14 secs
Data transferred:        0.01 MB
Response time:        0.21 secs
Transaction rate:       18.69 trans/sec
Throughput:        0.01 MB/sec
Concurrency:        3.87
Successful transactions:          40
Failed transactions:           0
Longest transaction:        0.58
Shortest transaction:        0.00
  Concurrency是并发数
  siege还包含了一些辅助工具:bombardment,是一个辅助工具:用于按照增量用户压力测试。
  bombardment link.out 5 5 10 1
  这样测试,效果也良好,就是费时间。

最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
1月前
|
存储 资源调度 应用服务中间件
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
26 0
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
164 0
|
30天前
|
前端开发 应用服务中间件 nginx
使用Docker快速搭建Web服务器Nginx
本文指导如何使用Docker快速搭建Nginx服务器。首先,通过`docker pull`命令获取Nginx镜像,然后以容器形式运行Nginx并映射端口。通过挂载目录实现本地文件与容器共享,便于自定义网页。使用`docker ps`检查运行状态,访问IP:8088确认部署成功。最后,介绍了停止、删除Nginx容器的命令,强调Docker简化了服务器部署和管理。
45 0
|
2天前
|
XML Web App开发 测试技术
python的Web自动化测试
【4月更文挑战第16天】Python在Web自动化测试中广泛应用,借助Selenium(支持多浏览器交互)、BeautifulSoup(解析HTML/XML)、Requests(发送HTTP请求)和Unittest(测试框架)等工具。测试步骤包括环境搭建、编写测试用例、初始化浏览器、访问页面、操作元素、验证结果、关闭浏览器及运行报告。注意浏览器兼容性、动态内容处理和错误处理。这些组合能提升测试效率和质量。
11 6
|
1月前
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
javaWeb服务详解(含源代码,测试通过,注释) ——web.xml
7 0
|
1月前
|
安全 测试技术 API
请描述在 Python WEB 开发中常用的测试方法。
请描述在 Python WEB 开发中常用的测试方法。
18 0
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
Web App开发 前端开发 测试技术
Web应用程序测试工具Selenium用法详解
Web应用程序测试工具Selenium用法详解
37 0
|
1月前
|
Windows
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
57 2
|
1月前
|
机器学习/深度学习 Python
Python基础:构建一个简单的Web服务器
Python基础:构建一个简单的Web服务器
56 1