Weblogic session persistence的性能的问题
2009-09-22 00:00:00 来源:WEB开发网看了Thread dump, 发现居然很多线程在等同一lock,如上面的0x159a82a8,而这个lock的holder居然是FileSessionContext.java。看了一下代码,感觉这代码太太那啥了,
FileSessionContext.sync(HttpSession sess)
1 saveTo = getSessionPath(id);
2 synchronized (dirTreeLock) {
3 makeStorageDir(id);
4 os = new DataOutputStream(new FileOutputStream(saveTo));
5 WLObjectOutputStream oos = new WLObjectOutputStream(os);
6 oos.setReplacer(RemoteObjectReplacer.getReplacer());
7 oos.writeObject(data);
8 oos.flush();
9 os.writeLong(data.getLastAccessedTime());
10 oos.close();
11 os.close();
12 }
有了这样的代码,这么差的性能就不足为奇了。同样的代码还出现在loadSession()中。这些原本应该由 FileSessionData(对应于每一个具体的Session)完成的工作,都交给了FileSessionContext去做。 SessionContext是什么,顾名思义,Session的上下文,Session的管理者,同一个WebApp的所有Session都由它管理。原本是个管理者,这里却沦落为工兵。打个比方,老板手下50小兵,每个小兵每天要写100行代码,结果小兵都不干活,都交给老板去做了,老板一天要写 5000行,而且必须串行完成,不带并行干活的。这样的老板谁干,不累死才怪。
Tags:Weblogic session persistence
编辑录入:爽爽 [复制链接] [打 印]- ››WebLogic调整Java虚拟机性能优化参数
- ››Weblogic执行transaction recover碰到的奇怪问题
- ››Weblogic session persistence的性能的问题
- ››weblogic92连接池的连接数异常问题
- ››Weblogic中几个internal的XA timeout(状态切换相关...
- ››Weblogic中因为IP变更导致SubCoordinator not ava...
- ››Weblogic中的load banlance问题
- ››Weblogic81中HttpCompleteMessageTimeout相关的两...
- ››Weblogic 8.1 for Linux ES3.0安装与配置
- ››Weblogic 8.1 for Linux ES3.0安装配置
- ››Weblogic中使用持久缓存技术优化CMP性能
- ››WebLogic运用DB的Java控件访问数据库
赞助商链接