数据库作为数据持久化的仓库,在整个应用程序架构中异常重要,传统的应用程序构建:
应用程序 + 数据库,在程序运行期,应用程序与数据库的交互,通过连接实现,如果应用程序高并发的连接数据库,此时构成了数据库的负载,负载的概念应该从量化计算的角度进行说明:
活动连接数/秒(每秒的数据库活动连接数);
平均处理时长/连接(每个连接的平均处理时长);
数据库IO,CPU,内存的消耗快照;
oracle本身对单用户的连接数、处理时间、IO、cpu、内存都有默认和确认的配置,应用程序连接受这些因素限制:
配置profile,然后应用至用户下进行限制。
一般来说应用程序要么采用用完即还,要么连接池保持连接复用实现:
如何监控数据库的负载,优化我们的程序呢:
监控本质需要收集性能参数,编写脚本,或者使用工具(依然是脚本),oracle自带的awrrpt.sql可以拿来分析分析