我有一个有点复杂的Web应用程序,在客户端和PHP功能服务器端包含Flash和javascript。 PHP功能包含用gnu软件(* nix环境)合并/编辑/创建文件的系统调用(exec())以及用于上传这些文件的REST服务的api调用(但这将通过cron作业完成)。
我们尚未准备好上线,我们期望在发布时直接加载大型服务器,因此我们需要对环境进行压力测试。我已经查看了一些库,比如JMeter,但是这些库无法处理Flash - 而merge / edit / create依赖于Flash应用程序的输入。我怎样才能以最佳方式对环境进行压力测试?
致以最诚挚的问候,
答案 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这样的东西来锤击它。
网络测试
网络专业人士可以使用iMacros 功能,性能和 网络回归测试 应用。内置STOPWATCH 命令捕获精确的网页 响应时间。 iMacros还包括 支持许多AJAX元素。
希望这有帮助。