使用http_load测试动态页面的性能遇到的问题及解决办法

阅读更多
使用http_load在测试过程中遇到了一个非常棘手的问题,就是页面内容是动态变化的——而http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出Byte Count Wrong。但对于静态页面出现这个提示,说明系统不能承受如此大的压力(也可能是其他原因,在这里我只说这一点);但对于动态页面,通过这种进行判断就有失准确性了……
       通过自己观察,并与开发沟通发现页面的动态变化是有一定规律的——只是一少部分内容发生变化(换句话说,就是两次返回的字节数应该相差不是非常大)。如果能找到“两次”访问返回的字节数,并经过对比如果相差不大(开发认为是正常的),那可以说明返回的页面就是正常的(此时就可以忽略掉“byte count wrong”);如果相差很大(开发也认为是非正常的),那可以说明返回的页面有误)。
       如果能让http_load中记录的“日志”中体现出两次返回的字节数就好了……于是开始研究http_load.c(源码),终于找到了一个可以添加的入口,问题解决!以上的“如果”能实现了!
修改的代码如下:
【原来的】
“stderr, "%s: byte count wrong", urls[url_num].url_str );”
【修改的】
“stderr, "%s: byte count wrong: first=%d,cur=%d\n", urls[url_num].url_str,urls[url_num].bytes,connections[cnum].bytes );”

你可能感兴趣的:(C,C++,C#)