ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于mod_oc4j.conf里面的 Oc4jCacheSize 如何配置?

关于mod_oc4j.conf里面的 Oc4jCacheSize 如何配置?

原创 Linux操作系统 作者:wzy25 时间:2019-06-06 21:27:06 0 删除 编辑
曾经在生产环境中遇到一个问题,从而对 Oc4jCacheSize 有了更加深入的理解。


该生产环境的运行架构如下,前面两个F5做硬件负载均衡,后面4个oracle as做集群,通过OHS转发。
整个访问流程就是 客户->f5->OHS->oc4j ,然后返回流程是 oc4j->OHS->F5->客户
ok,流程和环境弄清楚了,说说这个问题

某一天突然出现问题,发现客户无法正常访问oas,检查oas运行的服务器,系统基本没有压力,检查数据库服务器,也基本
没有压力,也没有锁什么的,问题在那里呢?
对oas通过kill -3 做 thread dump,发现所有的thread都作做tcp处理,步确定问题出现在oas+apache身上,
在检查一下apache的 server-status,发现 apache的90%以上的 进程都处于 w状态("W" Sending Reply),
也就是说apache应该直接回给客户的数据一直在发送中,没有结束。那就是网络出现问题了。
一顿检查,总于发现服务器的缺省网关被修改了,正确的应该是指向f5的,结果没有指向f5,导致通过f5进来的请求无法正确的回去,
也就是说这个连接一直保持.最关键的是 Oc4jCacheSize 设成了1 ,那么每一个apache进程都会保持一个oc4j的连接不释放,结果就是oc4j的thread
马上被消耗光了,而apache进程由于网关错误,无法送出应答数据,就导致系统hang了。

那么 Oc4jCacheSize 究竟应该如何设置呢?
正常情况下, Oc4jCacheSize 保持缺省值即可(unix 1,windows32),这样性能是比较好的,毕竟不用每次都去重新建立ajp连接吗,
如果容易出现上面的问题,那么最好把 Oc4jCacheSize设置为0 ,性能差点,但是保险啊。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3618/viewspace-485531/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2001-12-14

  • 博文量
    1011
  • 访问量
    763024