PostgreSQL 9.4.4 中文手册 | |||
---|---|---|---|
上一页 | 上一级 | 章 14. 性能提升技巧 | 下一页 |
持久性是数据库的特性,它保证已提交事务的记录,即使是在服务器崩溃或断电的时候。 然而,持久性显著增加了数据库的开销, 所以如果你的网站并不需要这样的保证, PostgreSQL可以被配置为运行得更快。 以下是配置变化,可以在这种情况下提高性能。 除下文所述外,持久性仍然可以在数据库软件的崩溃的情况下得到保证, 当使用这些设置时,只有突然的操作系统停止会带来数据丢失或损坏的风险。
将数据库集群的数据目录放在内存支持的文件系统中(即RAM磁盘)。 这消除了所有数据库磁盘I/O,但限制可用内存(也许是页交换)的数据存储量。
关闭fsync;没有必要刷新数据到磁盘。
关闭synchronous_commit;可能没有必要在每次提交时强制将 WAL写入磁盘。这个设置确实在database 崩溃的情况下增加了事务丢失的风险(尽管没有数据损坏)。
关闭full_page_writes;没有必要防护部分页面写入。
增加checkpoint_segments和checkpoint_timeout;这减少了检查点频率,但是增加了/pg_xlog 的存储需求。
创建非日志表, 以避免WAL写入,尽管它使得表是非崩溃安全的。