该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-04
davexin 写道 如果是数据传输量比较大,并发比较大的系统,建议先做压力测试,个人不推崇sessionInView的方式。作完压力测试比较一下就知道结果了。 这坟也挖。。。。
无论怎么样的jsp都会被翻译成servlet 而servlet被请求时会成成一个页面静态文件 (本质上就是一个大字串,out.print("大字串内客")) openinview的数据库连接在生成页面文件后就关闭了。。。 引用 对于那些页面渲染速度很慢,
就是指这个大字串的生成过程时间很长的。。。。 之后传到客户那里的过程用多少秒就不是占用数据库连接了。 。。。。。。。。 |
|
返回顶楼 | |
发表时间:2007-06-06
OpenSessionInView对性能肯定是有一定的影响
既然要在dao中对要render的集合强制初始化。那lazy还有意义吗? 我有一种做法,虽然有点不伦不类,但还是避免了使用OpenSessionInView,也能够在需要时再装载数据,缺点就是在级联更新,删除的时候很不爽 请大家批批 public abstract class AbstractClass{ private Long id; private String name; ..... } public class Class extends AbstractClass{ private Set<Student> students; public Set<Student> getStudents(){ students = DaoFactory.getStudentDAO().findStudentByClsId(this.id); return students; } ... } public abstract class AbstractStudent{ private Long id; private Long classId; ... } public class Student extends AbstractStudent{ private Class cls; public Class getClass(){ cls = DaoFactory.getClassDAO().findById(this.classId) return cls; } public void setClass(Class cls) { this.cls = cls; this.classId = cls.getId(); } ... } |
|
返回顶楼 | |
发表时间:2007-06-06
抛出异常的爱 写道 davexin 写道 如果是数据传输量比较大,并发比较大的系统,建议先做压力测试,个人不推崇sessionInView的方式。作完压力测试比较一下就知道结果了。 这坟也挖。。。。
无论怎么样的jsp都会被翻译成servlet 而servlet被请求时会成成一个页面静态文件 (本质上就是一个大字串,out.print("大字串内客")) openinview的数据库连接在生成页面文件后就关闭了。。。 引用 对于那些页面渲染速度很慢,
就是指这个大字串的生成过程时间很长的。。。。 之后传到客户那里的过程用多少秒就不是占用数据库连接了。 。。。。。。。。 写个jsp,头上搞个时间,底下搞个时间,计算一下输出,然后在网络比较堵塞的情况下访问一下试试 我以前在tomcat5.5.9下面试的结果确实是跟网络有关,网络慢的,这个时间差值越大 我估计还是跟AppServer相关的 |
|
返回顶楼 | |
发表时间:2007-07-03
2005年提出的问题,现在各位有什么好的解决方案了吗?
|
|
返回顶楼 | |
发表时间:2007-07-12
我目前系统采用OpenSessionInView,导致并发量大的时候经常出现连接池耗尽。打算进行改造,请有经验的各位不吝赐教。
|
|
返回顶楼 | |