数据库实例优化:日志不能小、缓存足够大、连接要够用! 数据库事务提交后需要将事务对数据页的修改刷( fsync)到磁盘上,才能保证数据的持久性。这个刷盘,是一个随机写,性能较低,如果每次事务提交都要刷盘,会极大影响数据库的性能。数据库在架构设计中都会采用如下两个优化手法:
先将事务写到日志文件RedoLog(WAL),将随机写优化成顺序写
加一层缓存结构Buffer,将每次写优化成顺序写 所以日志跟缓存对数据库实例尤其重要。而连接如果不够用,数据库会直接抛出异常,系统无法访问。
主流数据库架构都有如下的共同点:
数据缓存
SQL解析区
排序内存
REDO及UNDO
锁、LATCH、MUTEX
监听及连接
文件读写性能