关于产生数据库性能问题的原因
关于产生数据库性能问题的原因有很多,下面是几点:
单一类型事务的响应时间过长。造成这类问题的原因也很复杂,可以从几个方面考虑,1.数据库服务器负载过重,2.数据库的设计比较糟糕,3.单一事务的粒度过大,4.批任务对其他事务造成性能的影响。
并发处理能力差。这类问题主要是由于在并发执行中的某个实例以互斥方式对资源进行访问,造成了其他同类型用户必须等待该实例释放锁定的资源后才能执行。
锁冲突严重。资源锁定会造成数据库事务超时或死锁。而造成死锁必须具备几个条件:1.互斥条件,2.持有并等待条件,3.不可取代条件,4.环等待条件。
目前主流数据库管理系统主要是采用并发控制算法,导致应用系统实际使用时频繁发生死锁。
针对数据库的性能问题,一般的解决步骤有:
1.监视数据库性能相关的数据
2.定位资源占用较大的事务并做出必要的优化或调整
3.定位锁冲突,修改锁冲突发生严重的应用逻辑
4.对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布处理。
单一类型事务的响应时间过长。造成这类问题的原因也很复杂,可以从几个方面考虑,1.数据库服务器负载过重,2.数据库的设计比较糟糕,3.单一事务的粒度过大,4.批任务对其他事务造成性能的影响。
并发处理能力差。这类问题主要是由于在并发执行中的某个实例以互斥方式对资源进行访问,造成了其他同类型用户必须等待该实例释放锁定的资源后才能执行。
锁冲突严重。资源锁定会造成数据库事务超时或死锁。而造成死锁必须具备几个条件:1.互斥条件,2.持有并等待条件,3.不可取代条件,4.环等待条件。
目前主流数据库管理系统主要是采用并发控制算法,导致应用系统实际使用时频繁发生死锁。
针对数据库的性能问题,一般的解决步骤有:
1.监视数据库性能相关的数据
2.定位资源占用较大的事务并做出必要的优化或调整
3.定位锁冲突,修改锁冲突发生严重的应用逻辑
4.对规模较大的数据或者无法通过一般优化解决的锁冲突进行分布处理。
【用邮箱推荐给好友】

