码迷,mamicode.com
首页 > 数据库 > 详细

PLSQL_性能优化系列15_Oracle Connection Management连接管理

时间:2014-10-14 22:50:39      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   io   os   使用   ar   java   

2014-09-25 BaoXinjian

bubuko.com,布布扣一、摘要


在官方文档《oracle performance tuning guide》中提到Connecting to the database is an expensive operation that is highly unscalable。

数据库的连接操作是昂贵的,且难以扩展(支持大量并发)。

感觉上一个数据库登录操作是瞬间的事,它有多昂贵呢?

简单说,监听器收到远程连接请求后,转给server process;

对于每个session数据库都会生成一个server process,要为session分配内存,要进行鉴权、审计

另外在一个session中,可以采用一些方法重用游标,

例如PLSQL程序,

所有static sql都是被cache的,重复调用时不会进行soft parse;

有时可以设置session_cached_cursor参数减少soft parse。

因此如果一个程序使用短连接,频繁logon/logoff,是无法用到这些特性的。这是短连接的另一坏处。

尽管这是个很简单易懂的问题,但设计人员还是应该有‘连接管理‘的概念,避免短连接的危害。在某个在用生产系统上,我们还是能看到短连接:

grep ‘<txt>22-OCT-2012 14:47‘ log.xml|wc

102 1220 18141

每分钟100多个连接,光是处理连接请求,可能就消耗了半个cpu。

 

bubuko.com,布布扣二、连接管理


那么应用设计中该怎样进行连接管理呢

(1) 简单的应用,或者c/s结构的应用,在启动应用(界面打开)时建立连接,应用关闭时才终止连接。这样正常情况下,一个终端1天才发起1-2次连接。

(2) Java程序可以使用连接池,能够在多个线程间共享。

(3) 目前大多数系统采用中间件(websphere、weblogic),使用连接池(connection pool),每发起请求时,从连接池中获取连接句柄,不需要不断建立新连接。

PLSQL_性能优化系列15_Oracle Connection Management连接管理

标签:des   style   blog   color   io   os   使用   ar   java   

原文地址:http://www.cnblogs.com/eastsea/p/3980988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!