最好的方式来压力testing一个网站
这可能是错误的问题,但是,什么是在asp.net web应用程序上复制大负载的最佳方法? 有一种简单的方法来模拟特定页面上的许多请求吗? 或者,使用一个分析器来跟踪一个请求,然后从中解决,如果性能是好的,最好的办法是?
了解一个Web应用程序如何与服务器规范一起工作是一件好事。 我希望能够在我的testing服务器上模拟大量的stream量,这样我就可以计算出生产服务器是否足够好(特别是使用iis / asp.net而不是db性能)。
我的build议是你先做一些自动化testing。 使用selenium 。
然后部署selenium网格同时在多台电脑上testing。
尽pipeSelenium作为一个自动化的testing工具将运行得相当快,做一个小型的压力testing。 如果您同时在networking上的几台计算机上放置相同的自动化function,您将能够看到它的行为。
如果你想logging响应时间,他们有一个很酷的API,你可以用它来编写一些脚本来运行自动化。
编辑:selenium是很容易使用,它确实断言到页面内容如果你想testing的内容。 如果你愿意的话,它也可以通过页面复制你的动作(这将是我的build议),只需浏览页面,然后将其保存为自动化。 避免把断言,所以selenium可能运行得更快。
JMeter就是这样一个工具。 可能有点难以学习和configuration,但通常是值得的。
ab (apache bench)工具允许您将多个请求发送到单个页面,并指定要使用多less个客户端以及多less个并发连接。
这可能是开发网站的第一步。 只需testing一些特定的负载页面。 基准testing的这种方式可能会有一些问题,比如caching被过度使用。
之后,您可能需要一个模拟一些具体stream量的工具,而不是单个页面。 我还没有这方面的工具。
也许磨床会帮忙? 您可以模拟线程和轻量级进程的并发请求,也可以在多台机器上分配testing。 我每次都用广泛的成功。
我们尝试了几个应用程序,包括商业产品的试用和免费的试用。 最终,它是我们尝试过的Team Test Load Agent软件的试用版本。 这绝对是伟大的,使用相当简单。 从长远来看,它支持我们转向Team Foundation Server的理由,并使用适当的工具为部门的所有部门提供支持。
然而,明显的缺点是价格。
我已经使用WebLOAD进行这种项目。 创build脚本很容易,并且已经支持监视ASP.NET统计信息
DUP: ASP.Net压力testing
对于Web服务testing,soap rest或WCF(包括WebHttpBinding),请尝试使用SOA Cleaner。 可以从http://xyrow.com下载; 。 有一个免费的版本,它不需要任何安装。 它也可以执行负载testing。
我喜欢的另一个工具是Open STA: http : //opensta.org/
它主要集中在性能testing上,而且是免费的。