首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

性能/压力测试用具Apache ab修改系列:Part3——从文件中读取压力/性能测试的 url、header、cookie信息

2012-06-27 
性能/压力测试工具Apache ab修改系列:Part3——从文件中读取压力/性能测试的 url、header、cookie信息需求:修

性能/压力测试工具Apache ab修改系列:Part3——从文件中读取压力/性能测试的 url、header、cookie信息

需求:

修改Apache AB 工具,使其能够从文件中读取压力/性能测试的 url、header、cookie信息,并采用这些信息进行随机组合访问的压力和性能测试。

?

解决方案:

1. 如何从文件中读取url、header、cookie信息,并保证该操作不影响Apache AB的性能及数据统计?

首先,我所考虑的方法是,在ab读取设置参数的时候,如果配置为需要从文件中读取url、header、cookie等信息,则立即将这些信息读入到内存中备用,这样就能在Apache AB开始压测前完成所有的数据准备工作。

?

?

?

?之后,对write_request函数进行修改,在其最前面添加如下代码:

?

static void write_request(struct connection * c){/* edit by gongyuan.cz start *//* set path */if(pathNum){int index = random() % pathNum;path = apr_pstrcat(cntxt, pathName[index], NULL);/* set fullurl */if(isproxy){fullurl = apr_pstrcat(cntxt, fullurl, pathName[index], NULL);}}/* set cookie */if(cookieNum){int index = random() % cookieNum;cookie = apr_pstrcat(cntxt, "Cookie: ", cookieName[index], "\r\n", NULL);}/* set header */if(headerNum){int index = random() % headerNum;hdrs_cp = apr_pstrcat(cntxt, hdrs, headerName[index], "\r\n", NULL);}/* set request */if(0 != pathNum || 0 != cookieNum || 0 != headerNum){set_request();}/* edit by gongyuan.cz end */

? 最后,经过以上的修改之后,修改版的Apache AB工具,不仅具备之前的所有功能,还具备从文件中读取url、header、cookie等信息并随机组合之后进行压力/性能测试。

修改版的Apache AB与原版Apache AB的性能及数据统计对比报告,在之前博客:

性能/压力测试工具Apache ab修改系列:Part1--与Apache AB原版对比测试报告

?中有详细的介绍。

?

ok,性能/压力测试工具Apache ab修改系列:Part3 介绍完毕,欢迎拍砖。转发请备注转自:100continue.iteye.com。 谢谢。

热点排行