我将XenServer与具有本地postgres数据库的多个虚拟机一起使用。即使所有应用程序都未使用且数据库处于空闲状态,每个vm也会导致持续的存储网络流量,从而降低iscsi存储设备的性能。
运行后,iotop
我注意到postgres stats收集器处理过程不断以大约2 MByte / s的速度写入磁盘。
然后,我通过编辑禁止收集统计信息/etc/postgresql/8.4/main/postgresql.conf
:
#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------
# - Query/Index Statistics Collector -
track_activities = off
track_counts = off
...
如http://www.postgresql.org/docs/8.4/static/runtime-config-statistics.htm中的建议。
这消除了连续写入,但是关闭统计信息跟踪是否有任何缺点?
还是应该将pg_stat_tmp目录放置在ramdisk上,以避免磁盘/网络流量?
该系统是最新的Debian 6.0.7(压缩版),具有postgres 8.4和约20个数据库(约50个表),总转储文件大小小于100 MB。