我需要testing一个网站,以及它如何同时处理几个连接。 每个用户必须:
我需要模拟大约200个这样的用户。 理想情况下,我希望我可以模拟1000,然后2000。
什么是最简单的方法来做到这一点? 我能够真实地编写一个脚本来做到这一点,或者有什么办法可以利用我的其他服务器来做到这一点? 我也听说过使用EC2来做类似这样的事情,但是我觉得这有些超出我的想象。
有什么想法吗?
**编辑**
回应下面的评论。 一个网站显然是一个网站。 如在www.somedomain.com。 testing将需要几个人访问这个网站,使用提供的凭据login,然后按拍卖(其一分钱拍卖types的网站)。 他们通过按下一个button来拍卖拍卖品,testing将涉及人们打开页面和出价。
第一:这个做起来不容易。 事实上,find知识的人很难做到这一点。
这就是说,这里有一些技巧是基于我在大型网站上进行负载和性能testing的经验。
有专业的,昂贵的,这样做的工具。 其中之一是Loadrunner,它是我们testing部门使用的。 这就是我所知道的 – 我告诉testing人员他们应该testing什么,然后在我忙于其他工作的时候让它发生。
如果你不想要一个专业的昂贵的工具,你需要做的是基本上build立一个有200个不同的虚拟IP(或1000,或2000)的服务器。 那么你需要一个程序,从该服务器进行大量同步连接,每个连接来自一个单独的IP。 应该将服务器直接放在与要testing的服务器相同的交换机上。 这种安置的原因是,当你testing时,你基本上伪装成整个互联网,你需要确保stream量实际上没有路由到互联网。 您还需要了解您的网站的常用使用模式。 如果你没有这些,你仍然可以做一个基本的负载testing,例如访问三个随机页面,但是结果与你的实际使用不太相关。
在StackOverflow的这个问题上有一些关于开源软件的提示。 但我主要的build议是付钱给这个人谋生, 它会比花费自己的时间更快,可能更便宜。
首先 – 除非您有一个基于IP的负载平衡或身份validationscheme,否则IP地址在负载testing中很less重要。 绝大多数Web开发框架的性能不受用户IP地址的影响。
但是假设IP的数量对于您的案例来说确实很重要,那么您只需要一个负载testing工具,它可以为您提供您需要的IP数量。 200个IP不是非常困难,因为你可以在一台机器上的单个子网上获得许多IP。 然后,只需使用一个工具,将使用(我会插入我们的产品 – 负载testing仪 ,它有一个免费的LITE版本,您可以使用简单的testing,并允许无限制的并发用户)。
当你需要做1000或2000个用户时,只需要增加你需要的负载生成器的数量,以及你需要在这些负载生成器上configuration的IP地址的数量。
希望有所帮助!