首页 > 数据库 > Oracle > Oracle 监听优化
问题描述:
在负载较高的业务数据库中,经常会遇到中间件的jdbc连不上数据库的情况。
问题分析:
一般遇到这种问题有两个因素:
1. 有连接风暴,
短时间内app连接暴增,导致监听进程处理不过来,app中间件报连接错误。
2. 数据库有堵塞,
系统响应时间变慢,后续的请求不断地连进来,导致数据库连接暴增。监听进程处理不过来,app中间件报连接错误。
尽管大部分问题都不是监听本身的问题,但是了解监听创建oracle进程的机制有助于解决相关的问题。
根据从主机层面tcp的监控,等待队列太长,会导致每个连接的响应时间=创建连接的时间*等待队列长度。这主要是新进的连接数太多了。
根据truss的日志,发现没有某个特别的指令导致堵塞,监听还在正常工作。但是随着负载的上升,每个指令的时间会加长。在高峰期时,每个连接创建的时间是200ms左右。一秒钟能创建6~8个连接。一分钟大概能够创建360个连接左右。如果超过的话,那么jdbc客户端等待时间过长,就会导致报错。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25105315/viewspace-2132103/ ,如需转载,请注明出处,否则将追究法律责任。