新应用接入OAM一般有以下几种方式
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
Worker的工作原理:Worker 由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求。同样, 为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而MaxClients 设置了同时连入的clients最大总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。MinSpareThreads和 MaxSpareThreads的最大缺省值分别是75和250。这两个参数对Apache的性能影响并不大,可以按照实际情况相应调节。 ThreadsPerChild是worker MPM中与性能相关最密切的指令。ThreadsPerChild的最大缺省值是64,如果负载较大,64也是不够的。这时要显式使用 ThreadLimit指令,它的最大缺省值是20000。Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild 值决定的,应该大于等于MaxClients。如果负载很大,现有的子进程数不能满足时,控制进程会派生新的子进程。默认最大的子进程总数是16,加大时 也需要显式声明ServerLimit(最大值是20000)。需要注意的是,如果显式声明了ServerLimit,那么它乘以 ThreadsPerChild的值必须大于等于MaxClients,而且MaxClients必须是ThreadsPerChild的整数倍,否则 Apache将会自动调节到一个相应值。
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
prefork的工作原理:控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足 MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。
3. 从OAM中生产的Webgate是被嵌入到Apache Server(OHS)中,一般主要有以下的属性:
Max Cache Elements
Cache Timeout (Seconds)
Token Validity Period (Seconds)
Max Connections
Max Session Time (Seconds)
Failover Threshold
AAA Timeout Threshold
当用户访问一个资源(Resource)时,Webgate(Apache Server)会与OAM Server的5575端口建立OAP(Oracle Access Protocol )连接,验证该资源是保护的还是非保护的,或者是其他的一些运算。已经访问过的Resource会被缓存在Apache Server中。
4. 在Webgate中存在两个Max Connections,
一个是在Primary Server List中的Max Number Of Connections,这个是针对webgate实例和oam server实例的最大并发处理连接数量。
另一个是Webgate属性Max Connections,这个是指对webgate实例与整个Primary Server List中的所有oam servers的最大并发处理连接数量,这个值应该设置为大于等于在Primary Server List中所有的Max Number Of Connections之和。
适当地调整这两个参数可控制User访问OAM Server的流量,以发挥OAM Server集群的性能。
5. 另外,需要注意以下两个属性,可控制Webgate与OAM Server的OAP连接的销毁速度,不至于造成大量连接驻留过长,影响OAM Server的性能。
Max Session Time (Seconds):指OAP连接的最大存活时间,默认是3600秒。如果该连接超过这个值,则自动销毁。
AAA Timeout Threshold:指OAP连接的TCP timeout时间,默认是-1,表示使用操作系统的TCP timeout。如果该连接超过这个timeout值,则自动销毁。
这两个值需要和以上的两个Max Connections属性配合使用,以便OAM Server达到最佳性能。
例如:在Primary Server List中只有一个OAM Server,Max Number Of Connections是2,Max Connections为2,当任一时刻有10个用户访问Apache(OHS),则一个Webgate实例最大可产生2个OAP连接与这个OAM Server通信,这两个连接将会被保存起来,其销毁将由Max Session Time (Seconds)和AAA Timeout Threshold属性决定。在下一时刻,该webgate实例将最大产生2个OAP连接与这个OAM Server通信,如此类推,以完成这10个并发用户的访问。
因此,在OAM Server可接受的范围内,可适当调整Max Number Of Connections为4,Max Connections为4,可增加一倍的访问速度。
- Webgate(Apache)方式
- OAM SDK
- Federation
本文主要简述第一种方式。
1. 假设Apache Server(OHS)是工作于worker方式,一般可以用以下的参数来控制用户的访问量,
StartServers 2MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
Worker的工作原理:Worker 由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求。同样, 为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而MaxClients 设置了同时连入的clients最大总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。MinSpareThreads和 MaxSpareThreads的最大缺省值分别是75和250。这两个参数对Apache的性能影响并不大,可以按照实际情况相应调节。 ThreadsPerChild是worker MPM中与性能相关最密切的指令。ThreadsPerChild的最大缺省值是64,如果负载较大,64也是不够的。这时要显式使用 ThreadLimit指令,它的最大缺省值是20000。Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild 值决定的,应该大于等于MaxClients。如果负载很大,现有的子进程数不能满足时,控制进程会派生新的子进程。默认最大的子进程总数是16,加大时 也需要显式声明ServerLimit(最大值是20000)。需要注意的是,如果显式声明了ServerLimit,那么它乘以 ThreadsPerChild的值必须大于等于MaxClients,而且MaxClients必须是ThreadsPerChild的整数倍,否则 Apache将会自动调节到一个相应值。
2. 假设Apache Server(OHS)是工作于prefork方式,一般可以用以下的参数来控制用户的访问量,
StartServers 5MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
prefork的工作原理:控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足 MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。
3. 从OAM中生产的Webgate是被嵌入到Apache Server(OHS)中,一般主要有以下的属性:
Max Cache Elements
Cache Timeout (Seconds)
Token Validity Period (Seconds)
Max Connections
Max Session Time (Seconds)
Failover Threshold
AAA Timeout Threshold
当用户访问一个资源(Resource)时,Webgate(Apache Server)会与OAM Server的5575端口建立OAP(Oracle Access Protocol )连接,验证该资源是保护的还是非保护的,或者是其他的一些运算。已经访问过的Resource会被缓存在Apache Server中。
4. 在Webgate中存在两个Max Connections,
一个是在Primary Server List中的Max Number Of Connections,这个是针对webgate实例和oam server实例的最大并发处理连接数量。
另一个是Webgate属性Max Connections,这个是指对webgate实例与整个Primary Server List中的所有oam servers的最大并发处理连接数量,这个值应该设置为大于等于在Primary Server List中所有的Max Number Of Connections之和。
适当地调整这两个参数可控制User访问OAM Server的流量,以发挥OAM Server集群的性能。
5. 另外,需要注意以下两个属性,可控制Webgate与OAM Server的OAP连接的销毁速度,不至于造成大量连接驻留过长,影响OAM Server的性能。
Max Session Time (Seconds):指OAP连接的最大存活时间,默认是3600秒。如果该连接超过这个值,则自动销毁。
AAA Timeout Threshold:指OAP连接的TCP timeout时间,默认是-1,表示使用操作系统的TCP timeout。如果该连接超过这个timeout值,则自动销毁。
这两个值需要和以上的两个Max Connections属性配合使用,以便OAM Server达到最佳性能。
例如:在Primary Server List中只有一个OAM Server,Max Number Of Connections是2,Max Connections为2,当任一时刻有10个用户访问Apache(OHS),则一个Webgate实例最大可产生2个OAP连接与这个OAM Server通信,这两个连接将会被保存起来,其销毁将由Max Session Time (Seconds)和AAA Timeout Threshold属性决定。在下一时刻,该webgate实例将最大产生2个OAP连接与这个OAM Server通信,如此类推,以完成这10个并发用户的访问。
因此,在OAM Server可接受的范围内,可适当调整Max Number Of Connections为4,Max Connections为4,可增加一倍的访问速度。