可能重复:
你如何做网站负载testing和容量规划
我正在开发在Linux服务器上运行的PHP MYSQL应用程序我想知道是否有任何方法来testing一个应用程序可以同时处理多less个用户?
谢谢
你实际上需要testing两件事情:
为了find突破点,您可以使用apache benchmark(ab)进行非常原始的压力testing,或者使用Selenium进行更复杂的testing。 关于扩展,您必须重新使用运行在更强大硬件上的应用程序进行以前的testing(向上扩展)。 然后与您的应用程序从多个Web服务器运行(扩大)。 类似的数据库后端,但这是一个棘手的技巧。 当进行这种types的testing时,可以使用collectd / munin / zenoss等工具监视您的机器,并在mysql中启用慢查询日志,这样可以轻松找出任何瓶颈。 对于横向扩展testing,如果我没有记错的话,可以使用Amazon的EC2-240 $,100个服务器一个小时。 试图分析一个(networking)应用程序时的一般想法是有一个明确的扩展path – 即在哪里你需要更多的容量,如何将其configuration到生产环境,以及什么时候应该这样做。
我会使用PHP(因为你已经知道它)并编写脚本来从远程机器查询你的应用程序。 编写脚本login和浏览应该不会太困难,尤其是在您编写目标应用程序之后。
编写脚本以testing延迟和其他variables,并确保在应用程序服务器上观察资源利用率。
有几种工具可以在负载下testing你的应用程序。 我最常听到的是JMeter。 我相信你也可以使用部分Selenium基础设施来生成负载testing。