tengyong
2003-02-18 11:25

在一篇文章看到,提升EJB性能的方法之一

“用"transient"关键字声明不必要的数据变量,替代以前的"public"、"private"等,避免不必要的数据变量占用网络资源。

示例:

public class DemoCMP implements EntityBean {

transient EntityContext entCtx;

transient InitialContext initCtx;

public String id;

public String description;

}

不知道作用如何,是否可行?

iceant
2003-02-18 14:21

transient 是针对 Serializable 来说的。

因为在网络上传输对象要将对象 串化.

如果将对象不需要保存的数据申明为 transient,那么串化系统就会丢掉对象中的这些属性。这样对象的 size 就会小一些,相对占用的网络资源就会小。

希望能帮到你

Jevang
2003-02-19 11:24

Interesting project, though I think for only 200 concurrent users and primary activities on query( not update), I don't perf tuning will be too complicated.

If my understanding is correct, your primary tuning focus should be on database, not app server. if you can affort a large SGA in oracle, do it.

Of course, you should consider using prepared statements, assume the variation of sql syntax are limited.

I think you should try oracle thin driver, it has been working very well for me to support thousands of concurrent users and prepared statements.

If you can limited the return record size for each query, then you have less thing to concern, if you can't force users to give narrow criteria, then you need some control to do incremental fetching.

Too much dynamic allocation/deallocation will be your enemy, for sure no EJB here, you just want to see the data, not triggering rules.

Before you go for clustering, try to identity whether your system is cpu bound, DB bound or memory bound.

Just my two cents.

Good luck

Jevang
2003-02-19 11:27

BTW, clustering setup is straight forward in WL7, if you just need load balancing. If you need fail-over, and you have to use stateful design, then you have more work to do. It would be challange to even most BEA support engineer. Do it earlier.

banq
2003-02-19 14:26

Jevang老兄终于出手了,Jevang是weblogic方面的专家,曾经从事过weblogic server的开发。

8Go 上一页 1 2 3 4 5 ... 8 下一页