如题: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集群