我该如何对我的Web应用进行压力测试?

9
我有一个相对复杂的Web应用程序,客户端包含Flash和JavaScript,服务器端包含PHP功能。PHP功能包含系统调用(exec()),使用GNU软件(*nix环境)合并/编辑/创建文件以及API调用REST服务上传这些文件(但是这将通过cron作业完成)。
我们还没有准备好上线,预计在启动时会直接面临大量的服务器负载,因此需要对环境进行压力测试。我已经研究了一些库,例如JMeter,但据我所知,这些库无法处理Flash,而合并/编辑/创建取决于Flash应用程序的输入。如何以最佳方式对我的环境进行压力测试?
此致 敬礼
4个回答

5
如果你正在运行Apache,你可以使用ab来对你的应用程序的服务器端进行压力测试。 Apache HTTP服务器基准测试工具 不确定它是否能处理Flash和/或Javascript。
ab是一个用于对你的Apache超文本传输协议(HTTP)服务器进行基准测试的工具。它旨在让你了解你当前的Apache安装的性能表现。这特别显示了你的Apache安装能够提供多少请求每秒。

4

正如另一个人建议的那样,Selenium可能很适合这里。唯一的问题是,如果你想进行压力测试,单个Selenium浏览器无法为你提供足够的并发。

我的公司BrowserMob提供基于Selenium的负载测试服务,其中您可以生成100多个并发的Selenium脚本来访问您的网站。我们还支持使用本机点击进行Flash测试,这意味着您甚至不需要执行Gareth链接到的技巧(尽管如果您能做到这一点,则建议这样做)。

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


3

Selenium可能是一个不错的选择;它对AJAX / JavaScript处理得非常好,Adobe有一个专门用于Flash测试的Selenium扩展。 Selenium有一定的学习曲线,但投入时间是值得的。


Selenium 用于压力测试吗? - Salman Virk
1
Selenium并不是专门用于压力测试,但由于可以从命令行执行它,因此设置多个同时运行的测试运行将相当容易。 - gareth_bowles

2
对于后端的PHP,我会在每个方法上使用计时器,并尝试在这里那里减少一些毫秒。我不会太担心PHP。
对于前端压力测试,我会使用类似iMacros的工具进行测试。 更多信息在这里 Web专业人士可以使用iMacros进行Web应用程序的功能、性能和回归测试。内置的STOPWATCH命令可以捕获精确的网页响应时间。iMacros还包括对许多AJAX元素的支持。
希望这可以帮到你。

iMacro 不再与 Firefox Quantum 兼容。 - Adarsh Madrecha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接