Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3015824
  • 博文数量: 535
  • 博客积分: 15788
  • 博客等级: 上将
  • 技术积分: 6507
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-07 09:11
文章分类

全部博文(535)

文章存档

2016年(1)

2015年(1)

2014年(10)

2013年(26)

2012年(43)

2011年(86)

2010年(76)

2009年(136)

2008年(97)

2007年(59)

分类:

2007-08-27 12:58:19

1
问题:
apache+weblogic,访问压力比较大时,linux的cpu的si(软中断)很高,造成系统负载(LoadAverage)持续增大,系统宕机。
原因:
经查是因为使用了错误的weblogic插件。
apache2.059+weblogic8.15,而插件使用的是weblogic8.12的。

2
问题:
apache+weblogic,访问压力比较大时,apache错误日志中出现大量下面的错误,页面不能访问
[error] CONNECTION_REFUSED [os error=0, line 1487 of ../nsapi/URL.cpp]: 211.99.203.123:7001 errno = 0
排错过程:
 1)修改了apache的最大连接数,问题依旧.
 2)修改了weblogic的执行线程(用于weblogic8,weblogic9自动调整),问题依旧.
 3)增大了weblogic的 AcceptBacklog ,问题依旧.
   有关 AcceptBacklog:
   Start the Administration Server if it is not already running.
   Access the Administration Console for the domain.
   Expand the Servers node in the left pane to display the servers configured in your domain.
   Click the name of the server instance that you want to configure.
   Select the Configuration —> Tuning tab.
   Modify the default Accept Backlog value as necessary to tune how many TCP    connections can be buffered in a wait queue:
During operations, if many connections are dropped or refused at the client, and no other error messages are on the server, the Accept Backlog value might be set too low.
   If you are getting "connection refused" messages when you try to access WebLogic Server, raise the Accept Backlog value from the default by 25 percent. Continue increasing the value by 25 percent until the messages cease to appear.
Click Apply to save your changes.
 4)修改了apache+weblogic的WLSocketTimeoutSecs 的值(默认2秒),问题依旧.
 5)经查,发现linux的系统日志中有大量的如下错误:
  kernel: ip_conntrack: table full, dropping packet.
  IP_conntrack表示连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip- sysctl函数设置。每一个跟踪连接表会占用350字节的内核存储空间,时间一长就会把默认的空间填满,那么默认空间时多少?我以redhat为例在内存为64MB的机器上时4096,内存为128MB是 8192,内存为256MB是16376,那末就能在/proc/sys/net/ipv4/ip_conntrack_max里查看、设置。
例如:增加到81920,可以用以下命令:
echo "81920" >; /proc/sys/net/ipv4/ip_conntrack_max
那样设置是不会保存的,要重启后保存可以在/etc/sysctl.conf中加:
net.ipv4.ip_conntract_max =81920
按照此方法改变后一切正常,要是在满了可以加大其值.
修改了该值,CONNECTION_REFUSED的问题解决了.

3 BEA的文档的相关链接.
 (1)


Keep-Alive Connections Not Supported

Version 1.3.x of the Apache HTTP Server Plug-In creates a socket for each request and closes the socket after reading the response. Because Apache HTTP Server is multiprocessed, connection pooling and keep-alive connections between WebLogic Server and the Apache HTTP Server Plug-In cannot be supported.

(2)

关于增大参数:WLSocketTimeoutSecs 的值








阅读(5197) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~