应用数据库典型的三大类性能问题(笔记)

简介:

1、过量的数据库调用

    问题:常见的性能瓶颈来自过量的数据库调用,引发这些问题不一定是SQL查询的Execute()或Update(),而是应用程序与数据库的交互有关,例如,ResultSet操作,常见的问题是指定了过于精细的查询条件,然后使用ResultSet.Next()详细搜寻返回的数据。

    解决办法:从数据库中大量取得所要求的数据,避免应用程序反复回掉数据库。

2、数据库连接池问题
    问题1:连接池资源泄露。
    虽然可以通过WebLogic自带工具、Jprofiler工具或自编工具检测到数据库连接池资源泄露,但是很难再应用程序代码本身准确定位泄露的源头。
    解决办法:仔细分析程序代码,是否没有close()连接?是否遗漏了finally块?或者尽管有close()但并没有成功。
    

    问题2:连接池大小。
    连接池过小会导致连接池满后,新的客户无法连接上系统,在日志中出现错误信息。一般的解决方法是增大连接池。但另一方面,连接池过大会造成资源无效损耗,可能会出现新的性能问题。那么连接池调到多大比较合适呢?

    解决办法

    经验法则1:设置最初池大小=最大池大小。
    经验法则2,数据库连接池数=线程池数*每个线程需要连接数据库的平均数*1.1(1.1的含义是增加10%的峰值期负载),通常每个线程需要连接数据库的平均数是1,即当线程数为120时,数据库连接池数就是132.

3、SQL语句及其索引或锁定属性问题

    问题:SQL语句及其索引或锁定属性不合理可能引发DISKIO过忙(磁盘读/写数据)或者CPU过忙(在内存中索引排序),造成执行时间过长,阻塞线程的执行,最终引发系统挂起或者执行超时引发系统挂起。
    解决方法:优化SQL语句及其索引或锁定属性。













本文转自cqtesting51CTO博客,原文链接: http://blog.51cto.com/cqtesting/1662317,如需转载请自行联系原作者








相关文章
|
7天前
|
存储 安全 搜索推荐
酒店管理系统的数据库的应用以及选择
酒店管理系统数据库关乎运营效率和服务质量。数据库用于数据存储、管理、分析及客户关系管理,确保房态与预订精准。选择时重视性能稳定性、数据安全、易用性、可扩展性和成本效益。合适的数据库能提升酒店运营效率并优化客户体验。
19 2
|
27天前
|
Go 数据库
数据库的实现【笔记】
数据库的实现【笔记】
12 0
|
27天前
|
数据库
数据库设计【笔记】
数据库设计【笔记】
11 0
|
1月前
|
存储 监控 关系型数据库
数据库核心术语解析与应用
数据库核心术语解析与应用
61 0
|
1月前
|
SQL 存储 JSON
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
亲爱的社区小伙伴们,Apache Doris 2.1.0 版本已于 2024 年 3 月 8 日正式发布,新版本开箱盲测性能大幅优化,在复杂查询性能方面提升100%,新增Arrow Flight接口加速数据读取千倍,支持半结构化数据类型与分析函数。异步多表物化视图优化查询并助力仓库分层建模。引入自增列、自动分区等存储优化,提升实时写入效率。Workload Group 资源隔离强化及运行时监控功能升级,保障多负载场景下的稳定性。新版本已经上线,欢迎大家下载使用!
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
|
1月前
|
存储 运维 关系型数据库
数据的力量:构筑现代大型网站之数据库基础与应用
数据的力量:构筑现代大型网站之数据库基础与应用
49 0
|
15天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
3天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
9天前
|
存储 传感器 监控
数据库的应用
数据库广泛应用于电子商务、物流、酒店管理、医疗、航空、教育、政府和物联网等领域,用于高效存储和管理商品信息、订单数据、医疗记录、航班详情等各类数据,提升效率和服务质量。随着技术进步,其应用场景将持续扩展。
10 1
|
16天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。