Java Web服务部署选项

时间:2011-06-07 14:26:03

标签: java mysql web-services axis2 tomcat7

很抱歉这个长度,但更多信息通常比不够......

我需要将一些基于服务器的功能添加到我在市场上的Android应用程序中。我过去的大多数经验都是使用.Net Web服务和MSSQL,但是因为Android使用了Eclipse& Java我决定使用类似的技术创建这个Web服务。

通过使用一些不同的教程,我使用axis2和amp;开发了一个(自下而上)Web服务。 mySQL和它在Tomcat7上的本地实例上非常愉快地进行通信。

war文件的部署似乎相当简单,但是我想知道考虑到它预期要处理的负载,我是否需要做些什么特别的事情。

该应用程序目前有大约500,000个用户,每个用户可以向服务器发出请求,大概每30秒就说一次。所以这将是预期最重的流量。

Web服务对sql数据库执行select查询,进行一些计算,然后发回响应 - 根本没有对数据库进行写入。预期的响应时间约为1-10秒,具体取决于计算的复杂程度。

老实说,我对Tomcat,Java Web Service或mySQL的加载功能一无所知,有些Google搜索的答案一无所获。但这可能更多是由于我根据自己缺乏经验而不确切知道应该寻找什么。

基本上我想找出是否应该通过Tomcat,webservice和mySQL的单个实例处理上述场景 - 或者是否应采取其他步骤。在这一点上,我不知道我是否远远低于能力,甚至不需要担心,或者我是否做出了这样一个错误的决定。

所以,如果有人能够回答这个问题,或者只是指出我可以自己研究这个问题的方向,那就非常感激了。

提前致谢。

1 个答案:

答案 0 :(得分:0)

一个好的开始是加载测试您的Web服务,看看在错误和性能受到影响之前它能处理多少。 您可以使用SoapUI之类的工具。 SoapUI工具允许使用不同参数将测试套件设置为load test Web服务。 SoapUI不仅限于Java,几乎可以在任何Web服务上使用。

如果您发现服务器无法处理预期的负载,那么您有几个选项

  • 投入更多硬件
  • 调整您的查询以确保网络 服务电话以最快的速度完成 时间可能
  • 分析应用程序以查找内存和性能瓶颈
  • 在数据库前放置一个缓存层(请参阅Ehcache) 加快阅读速度。