postgresql 9.6中的CPU峰值较高
我们将postgresql从9.3升级到9.6,发现升级后postgresql占用了75%的CPU。 我们正在开发基于web的应用程序(JBOSS),它将与postgresql 9.6通信 我们有性能度量脚本,它将调用RESTAPI并运行1小时,并收集总体CPU利用率 使用以下配置,1小时后的CPU总利用率约为75% postgresql.conf: 最大工作进程数=16 每个聚集的最大平行工人数=8 强制并行模式=打开 共享缓冲区=3GB 维护工作内存=1GB 后端\u刷新\u后=1MB bgwriter_flush_after=1MB BGU延迟=10ms 最小容量=1GB 最大容量=2GB 同步提交=关闭 有效io并发=100 最大准备交易量=1000 硬件配置 CPU=8核 内存=16GB postgresql数据目录驻留在NFS中。 这些性能峰值在postgresql 9.3中没有遇到(总体CPU消耗约为50%)postgresql 9.6中的CPU峰值较高,postgresql,cpu,postgresql-9.6,Postgresql,Cpu,Postgresql 9.6,我们将postgresql从9.3升级到9.6,发现升级后postgresql占用了75%的CPU。 我们正在开发基于web的应用程序(JBOSS),它将与postgresql 9.6通信 我们有性能度量脚本,它将调用RESTAPI并运行1小时,并收集总体CPU利用率 使用以下配置,1小时后的CPU总利用率约为75% postgresql.conf: 最大工作进程数=16 每个聚集的最大平行工人数=8 强制并行模式=打开 共享缓冲区=3GB 维护工作内存=1GB 后端\u刷新\u后=1MB bg
有人能帮忙吗?升级后您是否对整个数据库进行了“分析”?您启用了并行查询支持-这可能会导致更多的CPU利用率。这还不错-查询使用了更多的CPU,但返回结果的速度更快。升级后我们运行了VACCUM。即使我禁用了force_parallel_mode=off,我的cpu仍然在75%以上。还有一件事,我只是在postgresql.conf中设置了maging_page=on,shared_buffer=300MB,系统中的maging页面数是166(sysctl vm.nr_hugepages)。通过此更改,我的CPU降低到45%到50%,但响应时间增加了。真空(回收旧行版本使用的空间)和分析(计算列统计)是两个独立的维护过程。你做过分析吗?我想升级时会丢失统计数据。我对整个数据库运行了分析,但没有帮助。升级后您是否对整个数据库进行了“分析”?您启用了并行查询支持-这可能会导致更多的CPU利用率。这还不错-查询使用了更多的CPU,但返回结果的速度更快。升级后我们运行了VACCUM。即使我禁用了force_parallel_mode=off,我的cpu仍然在75%以上。还有一件事,我只是在postgresql.conf中设置了maging_page=on,shared_buffer=300MB,系统中的maging页面数是166(sysctl vm.nr_hugepages)。通过此更改,我的CPU降低到45%到50%,但响应时间增加了。真空(回收旧行版本使用的空间)和分析(计算列统计)是两个独立的维护过程。你做过分析吗?我想升级时会丢失统计数据。我对整个数据库运行了分析,但没有帮助。