我该如何压力测试我的网络应用程序?

时间:2009-11-06 12:43:00

标签: php flash testing stress-testing

我有一个有点复杂的Web应用程序,在客户端和PHP功能服务器端包含Flash和javascript。 PHP功能包含用gnu软件(* nix环境)合并/编辑/创建文件的系统调用(exec())以及用于上传这些文件的REST服务的api调用(但这将通过cron作业完成)。

我们尚未准备好上线,我们期望在发布时直接加载大型服务器,因此我们需要对环境进行压力测试。我已经查看了一些库,比如JMeter,但是这些库无法处理Flash - 而merge / edit / create依赖于Flash应用程序的输入。我怎样才能以最佳方式对环境进行压力测试?

致以最诚挚的问候,

4 个答案:

答案 0 :(得分:4)

如果您正在运行Apache,则可以使用ab来强调测试应用程序的服务器端。

Apache HTTP server benchmarking tool

不知道它是否可以处理Flash和/或Javascript。

  

ab是用于对Apache超文本传输​​协议(HTTP)服务器进行基准测试的工具。它旨在让您了解当前Apache安装的执行情况。这尤其向您展示了Apache安装能够提供的每秒请求数。

答案 1 :(得分:4)

正如另一个人推荐的那样,Selenium在这里可能会很好。唯一的问题是,如果您尝试进行压力测试,单个Selenium浏览器将无法为您提供足够的并发性。

我的公司BrowserMob提供基于Selenium的load testing services,您可以在其中生成100多个并发的Selenium脚本。我们也使用本机点击支持Flash,这意味着你甚至不会做Gareth链接的技巧(尽管如果可以的话,这是推荐的)。

所有人都说,仅仅是因为您的网站使用 Flash,这并不意味着它必然需要真正的浏览器才能进行性能测试。如果Flash组件使用原始HTTP,那么像JMeter或我公司的“虚拟用户”服务(即:不使用Selenium)这样的工具可能会起作用。如果它通过HTTP说AMF,你仍然可以做到,但它通常有点难。但如果您真的想测试视频流等内容,可能需要更高级一些。

答案 2 :(得分:3)

Selenium可能是一个很好的方式;它可以很好地处理AJAX / JavaScript,Adobe有一个Selenium extension专门用于Flash测试。 Selenium有一点学习曲线,但值得花时间。

答案 3 :(得分:2)

对于后端PHP,我只是在每个方法上使用计时器,并尝试在这里和那里刮几毫秒。我不会太担心PHP。

对于前端压力测试,我会使用像iMacros这样的东西来锤击它。

More info here

  

网络测试

     

网络专业人士可以使用iMacros   功能,性能和   网络回归测试   应用。内置STOPWATCH   命令捕获精确的网页   响应时间。 iMacros还包括   支持许多AJAX元素。

希望这有帮助。