TOMCAT可以稳定支持的最大并发用户数

TOMCAT可以稳定支持的最大并发用户数
TOMCAT可以稳定支持的最大并发用户数

TOMCAT可以稳定支持的最大并发用户数

服务器配置:

单硬盘,SATA 8MB缓存

测试服务器和loadrunner运行服务器位于同一网段--100MB网络(同一交换机)上,排除网络问题的影响

服务器运行始终,CPU使用率非常低没有超过5% 因此虽然服务器配置低,但是不是性能瓶颈所在

服务器运行在windows server 2003 sp2中文版(正版系统)

tomcat内存的设置:1.4GBJVM+256MB的池

set JAVA_HOME=C:\JAVA\JDK15

set CATALINA_OPTS=-server -Xms 1400m -Xmx1400m -XX:PermSize=256m

-XX:MaxPermSize=256m

tomcat线程的设置:初始产生1000线程数最大支持2000线程

maxThreads="4000" minSpareThreads="1000" maxSpareThreads="2000"

enableLookups="false"

redirectPort="8443" acceptCount="2000"

connectionTimeout="20000" disableUploadTimeout="true" />

需要显示的JSP页面:index.jsp

==========================================================

test---tomcat

<%

System.out.println("===========================");

System.out.println("===========================");

System.out.println("===========================");

System.out.println("===========================");

System.out.println("==========================="); %>

=============================================================

类似于静态页面,以此来判断tomcat支持的最大的并发用户数量

使用loadrunner设置1000并发用户数进行压力测试。每两秒钟增加一个用户,以此递增,直至1000后,然后再按照两秒钟一个用户递减直至用户数位0.

测试结果:

Transaction Response Time Under Load

1可以看到在达到600用户同时在线的时候,系统响应时间为6秒钟

100人-----响应时间0.8秒完美

150人-----响应时间1秒完美

200人-----响应时间1.5秒响应时间有微小波动比较完美

250人-----响应时间1.8秒比较完美(此时是理想情况下最大的并发用户数量)

280人-----开始出现连接丢失问题,连接开始不稳定

300人-----响应时间3秒响应时间有较大波动峰值为6秒较差

350人-----响应时间3秒开始大量出现连接丢失问题连接很不稳定

400人-----响应时间3.8秒连接丢失数量达到3000次以上

450人-----响应时间4秒连接丢失数量达到6000次以上

500人-----响应时间4秒连接丢失数量达到11000次以上

550人-----响应时间6秒连接丢失数量达到21000次以上

600人-----响应时间6秒连接丢失数量达到25000次以上

600人开始系统出现异常情况,因此停止测试。测试数据到此为止。

每秒的点击次数:

虚拟用户递增情况:

测试过程中成功和失败的响应结果:

总结:实际情况建议最大并发量在200以下

LoadRunner之并发用户数与迭代关系

Q1: 例如在LR里,要测100个用户同时并发登陆所用时间,是不是在录制好脚本后,需要参数化“用户名”,“密码”以及在那个记事本里构造100个真实的用户名和密码?然后运行Controller,设置用户数为100? A:说的是对的。但是测并发数的时候,本身就是模拟的虚拟用户,所以认为不一定非要参数化100个用户,用一个用户跑100遍也是可以的。当然这样进行设置的话更符合实际情况。Q2:那么这里的迭代次数该怎么设啊,设成1和设成10有什么区别啊?搞不清测试并发用户,“迭代”和“并发用户数”(就是controller里设的虚拟用户数)的区别。 A: 迭代次数如果设置为1,那么你的脚本就只跑100遍(续Q1),如果你设置为100,那么当你设置并发数为100,那么脚本就要跑100*100=10000 遍。当然这种情况是在没有设置Conrtoller中的durantion,如果设置了这个场景的持续时间,那么你运行的场景时间就以这个时间结束为准,和迭代次数就没有关系了。 Q3:假如用LR测100个用户同时注册一个网站的帐号,参数化了100个用户名和密码,那么跑一遍脚本,并跑通了,并在controller里也run了一遍,那么这100个新增帐号是不是就真在数据库里添加了啊? A:是的,如果脚本没问题的话,那么数据库里肯定会有100条记录的。可以自己查看数据库,或者访问你录制的脚本网站,都能看到相应的记录。 Q4:对于并发数更多的情况下呢,例如并发数是1000,那是不是应该在多个机器上运行才可以阿? A:不一定啊,如果你有条件的话,当然多台机器运行得出的结果更为准确,但是用LR如果是录制web应用程序的话,最大并发数可以到10000的。

tomcat集群

用apache和tomcat搭建集群,实现负载均衡 一、集群和负载均衡的概念 (一)集群的概念 集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故障恢复能力。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互连,每个群集节点都是运行其自己进程的独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据。除了作为单一系统提供服务,集群系统还具有恢复服务器级故障的能力。集群系统还可通过在集群中继续增加服务器的方式,从内部增加服务器的处理能力,并通过系统级的冗余提供固有的可靠性和可用性。 (二)集群的分类 1、高性能计算科学集群: 以解决复杂的科学计算问题为目的的IA集群系统。是并行计算的基础,它可以不使用专门的由十至上万个独立处理器组成的并行超级计算机,而是采用通过高速连接来链接的一组1/2/4 CPU的IA服务器,并且在公共消息传递层上进行通信以运行并行应用程序。这样的计算集群,其处理能力与真正超级并行机相等,并且具有优良的性价比。 2、负载均衡集群: 负载均衡集群为企业需求提供更实用的系统。该系统使各节点的负载流量可以在服务器集群中尽可能平均合理地分摊处理。该负载需要均衡计算的应用程序处理端口负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了大量入网流量,无法迅速处理,这就需要将流量发送给在其它节点。负载均衡算法还可以根据每个节点不同的可用资源或网络的特殊环境来进行优化。 3、高可用性集群: 为保证集群整体服务的高可用,考虑计算硬件和软件的容错性。如果高可用性群集中的某个节点发生了故障,那么将由另外的节点代替它。整个系统环境对于用户是一致的。 实际应用的集群系统中,这三种基本类型经常会发生混合与交杂。 (三)典型集群 科学计算集群: 1、Beowulf 当谈到Linux 集群时,许多人的第一反映是Beowulf。那是最著名的Linux科学软件集群系统。实际上,它是一组适用于在Linux 内核上运行的公共软件包的通称。其中包括流行的软件消息传递API,如“消息传送接口”(MPI) 或“并行虚拟机”(PVM),对Linux 内核的修改,以允许结合几个以太网接口、高性能网络驱动器,对虚拟内存管理器的更改,以及分布式进程间通信(DIPC) 服务。公共全局进程标识空间允许使用DIPC 机制从任何节点访问任何进程。 2、MOSIX Beowulf类似于给系统安装的一个支持集群的外挂软件,提供了应用级的集群能力。而MOSIX 是彻底修改Linux的内核,从系统级提供了集群能力,它对应用而言是完全透明的,原有的应用程序,可以不经改动,就能正常运行在MOSIX系统之上。集群中的任何节点都可以自由地加入和移除,来接替其它节点的工作,或是扩充系统。MOSIX 使用自适应进程负载均衡和内存引导算法使整体性能最大化。应用程序进程可以在节点之间实现迁移,以利用最好

Tomcat集群与负载均衡

Tomcat集群与负载均衡(转载) 在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器终究无法满足需要处理的负荷量,所以就有点显得有点力不从心了。另外一个常见的问题是会产生单点故障,如果该服务器坏掉,那么网站就立刻无法运作了。不论是因为要有较佳的扩充性还是容错能力,我们都会想在一台以上的服务器计算机上执行WEB应用程序。所以,这时候我们就需要用到集群这一门技术了。 在进入集群系统架构探讨之前,先定义一些专门术语: 1. 集群(Cluster):是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。 2. 负载均衡(Load Balance):先得从集群讲起,集群就是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同硬件构成的计算机。如一个提供Web服务的集群,对外界来看是一个大Web服务器。不过集群的节点也可以单独提供服务。 3. 特点:在现有网络结构之上,负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。集群系统(Cluster)主要解决下面几个问题: 高可靠性(HA):利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。 高性能计算(HP):即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等。 负载平衡:即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。 目前比较常用的负载均衡技术主要有: 1. 基于DNS的负载均衡 通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。 2. 反向代理负载均衡(如Apache+JK2+Tomcat这种组合) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。 3. 基于NAT(Network Address Translation)的负载均衡技术(如Linux Virtual Server,简称LVS)

FineReport关于tomcat集群部署的方案

FineReport关于tomcat集群部署的方案

多台服务器集群后,配置权限、数据连接、模板、定时调度等,只能每台服务器一个个配置,不会自动同步到所有服务器。 针对上述情况,在FineReport中提供新集群部署插件,将xml配置文件、finedb/logdb 数据(定时任务、报表目录管理、批量导入、统计信息)的修改都对主机生效。其他辅机的信息读取也都从主机读取,保证了数据同步。 实现了灾备,即主机当即后,次主机会上位接替主机的工作,保证系统正常运作。 同时还增加了集群灾备之文件同步,会将主机的finedb、xml、模板、jar包、插件等等备份到其他节点的应用上。支持可以手动同步和自动同步。 插件介绍 设计器插件、服务器插件安装好之后,新集群部署,有主机、次主机、辅机之分,配置文件都从主机读取,辅机只能用作计算引擎分担压力,有点事当改配置文件的时候,不需要每个节点都去修改,直接改主机即可。 分布式集群 分布式集群文件系统:每台计算机各自提供自己的存储空间,并各自协调管理所有计算机节点中的文件。 这里测试修改主机的报表管理目录树平台标题,然后可以看到辅机会同步修改的配置。其中报表管理目录树存在finedb中,平台样式的平台标题存在fsconfig.xml中。 ?环境准备设置tomcat1、tomcat2、tomcat3集群,tomcat1为主机,tomcat2为辅机,tomcat3为次主机,tomcat集群。 WebReport工程分别放在tomcat下的webapps文件夹里 配置文件集群配置完成之后,修改将配置包resource文件夹下的cluster.xml打 开,如果没有这个文件的话,就新建一个,基本内容如下:

系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式 2013-02-21 19:47139692人阅读评论(2)收藏举报 分类: 软件工程(25) PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务数量 并发数:系统同时处理的request/事务数 响应时间:一般取平均响应时间 (很多人经常会把并发数和TPS理解混淆) 理解了上面三个要素的意义之后,就能推算出它们之间的关系: QPS(TPS)= 并发数/平均响应时间或者并发数= QPS*平均响应时间一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员上登录签到系统的时长为5分钟。可以用下面的方法计算。 QPS = 1000/(30*60) 事务/秒

平均响应时间为= 5*60 秒 并发数= QPS*平均响应时间= 1000/(30*60) *(5*60)=166.7 一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。 决定系统响应时间要素 我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。 系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间; 关键路径是有CPU运算、IO、外部系统响应等等组成。 二.系统吞吐量评估: 我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。 而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。 通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。 通常的技术方法: 1. 找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)

windows下Tomcat负载均衡和集群配置

轻松实现Apache,Tomcat集群和负载均衡 作者:罗代均 ldj_work#https://www.360docs.net/doc/2b9576604.html,,转载请保持完整性 0,环境说明 Apache :apache_2.0.55 1 个 Tomcat: apache-tomcat-5.5.17 (zip版) 2个 mod_jk:: mod_jk-apache-2.0.55.so 1个 第一部分:负载均衡 负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理 1.安装apche,tomcat https://www.360docs.net/doc/2b9576604.html,/下载Apache 2.0.55 https://www.360docs.net/doc/2b9576604.html,/download-55.cgi下载tomcat5.5 zip版本(解压即可,绿色版) https://www.360docs.net/doc/2b9576604.html,/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/下载mod_jk,注意和 apache版本匹配 按照jdk,我的路径为:E:\ide\apache\Apache2 解压两份Tomcat, 路径分别为 E:\ide\tomcat1,E:\ide\tomcat2

下载mod_jk

2.修改Apache配置文件http.conf 在apache安装目录下conf目录中找到http.conf 在文件最后加上下面一句话就可以了 include "E:\ide\apache\Apache2\conf\mod_jk.conf"

2. http.conf 同目录下新建mod_jk.conf文件,内容如下 #加载mod_jk Module LoadModule jk_module modules/mod_jk-apache-2.0.55.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器JkMount /*.jsp controller 3.在http.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=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多

系统吞吐量(TPS)、用户并发量、性能测试概念和公式

系统吞吐量(TPS)、用户并发量、性能测试概念和公式 PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务数量 并发数:系统同时处理的request/事务数 响应时间:一般取平均响应时间 (很多人经常会把并发数和TPS理解混淆) 理解了上面三个要素的意义之后,就能推算出它们之间的关系: QPS(TPS)= 并发数/平均响应时间 一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。 决定系统响应时间要素 我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。

系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间; 关键路径是有CPU运算、IO、外部系统响应等等组成。 二.系统吞吐量评估: 我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。 而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。 通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。 通常的技术方法: 1. 找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外) 2. 通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量。B2B中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的TPS和PV关系比例也不一样。 A)淘宝 淘宝流量图:

TOMCAT可以稳定支持的最大并发用户数

TOMCAT可以稳定支持的最大并发用户数 服务器配置: 单硬盘,SATA 8MB缓存 测试服务器和loadrunner运行服务器位于同一网段--100MB网络(同一交换机)上,排除网络问题的影响 服务器运行始终,CPU使用率非常低没有超过5% 因此虽然服务器配置低,但是不是性能瓶颈所在 服务器运行在windows server 2003 sp2中文版(正版系统) tomcat内存的设置:1.4GBJVM+256MB的池 set JAVA_HOME=C:\JAVA\JDK15 set CATALINA_OPTS=-server -Xms 1400m -Xmx1400m -XX:PermSize=256m -XX:MaxPermSize=256m tomcat线程的设置:初始产生1000线程数最大支持2000线程 需要显示的JSP页面:index.jsp ==========================================================

test---tomcat <% System.out.println("==========================="); System.out.println("==========================="); System.out.println("==========================="); System.out.println("==========================="); System.out.println("==========================="); %> ============================================================= 类似于静态页面,以此来判断tomcat支持的最大的并发用户数量 使用loadrunner设置1000并发用户数进行压力测试。每两秒钟增加一个用户,以此递增,直至1000后,然后再按照两秒钟一个用户递减直至用户数位0. 测试结果: Transaction Response Time Under Load 1可以看到在达到600用户同时在线的时候,系统响应时间为6秒钟 100人-----响应时间0.8秒完美 150人-----响应时间1秒完美 200人-----响应时间1.5秒响应时间有微小波动比较完美 250人-----响应时间1.8秒比较完美(此时是理想情况下最大的并发用户数量)

Nginx Tomcat 配置负载均衡集群

一、Hello world 1、前期环境准备 1.准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章《一台机 器同时启动多个tomcat》。 2.nginx官网下载解压版nginx。 3.创建一个简单的web项目。为了直观的区分访问的哪个tomcat,在页面写上标记 8081、8082。 [MISSING IMAGE: , ] 4.分别部署到对应的tomcat下。如图: [MISSING IMAGE: , ] [MISSING IMAGE: , ] 2、配置nginx 进入nginx-1.10.1conf路径,修改配置文件nginx.conf。 1、配置服务器组,在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢) upstream nginxDemo { server 127.0.0.1:8081; #服务器地址1 server 127.0.0.1:8082; #服务器地址2

2、修改nginx监听的端口号80,改为8080。 server { listen 8080; ...... } 3、在location{}中,利用proxy_pass配置反向代理地址;此处“http://”不能少,后面的地址要和第一步upstream定义的名称保持一致。 location / { root html; index index.html index.htm; proxy_pass http://nginxDemo; #配置方向代理地址 } 如下图: [MISSING IMAGE: , ] 3、启动nginx和tomcat,访问 我是Windows系统,所以直接在nginx-1.10.1目录下双击nginx.exe即可。 可在任务管理器中查看

linux下TOMCAT集群(proxy)安装文档

Linux下TOMCAT集群安装文档 1版本 Apache:httpd-2.2.21 Tomcat:apache-tomcat-6.0.18 2集群方式 使用Apache R-proxy方式 3 TOMCAT安装 上传apache-tomcat-6.0.18到服务器 Cd apache-tomcat-6.0.18 mkdir logs chmod 755 logs cd bin chmod 755 *.sh 启动:./startup.sh 关闭:./shutdown.sh 4 apache安装(源码安装方式) cd /usr/local/ mkdir apache2.2.21 上传httpd-2.2.21.tar.gz到服务器路径下 tar -zxvf httpd-2.2.21.tar.gz ./configure --prefix=/usr/local/apache2.2.21 --enable-mods-shared=most Make(编译) make install(安装)

5配置httpd.conf(假设需要更改监听的端口) 以下是列出两个需要修改的地方: ServerName 127.0.0.1:9008 Listen 9008 6启动 cd apache2.2.21/bin/ ./apachectl start 在浏览器中输入http://127.0.0.1/ 就可以看到 It works! 7安装mod_proxy.so和mod_proxy_ajp.so,mod_proxy_balancer .so模块 Cd /usr/local/apache2.2.21/httpd-2.2.21/modules/proxy /usr/local/apache2.2.21/bin/apxs -i -a -c mod_proxy.c proxy_util.c /usr/local/apache2.2.21/bin/apxs -i -a -c mod_proxy_ajp.c ajp*.c /usr/local/apache2.2.21/bin/apxs -i -a -c mod_proxy_balancer.c 安装成功后,可以到/usr/local/apache2.2.21/conf 查看文件httpd.conf 是否安装成功 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 8配置httpd.conf集群 #snail add 20111027 proxy配置信息

Tomcat6+Apache2.2集群配置说明文档

Tomcat6+Apache2.2集群配置说明文档 yysy2000@https://www.360docs.net/doc/2b9576604.html, 2009-7-24 准备工作: 注:可点击链接直接下载相应的文件。 JDK 免述,这个要是搞不定,直接回家种地吧。本文使用1.6.0_13 Tomcat版本号:apache-tomcat-6.0.18.zip Apache版本号:apache_2.2.11-win32-x86-openssl-0.9.8i 另外:tomcat-connectors-1.2.28-src.zip(apache网站tomcat项目下有下载)mod_jk-1.2.28-httpd-2.2.3.so(2.2.3适合于apache2.2.x版本) 程序安装: 1.正常安装apache(默认安装到C:\Program Files\Apache Software Foundation\Apache 2.2 目录下) 2.解压缩apache-tomcat-6.0.18.zip到C:\Program Files\Apache Software Foundation\Tomcat6.0目录下,解压完毕后,重命名tomcat6.0_1, 3.复制tomcat6.0_1文件夹,重命名为tomcat6.0_2 4.拷贝mod_jk-1.2.28-httpd-2.2.3.so 到Apache2.2/modules目录下 5.解压tomcat-connectors-1.2.28-src.zip,拷贝tomcat-connectors-1.2.28-src\conf文件夹中的 workers.properties 到Apache2.2/conf 目录下(该文件中配置用于集群的Tomcat信息) tomcat配置: 注:以下配置使用端口号可自行定义,只要不和系统中已经使用的端口号冲突即可。 1.conf文件夹下的server.xml文件作如下修改: 1)更正SHUTDOWN端口(两个tomcat分别使用8005和8006) 2)HTTP1.1的connector可以关闭不使用(由apache调度),也可以不关闭(亦可访 问响应端口,即不通过apache调度,设定的端口不应与其他端口重复)。 3)更正AJP1.3端口(两个tomcat分别使用8090和8091),redirectPort亦应不同(分 别使用8443和8444)。 4)替换原来的engine标签,设置jvmRoute的路径以支持通过AJP的负载均衡(不同

系统吞吐量(tps)、用户并发量、性能测试概念和公式

近期在做项目的性能测试和性能优化,先了解与性能相关的一些概念。 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。 单个reqeust对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request/事务数量 并发数:系统同时处理的request/事务数 响应时间:一般取平均响应时间 (很多人经常会把并发数和TPS理解混淆) 理解了上面三个要素的意义之后,就能推算出它们之间的关系: QPS(TPS)=并发数/平均响应时间 一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。 决定系统响应时间要素 我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。 系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间; 关键路径是有CPU运算、IO、外部系统响应等等组成。 二.系统吞吐量评估: 我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。 而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。

用apache和tomcat搭建集群,实现负载均衡

型的企业应用每天都需要承受巨大的访问量,在着巨大访问量的背后有数台服务器支撑着,如果一台服务器崩溃了,那么其他服务器可以使企业应用继续运行,用户对服务器的运作是透明化的,如何实现这种透明化呢?由如下问题需要解决。 一.Session的复制 二.如何将请求发送到正常的服务器 针对以上问题,可以使用群集和负载均衡来解决,整体架构如下: (图片来自:https://www.360docs.net/doc/2b9576604.html,) 中间由一台服务器做负载均衡(Load Balancer),它将所有请求,根据一定的负载均衡规则发送给指定的群集服务器(Cluster),群集服务器拥有着相同的状态和相同的应用程序,并且他们的Session是相互复制的,这样,不管访问哪台服务器都具有相同的结果,即使一台服务器崩溃掉以后,可以由其他集群服务器继续负责应用程序的运行。 Tomcat中如何配置群集我们假设有如下场景,一台负载均衡服务器负责请求的均衡,群集服务器A和群集服务器B组成一个群集,当某个群集服务器崩溃后,另外一台继续负责应用程序的运行。 一.配置Tomcat5.5.12群集服务器A 修改Tomcat配置文件server.xml

1.群集服务器A的端口号与B不冲突,即使Server Port,Connector,Coyote/JK2 AJP Connector的端口号唯一2.在Host元素下增加以下内容: 3.修改Web应用程序配置文件web.xml 在web.xml文件中元素下增加以下内容:

并发用户数与服务器硬件配置参考

注册用户总数(Domino Mail Server) Domino服务器上的注册用户总数。可以根据现有的Mail Server或者目前用户的人数评估来确定。 峰值并发访问比(Domino Mail Server) 峰值并发访问比能用"show server status"命令在管理终端查看。可以根据目前的Mail Server系统在同一时间内并发访问百分比来确定,可以以用户数的50~60%为起点来评估。 Mail数据库的平均大小(Domino Mail Server) 用管理终端来确定在Domino服务器上传送的Mail的平均大小。每个用户的Domino Mail 数据库定为100MB。 记录Domino的服务(Email,日历和行程,Web Server以及其他服务) 确定Domino服务器上最初的应用。如果不能确定,可以根据未来的应用进行评估。 客户端类型(Notes, IMAP4, SMTP/POP, 浏览器以及其他客户端) 根据原有的Email格式来确定。Notes是一个基本的Mail /日历/行程客户端,将它安装在一个工作站以便于在Domino服务器上存取信息。IMAP4是运用最早的C/S结构的Mail和MIME处理。POP3同样是旧的C/S结构的Mail系统,运用用工作站到服务器取回Mail的形式。例如Netscape和Eudora的POP3客户端。WebMail采用InternetExplorer和Netscpae浏览器的方式阅读邮件。 网络拓扑 鉴别使用Domino的网络类型。支撑网络服务的是NetWare和TCP/IP。 别的Notes/Domino数据库大小(discussion, applications, Web servers以及其他应用)以这些信息能确定CPU,磁盘空间,内存。 注意:并发的定义为同一时间内登入和访问系统的用户总数。如果Domino的主要应用是 e-mail,典型的峰值并发数一般在注册用户数的20%~30%之间。推荐加上额外的5%~10%来确保足够的配置进行评估。估算并发用户数25%的用户数。 4000注册用户的并发用户数为1000×25%=1000用户。 CPU 并发用户为1,000个。考虑终端响应时间小于5秒,根据以往的经验和测试结果,按每笔并发用户访问对应计算机处理的平均事务数为 2 次计算,并考虑到30%的冗余,则用户管理系统

Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册

Linux平台Apache双机高可用集群 + Tomcat负载均衡集群配置手册

在这个配置手册中,使用的操作系统和软件清单如下: 操作系统: RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装) 软件: jdk-1_5_0_15-linux-amd64.bin Tomcat5.5.26 httpd-2.0.63.tar.gz jakarta-tomcat-connectors-jk2-src-current.tar.gz ipvsadm-1.24.tar.gz libnet.tar.gz heartbeat-2.1.3-3.el4.centos.x86_64.rpm heartbeat-pils-2.1.3-3.el4.centos.x86_64.rpm heartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm 因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。 jdk-1_5_0_15-linux-amd64.bin JAVA环境包使用的是64位1.5版 Tomcat版本为公司指定的5.5版本 Apache为2.0.63版 jakarta-tomcat-connectors-jk2-src-current.tar.gz 是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载 ipvsadm-1.24.tar.gz libnet.tar.gz 这两个是用于2台Apache服务器虚拟一个IP地址使用 heartbeat-2.1.3-3.el4.centos.x86_64.rpm heartbeat-pils-2.1.3-3.el4.centos.x86_64.rpm heartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm 这3个软件是用于2台Apache服务器之间的心跳检测

并发连接数

“并发连接数”指导防火墙选型 并发连接数是防火墙最常见的参数,是防火墙、代理服务器等设备的主要性能指标之一。在目前市面上常见防火墙设备的说明书中大家可以看到,从低端设备的500、1000个并发连接,一直到高端设备的数万、数十万并发连接,存在着好几个数量级的差异。那么,并发连接数究竟是一个什么概念呢?它的大小会对用户的日常使用产生什么影响呢?现在,笔者将就这几个问题做一些比较深入的分析与探讨。 一、什么是并发连接数 并发连接数是指防火墙或代理服务器对其业务信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目,它反映出防火墙设备对多个连接的访问控制能力和连接状态跟踪能力,这个参数的大小直接影响到防火墙所能支持的最大信息点数。 需要阐明的一点是,“连接”和“点对点连接”并没有局限于狭义的TCP连接(Connection-Oriented)或信息点—信息点通信(Point-Point Communication),而是泛指IP层或IP层以上各种传输层、会话层和应用层的信息流,所以它同样也包括了UDP会话; 另外,多址广播组的通信同样也被按照多播源(多播组地址)的形态归纳成一个连接进行处理。 二、并发连接表中的内容 并发连接表是防火墙用以存放并发连接信息的地方,它可在防火墙系统启动后动态分配进程的内存空间,其大小也就是防火墙所能支持的最大并发连接数。不同的厂家在各自的防火墙设备中对该数据表有不同的数据结构实现,但从普遍意义上来看,基于状态检测的防火墙并发连接表中每一个表项至少包含以下内容:源IP地址、源端口号、目的IP地址、目的端口号、协议类型、连接状态、流量统计和时间戳信息、NAT 转换信息、连接许可信息、身份认证信息和VPN通道相关信息(如果支持VPN的话)。由于表项中容纳了大量的连接信息,因此每个表项可能占用200~400字节的内存空间,这对防火墙系统的整个内存资源来说是一个不容忽视的消耗。 三、对系统性能的影响

Tomcat集群搭建

本文Apache+Tomcat集群配置基于apache tomcat6.0.35 和apache http server 2.2实现均衡负载 准备环境 Apache Apache是http服务器,我们利用其对Tomcat进行负载均衡。目前最新版本为2.2.?,下载地址为https://www.360docs.net/doc/2b9576604.html,/download.cgi#apache22。如下图: 目前已经出现Apache2.3.11,但是为beta版本,所以没有使用。 下载后直接安装msi即可,如果没有其他的http服务器(如iis)则应该可以成功安装,端口即为80,能够访问http://localhost/说明安装成功。建议不要监听80端口,因为有时候80端口已经被IIS服务器给占或者其他软件被占的话,apache server是安装不成功的(这样会报错:Address already in use: make_sock: could not bind to port 80/443…)。如果想改监听的端口,请修改httpd.conf,找到:listen 80 改成 listen 8080即可监听8080端口 Tomcat Tocmat7目前已经出现稳定版本的7.0.12,Tomcat6则为6.0.32。经我测试,这2个版本的Apache负载均衡配置过程都是一样的,因此下面的配置在Tomcat6或7集群是通用的。但是按照下面的配置,集群中Tomcat不能既有Tomcat6又有Tomcat7,否则虽能够负载均衡,但不能进行session复制,不知其他方式配置的集群是否可以。

Tomcat就不用怎么介绍了。既然在本地需要多个节点,那么需要下载ZIP 版本的Tomcat。 JK JK是Tomcat提供给http服务器的插件(个人理解的),下载地址为 https://www.360docs.net/doc/2b9576604.html,/apache/tomcat/tomcat-connectors/jk/binaries /windows/。如下图:(请下版本号能对应的so) 这里选择的是mod_jk-1.2.31-httpd-2.2.3.so,如果http服务器是Apache2.0.X版本,则必须选择mod_jk-1.2.31-httpd-2.0.52.so,页面下方有英文的说明,大家可以看下。 其实我也在网上看到Apache2.2已经集成Tomcat插件模块了,可以不用JK 插件就可以实现Tomcat负载均衡,但也需要一些配置,而JK这个配置相比也不复杂,就先记录下来。 配置过程 下面就直接写过程了,我也是网络上学习的,只是总结下过程并且利用最新的Apache和Tomcat测试了下,还是与网络上有些不同的。 修改Apache配置 1、修改httpd.conf

相关文档
最新文档