Simon_Ks的gravatar头像
Simon_Ks 2014-10-09 14:36:57

java调用WebService接口为什么这么慢?和数据库或发布WebService的方式有关系吗?

是这样的,我现在在客户端调用用java写的WebService,发现调用的速度很慢。我的WebService接口大多数都是操作数据库。经过测试发现,接口中,与数据库建立连接的代码耗费了太多的时间,那我想这也可以理解,于是我做了如下的测试:对于一个测试接口(里面只有与数据库建立连接的代码),分三种数据库服务器:远程oracle、本地oracle和本地mysql,分别执行20次。测试结果如下:

java调用WebService接口为什么这么慢?和数据库或发布WebService的方式有关系吗?

本能的理解,连接远程服务器应该要比本地的慢,可是发现两者也差不了多少,到是本地mysql出奇的快!因此我的问题如下:

1、调用WebService的速度和怎么发布WebService的方式有关系吗?我现在使用POJO方式发布WebService的,不用配置,比较方便,但是是不是会影响最终调用速度呢?

2、和连接的数据库有关系吗?怎么解释上面的测试结果呢?

3、有什么方法措施可以提高调用速度?例如还能用怎样的方式发布WebService?或者哪里配置这些

所有回答列表(1)
最代码官方的gravatar头像
最代码官方  LV167 2014年10月9日

1.在java webservice调用的方法前后增加开始时间和结束时间,可以得到最终的webservice执行时间,这样大概可以判断排除网络的因素

2.换个数据库执行多次取平均值看是否有异同

3.直接在db层做类似的sql查询动作看查询时间,记得也是多次执行取平均值

4.是否有其他除了webservice调用外的java方法执行呢?

5.应该和发布方式没关系吧?

评论(2) 最佳答案
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友