Tomcat下部署多个webservice项目(不同地区配置文件不同)

如题:Tomcat下部署多个webservice项目(不同地区配置文件不同)后,客户访问查数据响应时间过长怎么办?这是高并发问题么?本地能搭环境测试么

1、你可以通过配置线程池的方式尝试提高性能。
2、Tomact启动相当于一个进程,多个webservice项目相当于资源,外部访问就是调用资源,性能不好当然就是访问过多的原因,可以说是高并发问题
3、本地当然可以搭环境测试

tomcat 6.X

现在以部署两个项目为例:

第一步:修改tomcat下的server.xml文件

配置service 节点,个人认为有几个项目,就相应的配置几个service 节点;

配置了两个端口号:分别为9999和8878

第二步:先依照此配置文件配置,完成后在tomcat根目录下复制文件夹webapps,粘贴重命名为webapps1,webapps2,如下图:此文件夹就是分别用来部署项目的。

第三步:在tomcat根目录下的conf文件中,复制conf文件夹下的Catalina文件夹,粘贴并重命名为Catalina1,Catalina2,如图:

配置完成,现在可以把项目分别部署到配置好的两个文件夹webapps1和webapps2中;

启动tomcat,分别用不同的端口号测试;

service.xml文件配置:


connectionTimeout="20000"
redirectPort="8443" />

<Engine name="Catalina1" defaultHost="localhost">


  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>


  <Host name="localhost"  appBase="webapps1"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
  </Host>


</Engine>


connectionTimeout="20000"
redirectPort="8443" />

<Engine name="Catalina2" defaultHost="localhost">


  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>


  <Host name="localhost"  appBase="webapps2"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
  </Host>


</Engine>

本地可以搭环境测试,客户访问慢首先排除客户网络问题,第二数据库相应时间,然后在查代码,注意不一定是高并发问题,这得访问的流量
另外webservice本身不是高速接口,即本身就不快

你可以对tomcat进行优化处理,1.静态资源交给nginx进行处理,2.增大jvm内存(看服务器内存适当增加),3.将tomcat启动模式改为nio模式,4.如果有条件购买一个高性能的服务器(决定性作用),5.访问量较大,最好做一下tomcat集群