PostgreSQL常见问题
1.在配置PostgreSQL.conf时,把max_connections设置为几百上千,这样真的好吗?
建议配置为CPU逻辑处理器数量的2-4倍即可.
如果您的SQL效率越高,最大连接数应该越小.
如果您的SQL效率非常差,最大连接数应该越大,但是不要超过CPU逻辑处理器数量的8倍.
SQL效率高表示CPU有效工作时间越多,同时等待片段较少,为避免相互竞争,因为连接数应该减小.
SQL效率差表示CPU大部时间都在等待从磁盘、内存中读取数据完成才开始中有效工作,等待片段比较多,加大连接数将cpu等待片段执行其它请求的任务.
虽然是在讲PostgreSQL,但是道理同样适用其它数据库.
2.查询速度非常慢
很多案例表明从PostgreSQL安装配置完成后就未运行过vacuum和analyze.同时AutoVacuum也未配置运行过.
解决方案:
在调优之间保证运行过vacuum analyze,同时打开AutoVacuum.