日期:2014-05-16  浏览次数:20483 次

关于大负载高并发WEB系统的数据库优化
对于大负载高并发的WEB系统,数据库优化将不可避免,那么优化的方法有哪些方面呢?我认为可以从下面几点来进行:提高处理速度,提高系统的并发能力。


提高处理速度:

无论哪一种数据库dbms(mysql,oracle,mssql,db2,Postgres等等),再怎么优化,最终也避不开与慢速的存储介质(硬盘、磁带)进行数据交换,但往往一旦涉及到了存储介质的io操作,存取性能就会急剧下降。

另外,数据库会在以下情况下会出现访问瓶颈:
a、事务操作     企业级的数据库(比如mysql的innodb模式)都支持事务操作。由于事务具有原子性,事务中涉及的数据表在运行过程中将会加锁。在这种情况下,访问这些表的数据会出现延迟。
b、数据更新     数据库中任何的表在数据更新过程中,同样会被加锁。在这种情况下,也会出现上面同样的结果。

这时应该前应用和数据库中间加一层缓存系统,因为缓存系统的所有数据全部都是在内存中进行的,所以存取数据的效率非常高。



提高系统的并发能力:可以进行数据库集群,读写分离,横向或纵向分库、分表等方法,来提高数据库的并发能力,从而提高数据库的性能。