JAX-WS在AppEngine上运行缓慢

8
我正在开发一个客户端应用程序,它通过SOAP与第三方API通信。该应用程序在我的本地机器上运行良好,但在上传到AppEngine后速度变慢了10倍。经进一步调查发现,导致减速的原因是客户端库使用的基础jax-ws。
重要的一点是,增加实例数量可以显著提高性能,但在这种情况下,实例会消耗更多资源。
我找不到任何解决此问题的方案,希望得到指导。
PS:我使用的客户端库是这个

1
嘿,Vivek!我们很乐意提供帮助,但需要更多信息才能这样做。你能展示一下任何相关的代码吗(比如你实际调用API的方式)? - Will Hayworth
这个例子在这里。我刚刚在我的代码中复制了相同的例子。 - vivek
这仍然不能提供关于您可能正在使用的其他库或它们如何交互的上下文,也不清楚您看到了什么样的性能差异以及如何测量它。 - Will Hayworth
你能通过JVisualVM或JRockit远程查看JVM的性能吗? - Sergio Otero Lopez
@WillHayworth 我在这里找到了一些相关的 bug https://code.google.com/p/googleappengine/issues/detail?id=7706 - vivek
显示剩余2条评论
1个回答

0

一般来说,SOAP被认为是一种缓慢而臃肿的序列化技术;使用JSON可能会获得更好的性能。

你的本地计算机可能比单个应用引擎实例更强大;这是我的经验。

对于像SOAP、Spring等重量级框架来说,App Engine可能不是一个很好的环境,因为它们倾向于以大量资源为代价提供许多功能。App Engine旨在快速扩展,而这些框架启动时间较慢。

我建议坚持使用基本的REST/JSON架构,或者转移到允许你调整计算大小的计算引擎。


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