很想知道以前写的ASP.NET网站的性能如何 于是上网找相关的网站压力测试工具 找了半天不是要收费的就是巨麻烦配置一大堆 虽然VS似乎也自带webform的测试框架 但是感觉也挺复杂 我所要的就是输入一个网址和访问数量 就可以得到平均response时间的软件 这几天正好在鼓捣多线程 原生的写了个进度条 这回打算试试线程池 干脆就利用线程池自己写个压力测试工具
软件的基本思路非常简单 就是利用HttpWebRequest提交请求 获取返回 然后利用Stopwatch来得到请求返回的时间 求这些集合的和再除以访问成功的连接的数量 就可以得到平均response时间 当然 所有这些请求都是利用线程池线程来完成的 顺带还熟悉了一下interlocked这个类 毕竟在统计总计时间的时候必须是同步操作 不然就会出错
程序运行图片如下:
针对百度的测试:平均response时间为134ms
针对CSDN论坛的测试(希望不会被当成黑客~):平均response时间为235ms
针对自己的网站:写的太烂~平均response时间就不说了 不过通过windows内置的性能计数器可以看到软件在我的电脑上跑的最高1秒的请求可以达到113 当然这个值是根据我后台开的程序多少变动的 如果什么都没有开估计会更高
利用这个软件还可以模拟测试一些本地测试无法覆盖 但是放到server上就报错 尤其是那种过一会儿才发生的错误
软件还自带了之前写的progressbar控件 顺带修复了好几个bug~真心是要在实际运用中才能看出bug啊~
唯一比较遗憾的就是无法针对需要有session验证 表单提交的页面做测试 程序内部利用GET形式提交请求
下载地址在此
http://download.csdn.net/detail/xboxeer/4405096