利用线程池打造一个简单的压力测试软件

xboxeer 2012-07-01 09:31:33
加精
很想知道以前写的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
...全文
7300 117 打赏 收藏 转发到动态 举报
写回复
用AI写文章
117 条回复
切换为时间正序
请发表友善的回复…
发表回复
lishaolong2011 2014-04-15
  • 打赏
  • 举报
回复
请问楼主,你这个访问量是同时发送请求,还是按照队列的形式发送的?
永远北极 2012-10-26
  • 打赏
  • 举报
回复
学习中
happytonice 2012-08-27
  • 打赏
  • 举报
回复
继续推见
gaoaixiong 2012-08-27
  • 打赏
  • 举报
回复
nice
支持
ComputerRookie 2012-08-22
  • 打赏
  • 举报
回复
新人求教,下下来之后点哪个文件是开启啊
李白上明月 2012-08-21
  • 打赏
  • 举报
回复
感谢楼主 !!!!~~
微信公众号 2012-08-20
  • 打赏
  • 举报
回复
测试的多了,老是Please wait...
zhwqy84 2012-08-17
  • 打赏
  • 举报
回复
想下啊。下不了。
davidzhyyy 2012-08-17
  • 打赏
  • 举报
回复
很不错 学习了
bajie002 2012-08-17
  • 打赏
  • 举报
回复
大牛啊,下载学习一下
MSOKD 2012-08-16
  • 打赏
  • 举报
回复
非常不错的东西
qianyonggan 2012-08-16
  • 打赏
  • 举报
回复
好东西啊
Forrest23 2012-08-15
  • 打赏
  • 举报
回复
这样的测试有效吗
q27981872 2012-08-15
  • 打赏
  • 举报
回复
,7楼管理猿出没,果断合个影 , 看到8楼的吐槽"感谢对CSON的支持!",我湿了,这还是一只会卖萌的管理猿!!!
xboxeer 2012-08-14
  • 打赏
  • 举报
回复
多谢提醒 确实对于专业的web测试不是很了解~
[Quote=引用 91 楼 的回复:]

总的来说,你这叫可以叫网络负荷测试,而且测试本地网络达不到测试要求,最多测试下自己的网络状况。
[/Quote]
RunningY 2012-08-14
  • 打赏
  • 举报
回复
嗯 嗯 不错啊。,。
majiaqing 2012-08-14
  • 打赏
  • 举报
回复
源码呀源码呀!太好了
likelike0724 2012-08-14
  • 打赏
  • 举报
回复
这东西还不错啊 确实看起来简单多了 没那么复杂
blackkettle 2012-08-14
  • 打赏
  • 举报
回复
我最喜欢看高手们的评论了。
lyserver 2012-08-14
  • 打赏
  • 举报
回复
精神可嘉,支持!
不过貌似并发压力通过一台机器不好测啊,线程数跟CPU数量相关的。
加载更多回复(67)

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧