原文:http://theether.net/kb/100128

许多文章都在讲如何根据iis log 进行模拟测试,不幸的是这些文章要么不正确、不完整或者有表述错误,就是没有对应当前的产品版本,或者没有处理windows 验证,下面的流程已经成功应用于产生重复的负载测试

一下案例使用了log parser2.2和WCAT 6.3

方案:

1) 安装Log Parser 2.2

http://theether.net/download/Microsoft/IIS/LogParser.msi

将下面的的模板文件和sql命令copy到 %ProgramFiles%\Log Parser 2.2 目录下:

http://theether.net/download/Microsoft/IIS/wcat.sql

SELECTOUT_ROW_NUMBER() as ID,STRCAT(cs-uri-stem, REPLACE_IF_NOT_NULL(cs-uri-query,STRCAT('?', realQueryString))) AS URI,count(*) AS WEIGHT,case sc-status when 304 then 200 when 206 then 200 else sc-status end as STATUSCODE
usingextract_token(cs-uri-query,0,'|') as realQueryString
INTO %outfile%
FROM %logfile%
WHEREcs-method = 'GET'and STATUSCODE = 200
GROUP BY URI, STATUSCODE
ORDER BY WEIGHT DESC

http://theether.net/download/Microsoft/IIS/wcat.tpl

<LPHEADER>
scenario
{name    = "Generated Using Log Parser";warmup      = 30;duration    = 120;cooldown    = 10;default{setheader{name    = "Host";value   = "intranet";}setheader{name    = "Connection";value   = "keep-alive";}setheader{name    = "User-Agent";value   = " Mozilla/4.0 (compatible; MSE 6.0; Windows NT 5.1; SV1)";}version     = HTTP11;close       = ka;}
</LPHEADER><LPBody>transaction{id = "URL %ID%";weight = %WEIGHT%;request{url         = "%URI%";statuscode  = %STATUSCODE%;}}
</LPBODY>
<LPFOOTER>
}
</LPFOOTER>

http://theether.net/download/Microsoft/IIS/wcat.NTLM.tpl

<LPHEADER>
scenario
{name    = "Generated Using Log Parser";warmup      = 30;duration    = 120;cooldown    = 10;default{setheader{name    = "Host";value   = "intranet";}setheader{name    = "Connection";value   = "keep-alive";}setheader{name    = "User-Agent";value   = " Mozilla/4.0 (compatible; MSE 6.0; Windows NT 5.1; SV1)";}version     = HTTP11;close       = ka;}
</LPHEADER><LPBody>transaction{id = "URL %ID%";weight = %WEIGHT%;request{url         = "%URI%";statuscode  = 401;}request{url         = "%URI%";authentication = NTLM;username = "DOMAIN\\user";password = "password";statuscode  = %STATUSCODE%;}}
</LPBODY>
<LPFOOTER>
}
</LPFOOTER>

copy iis log文件到 %ProgramFiles%\Log Parser 2.2 目录下.


2) 生成 WCAT 脚本
2a) IIS中使用了匿名验证 Using Anonymous Authentication on IIS

在命令行中执行如下命令:

CD "\Program Files\Log Parser 2.2"
Logparser file:WCat.sql?logfile=*.log+outfile=CurrentLog.ubr -i:IISW3C -o:tpl -tpl:WCat.tpl

(missing -i:IISW3C parameter courtesy Scott Stafford)

2b) IIS中使用windows 验证的

编辑wcat.NTLM.tpl并更新domain,user和password
Edit wcat.NTLM.tpl and update DOMAIN, user and password.

命令行中执行:

CD "\Program Files\Log Parser 2.2"
Logparser file:WCat.sql?logfile=*.log+outfile=CurrentLog.ubr -i:IISW3C -o:tpl -tpl:WCat.NTLM.tpl

3) 在测试机上安装 WCAT

在控制机上安装WCAT

http://theether.net/download/Microsoft/IIS/wcat.x86.msi 
http://theether.net/download/Microsoft/IIS/wcat.amd64.msi

拷贝 "%ProgramFiles%\Log Parser 2.2\CurrentLog.ubr" 脚本文件到 %ProgramFiles%\wcat 目录下.

在客户机上安装WCAT:

命令上执行

CD "\Program Files\wcat"
cscript wcat.wsf -update -clients localhost Test1

注意:这个命令会把wcclient安装在控制机和Test1这台客户机上,并会立即重启所有的客户端
Note: This will install the WCAT client (wcclient.exe) on the controller and the Test1 host. This will reboot all clients immediately.

4) 启动WCAT控制器

命令行中执行:

CD "\Program Files\wcat"
start wcctl.exe -t currentlog.ubr -s webserver.domain.com -c 2 -v 500

注释:-c 参数定义了控制器要等待几个客户机连接
Note: The -c parameter specifies the number of clients to wait for.

5) 启动客户端

在控制机上启动客户端:

CD "\Program Files\wcat"
start wcclient.exe localhost

在客户机上启动客户端:

CD "%windir%\wcat"
start wcclient.exe controller.domain.com

6) 查看测试结果

控制机上执行如下cmd命令:

iexplore %ProgramFiles%\wcat\log.xml

使用LogParser和WCAT进行iis压力测试相关推荐

  1. 用WCAT进行IIS压力测试(转)

    用WCAT进行IIS压力测试 收藏 如何建立起WCAT Microsoft的Web容量分析工具(WCAT) 是测试你的客户-服务器网络配置的必备工具.这个工具在你的网络上对多种工作量的场景进行仿真,允 ...

  2. 转:用WCAT进行IIS压力测试

    Microsoft的Web容量分析工具(WCAT) 是测试你的客户-服务器网络配置的必备工具.这个工具在你的网络上对多种工作量的场景进行仿真,允许你确定你的网络和服务器的最佳配置.WCAT是专门为 评 ...

  3. 用WCAT进行IIS压力测试

    http://blog.csdn.net/shaily/article/details/3070209 Microsoft的Web容量分析工具(WCAT) 是测试你的客户-服务器网络配置的必备工具.这 ...

  4. wcat 进行iis 压力测试

    如何建立起WCAT Microsoft的Web容量分析工具(WCAT) 是测试你的客户-服务器网络配置的必备工具.这个工具在你的网络上对多种工作量的场景进行仿真,允许你确定你的网络和服务器的最佳配置. ...

  5. 用WCAT进行IIS压力测试 (转贴)

    Microsoft的Web容量分析工具(WCAT) 是测试你的客户-服务器网络配置的必备工具.这个工具在你的网络上对多种工作量的场景进行仿真,允许你确定你的网络和服务器的最佳配置.WCAT是专门为 评 ...

  6. asp.net core系列 67 Web压力测试工具WCAT

    asp.net core系列 67 Web压力测试工具WCAT 原文:asp.net core系列 67 Web压力测试工具WCAT 一.介绍 最近搭建了一套CQRS框架,需要在投入开发前,进行必要的 ...

  7. 压力测试工具WCAT

    IIS6 并发压力测试 WCAT 微软官方提供WCAT套包,用于测试IIS6的主要分为两个部分 控制端和客户端,WCAT Controller  ,WCAT Client 简单原理如下,控制端(专门的 ...

  8. 微软压力测试工具 web application stress

    WEB服务器的压力测试工具~ 115808 2009年8月1日 lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网站,在程序投入运行时,可以用它来进行 ...

  9. Exchange Server2010系列之十五:Exchange磁盘压力测试

    本文章主要是使用Jetstress 2010测试Exchange的磁盘子系统,用来评估Exchange磁盘子系统的IO性能是否可以满足设计需求.Jetstress 工具通过与可扩展存储引擎 (ESE) ...

最新文章

  1. 强烈推荐Oracle的入门心得
  2. oracle中代替in 和not in 高效方法
  3. 成功解决_catboost.CatBoostError: Bad value for num_feature[non_default_doc_idx=0,feature_idx=0]=“FDO09“:
  4. 打印控件---引用网友推荐
  5. 矩阵树 Matrix-Tree 定理实现模板(高斯消元求解行列式)
  6. TensorFlow第十二步 自编码器去噪降维
  7. BFS - 20190206
  8. phpstudy运行PHP项目出现404怎么办?
  9. 营口(熊岳)温泉旅游归来!
  10. nginx 启动报错 “/var/run/nginx/nginx.pid“ failed” 解决方法
  11. 如何用python控制设备实现自动_带你用 Python 实现自动化群控设备
  12. 用c语言编写函数流程,C语言课程设计————写下流程图! 谢谢
  13. [超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解(支持4K120Hz、8K、HDR真彩,杜比视界、杜比全景声)
  14. 自然语言处理NLP训练营---贪心科技
  15. cocos2d-x初步
  16. 常见地图坐标系以及转换方法、转换工具
  17. word饼图如何画引导线_excle怎么画立体饼图/如何在饼形图中添加引导线(Excel)...
  18. 腾讯云安装配置数据库MySQL并且使用SQLyog连接
  19. 复杂字云简单做,随时做好装逼的准备
  20. 批量升级320k百度音乐(java版本)

热门文章

  1. 网络配置之不走寻常路
  2. informatica问题集
  3. Kinect的学习笔记发展(一)Kinect引进和应用
  4. 第十周总结——拆装机
  5. MySQL基础知识笔记
  6. 数学 {邻域,区间,极值,最值,上界,有界,上确界,柯西序列,完备空间,单调有界定理,拓展实数集}
  7. 过滤器Filter详解
  8. 英语Pyrophane火欧珀pyrophane单词
  9. BUUCTF:[BSidesCF 2020]Had a bad day
  10. Camera和Image sensor技术基础笔记(5) -- HDR相关技术