2.4 调整了数据源配置后,可明显看到,数据源性能指数有明显的上升,并且,数据库链接获得的稳定性和正确性明显提升。
三:与应用程序相关的数据库链接问题关键点总结:
1.在weblogic中配置数据源时,数据源的名字,绝对不能和应用的名字一样,例如,如果应用程序的名字为zmdswoa的话,那么数据源的名字最好是jdbc-zmdswoa,而不能为zmdswoa,如果重名,weblogic服务器会在加载和创建数据源对象时产生混淆,在一定时候,会造成数据源对象莫名奇妙的销毁,从而获得不了任何数据库链接,而数据源对象在下次重启weblogic服务器之前,都不会自动修复,所以,应用程序中会出现请求数据库连接时NullPointerException异常。修改所有数据源的名字,前面都加上了jdbc-前缀,使之与应用名字zmdswoa和zmdswbgscms不重名,减少了这种weblogic中bug发生
的可能性。
2.在办公系统zmdswoa中潜入了zmdswbgscms应用中的一个滚动图片jsp页面,而且,该页面代码由于代码错误,本来要加载服务器静态图片,但却是每次都需要重新从数据库中查询BLOB二进制流文件,有严重的数据库链接占用和消耗的情况发生;而碰巧,zmdswbgscms和zmdswoa这两个应用是在同一个zmddb数据库实例下,而由于zmdswbgscms应用占用了大量的数据库链接,(默认情况下,oracle服务器端在一个数据库实例下,最多只能有150个数据库链接),假如被zmdswbgscms应用占用了大量的数据库链接,那么zmdswoa应用所对应的数据源将在一段时间后甚至无法获得任何一个可用的链接。修改了zmdswbgscms应用中的读取滚动图片的程序,使之在第二次加载时,直接读取服务器静态图片,而不再重复链接数据库,极大的避免了数据库占用和消耗的情况发生。
3.由于默认的情况下,weblogic服务器只能提供15个并发线程数,而如果出现强并发的情况下,如果超过15个线程,同时请求数据库链接,且将在使用一段时间后才能释放。那么,第16个请求获得数据库链接的线程将无法获得任何可用的数据库链接,只能由weblogic决定在合适的时机重新将使用完毕的数据库链接放回数据源的连接池中,供下个请求使用,所以,加大weblogic的线程数为50,并且一定要略小于最大可用数据库链接数60,才是合适的,防止并发情况下,所有数据库链接都被占用,那么新的请求到来时,将会无任何可用数据库链接可使用。修改了zmdswoa中定时刷新待办事宜页面的程序,尽可能的缩短数据库链接占用时间。
4.尤其是首页的程序,都要进行适量的SQL代码优化,最明显的优化点,如(1)修改所有select * 的地方,改为只选择需要的列,这样,会减少很多数据库链接占用的时间;(2)对于数据量较大的表,尽量优化SQL语句,少用Like,in,not in等耗时的语法,而采用更加高效合理的语法实现数据的查询。主要针对应用首页相关的jsp页面,进行全面的检查和修改,优化。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库weblogic数据源优化调整记录(3)在线全文阅读。
相关推荐: