如何使用BlazeDS/Java服务器后端进行Flex应用程序的性能测试?我们正在考虑JMeter,但它是否可以在更复杂的级别上使用amf协议,从而可以操作请求中的值?
如何使用BlazeDS/Java服务器后端进行Flex应用程序的性能测试?我们正在考虑JMeter,但它是否可以在更复杂的级别上使用amf协议,从而可以操作请求中的值?
我的公司(UBIK-INGENIERIE)分发商业Flex/AMF Apache JMeter插件。
您可以使用Apache JMeter的标准知识轻松记录、变量化和重放基于FLEX/AMF的应用程序。
请查看以下教程:
这里可能需要使用"Java AMF Client" API。它是一个用于构建和发送AMF请求到服务器的Java API。
http://opensource.adobe.com/wiki/display/blazeds/Java+AMF+Client
我也听说过Gomez的好处,但我认为这是一项付费服务,并且需要一些额外的开销才能启动和运行。但是,如果您正在寻找更全面的解决方案,我的公司许多人在具有Java / BlazeDS后端的项目中使用它。
我们遇到了同样的问题。我一定会考虑为我们的网站选择www.gorillalogic.com。
另一个选择(我们忽略了)是选择LiveCycle Data Services ES2而不是BlazeDS。虽然BlazeDS满足了我们的功能需求,但LiveCycle带有负载/压力工具...这正是我们真正需要的。
这是比较图表: http://www.adobe.com/products/livecycle/dataservices/compare.html
Neoload 将覆盖 LCDS、BlazeDS、JBoss、WebLogic、WebSphere、PHP 和 .NET。 我们在查看了几个选项之后选择它作为测试 Flex 应用程序的工具。 您可以更改请求并传入任何变量。非常易于使用,但不免费。
目前在JMeter中,AMF编码/解码没有完美的解决方案。
以下是您可以尝试的方法:
找一个擅长Java的程序员为AMF开发JMeter插件。根据我们的经验,这并不难,并且我们的插件在以下项目中表现良好。插件应该能够在代理记录请求时解码AMF请求,并且易于自定义请求参数。
使用Charles记录AMF请求,并将数据包附加在JMeter HTTP采样器中。当应用程序不复杂时,它可以工作。
如果您有足够的预算,可以使用LoadRunner或其他商业软件。
我已经尝试了NeoLoad和LoadRunner。我们在LoadRunner方面取得了更多的成功。唯一的问题是,我们必须操纵LoadRunner生成器的配置(包括vugen中编写脚本的机器),以允许足够的内存来处理Flex发出的大量请求。由于每个vuser使用的内存更多,我们能够在测试Flex的生成器上运行比测试http的生成器少得多的vuser数。这大约是10:1的比例或更少。