如何使pg_dump减少资源贪婪
我已经配置cron使用以下规则每天调用pg_dump: # xyz database backups: 00 01 * * * root umask 077 && pg_dump --user=xyz_system xyz | gzip > /var/xyz/backup/db/xyz/`date -u +\%Y\%m\%dT\%H\%M\%S`.gz 基本上,它可以工作。数据库相对快速且呈指数增长(但是指数不是很大)。目前,压缩后的转储大约需要160MB。转储数据库后,系统开始爬网。我使用该top命令看到的平均负载约为200, 200, 180。基本上,服务器几乎没有响应。 第一个问题是如何确定瓶颈在哪里。I / O操作繁重是否会导致性能不佳?是由表锁定问题引起的吗?也许是内存问题?pg_dump命令的输出通过管道传递到gzip命令。它是顺序的,即整个转储都放在内存中(交换问题?),然后压缩或并发(即gzip压缩得到的内容并等待更多)?可能是由其他因素引起的吗? 在第二个问题是如何使倾倒操作该系统的主要功能侵扰程度较低。据我了解,由于数据库的完整性,转储不会花费太多时间。有表写锁等。我可以做些什么来限制问题(或考虑数据库的增长而延迟它)。 在第三个问题:是否已经时间来了解更多的高级数据库配置?当没有执行数据库备份时,系统运行正常,但是数据库转储问题也许是传入问题的第一个症状?