http://blog.163.com/drg_king/blog/static/17615156120120944140633/
最近做压力测试,很多都是靠集群多个tomcat负载均衡实现高并发数(这里bs下铁道部那个订票系统)
现在在本机简单模拟下tomcat负载
前题准备:
至少2个tomcat、1个apache、 mod_jk(如果apache的module中有,就不用去官网下了)
端口配置
apache端口 8889(该死的80屏蔽了半天,停了几个都busy,直接改掉80端口)
tomcat1 SHUTDOWN:8085 ip:8080 ajp:8009
tomcat2 SHUTDOWN:8285 ip:8280 ajp:8209
实行步骤
1在apache的conf中 建立 workers.properties 配置文件,内容如下
worker.list = controller,tomcat1,tomcat2 #server 列表
#========tomcat1========
worker.tomcat1.port=8009
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcat2.port=8209
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat2.host=localhost
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat
worker.controller.sticky_session=1
2.在apache的conf中 建立 mod_jk.conf 配置文件
内容如下:
#加载mod_jk Module(这里因为我安装的apache中的module下已经有mod_jk了)
LoadModule jk_module modules/mod_jk.so
#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器
JkMount /*.jsp controller
3在apache中的conf中httpd.conf配置文件最后导入mod_jd.conf配置文件,
内容如下
Include conf/mod_jk.conf
整个负载配置完成,变动的主要是apache下面的3个配置文件,有2个是新增的
测试
我在2个tomcat的root下都弄了个1.jsp
<%
System.out.println("++++++++++++++++++++=");
%>
启动2个tomact
访问apache整合的地址http://127.0.0.1:8889/1.jsp(因为我把一直busy的80端口改为8889了)
多访问几次看tomact运行如下
可以看出2个tomact都均衡运行
这里只是在win7下模拟,正常情况下,一般是在linux环境下,同理把只是要下载linux下的mo_jk.so,tar.gz包,安装肯定也要安装linux下的apache,等下次弄个linux环境再测试下