Weblogic81中HttpCompleteMessageTimeout相关的两个异常
2009-09-22 00:00:00 来源:WEB开发网BEA-101326通常跟网络性能有关系(60秒内,4k的数据无法发送完成),首要解决方法就是调优网络。从weblogic方面来看,我们可以通过调整如下两个参数来解决这个问题,但这不是解决问题的关键。
1:增加HttpCompleteMessageTimeout,最大值为480秒
2:减小weblogic.ChunkSize
至于BEA-101083,通常是因为客户端发送的请求数据不能在HttpCompleteMessageTimeout内完成,常见的两种情况是:性能很差的网络环境、黑客攻击(连续的向服务器写入数据,但每次写入很少的数据,例如,10bytes/secs或更少)。客户端数据读取超时是通过SocketMuxer.TimeoutTrigger实现的。这个trigger同时还负责IdleTimeout(KeepAlive的 HttpConnection的Duration,默认为30秒)。
1 /*package*/ final int checkTimeout(long idleTimeout, long msgTimeout) {
2 int status = OKAY;
3 long interval;
4 synchronized (this) {
5
6 if (messagePending()) {
7 if (msgTimeout <= 0) return OKAY;
8 /*
9 *get time left for reading message from client. When SocketMuxer begins reading packets
10 *from http connection. System.currentTimeMills() is recorded info SocketInfo as lastMessageReadingStartedTimeMillis
11 *and in getMessageIntervalMillis(), it returns (System.currentTimeMills() - info.lastMessageReadingStartedTimeMillis)
12 *If reading finishes in time, SocketMuxer will set messagePending to false.
13 */
14 interval = getMessageIntervalMillis(msgTimeout);
15 if (interval <= msgTimeout) return OKAY;
16 status = MSG_TIMEOUT;
17 } else {
18 //idle timeout is checked here
19 }
20 //for MuxableSocketHttp, ms.requestTimeout() is always true, i.e., timeout affects such connection
21 if (!ms.requestTimeout()) return OKAY;
22 setCloseOnly();
23 }
24 return status;
25 }
Tags:Weblogic HttpCompleteMessageTimeout 相关
编辑录入:爽爽 [复制链接] [打 印]- ››WebLogic调整Java虚拟机性能优化参数
- ››weblogic92连接池的连接数异常问题
- ››Weblogic中几个internal的XA timeout(状态切换相关...
- ››Weblogic中因为IP变更导致SubCoordinator not ava...
- ››Weblogic中的load banlance问题
- ››Weblogic81中HttpCompleteMessageTimeout相关的两...
- ››Weblogic执行transaction recover碰到的奇怪问题
- ››Weblogic session persistence的性能的问题
- ››Weblogic 8.1 for Linux ES3.0安装与配置
- ››Weblogic 8.1 for Linux ES3.0安装配置
- ››Weblogic中使用持久缓存技术优化CMP性能
- ››WebLogic运用DB的Java控件访问数据库
更多精彩
赞助商链接