2010-06-05 76 views
0

起初 - 我需要做它作为我的大学项目,所以我不想使用现有的工具。 我想知道是否可以写一个非常简单的工具,我可以用它来进行Web应用程序的性能测试。 它只会记录动作(我不知道,也许只是数据包嗅探?),然后重播。 但我有一个基本的想法(在80端口上记录数据包并再次发送它们),我不知道如何衡量每个事务的时间,因为它们没有区分。任何帮助非常感谢,谢谢!C#中简单的性能测试工具?

回答

0

编辑(因为该工具应该从头开始编写):

使用JMeter(http://jmeter.apache.org/)作为基准,并构建一个拦截所有HTTP请求的代理。

有关C#中的此主题,请参见How to create a simple proxy in C#?

+0

顺便说一句 - 我们在服务器上使用ASP.NET/C# - 但仍然jmeter是最好的工具(免费)。 – bertelmonster2k 2010-06-05 19:24:31

+0

对不起,但我问如何做到这一点(在我的文章的第一句话:)我熟悉LoadRunner,但仍然..需要写我自己作为一个大学项目 – Thomas 2010-06-05 19:25:59

+0

那么,JMeter告诉你如何做到这一点:使用代理服务器来拦截请求。请参阅http://stackoverflow.com/questions/226784/how-to-create-a-simple-proxy-in-c显示如何在C#中编写代理。 – bertelmonster2k 2010-06-05 20:15:20

0

看看Fiddler - 一个本地小调试Webproxy。

您可以录制WebRequest并重新发布它们,并测量Web服务器的性能。 也可以将它们保存到磁盘,加载它们 - 并再次重新发出他们...

http://www.fiddler2.com/fiddler2/

[编辑]看看演示的视频在MIX10这里:http://live.visitmix.com/MIX10/Sessions/FT50

+0

谢谢!除了低层数据包嗅探之外,有什么方法可以记录WebRequest? – Thomas 2010-06-05 19:39:02

+0

我认为,特别是在ASP.NET中,您也可以使用HTTP模块或HTPP处理程序。 尤其对于性能测量,您可以使用HTTP模块。 缺点是,它不是真的透明(作为外部代理或数据包嗅探器) - 您至少需要触摸web应用程序的配置才能激活您的模块或处理程序。 – spookycoder 2010-06-05 20:57:27