Postgresql docker容器启动时pg_恢复缓慢
我有我的PostgreSQL数据库(大约4GB的数据)。它在我的笔记本上运行良好(linux、2核心CPU、SSD、8GB RAM)。我正在尝试使用docker hub移动它以释放AWS EC2 t2.micro 在容器启动时,会执行一些脚本,这些脚本设置模式和表的结构,并使用pg_restore(自定义压缩格式)用数据填充它。在我的笔记本上大约需要20分钟。但在t2.micro上,它看起来可能需要几个小时或几天的时间(10小时后集群中有2.4GB) 问题是,为什么它这么慢,而进程(postgres)没有占用太多的CPU(CPU积分平衡在增加!),也没有一些明显的磁盘操作。。。造成这一缓慢进展的限制是什么 还有一些日志消息:Postgresql docker容器启动时pg_恢复缓慢,postgresql,amazon-ec2,docker,pg-restore,Postgresql,Amazon Ec2,Docker,Pg Restore,我有我的PostgreSQL数据库(大约4GB的数据)。它在我的笔记本上运行良好(linux、2核心CPU、SSD、8GB RAM)。我正在尝试使用docker hub移动它以释放AWS EC2 t2.micro 在容器启动时,会执行一些脚本,这些脚本设置模式和表的结构,并使用pg_restore(自定义压缩格式)用数据填充它。在我的笔记本上大约需要20分钟。但在t2.micro上,它看起来可能需要几个小时或几天的时间(10小时后集群中有2.4GB) 问题是,为什么它这么慢,而进程(postgr
LOG:使用过时的统计信息而不是当前的统计信息,因为统计信息收集器没有响应
我发现了,但我不知道是什么原因
我也在大约一个小时后重新启动了进程到19,因为服务器无法工作(响应太慢),但当我重新启动到0时,似乎没有任何效果
先谢谢你,J
附言:
似乎存在i/o问题。。。以下是iostat的输出:
avg-cpu: %user %nice %system %iowait %steal %idle
0.23 0.45 0.26 97.54 0.66 0.87
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvda 90.79 33.11 1469.24 2718730 120629372
此外,在top utility中,我几乎一直可以看到该进程上的状态“D”。这肯定是由I/o信用限制引起的。当使用小型SSD(空闲层高达30GB)时,可能会出现此问题,这会在满负荷约30分钟后导致磁盘性能非常低(不考虑CPU点数) 我能够在几个阶段执行数据库的完全恢复
- 码头工人跑。。。(30分钟)
- docker暂停(16小时——累积完整i/o积分)
- docker取消暂停。。。(持续25分钟,直到DB恢复)
- 码头工人跑。。。(30分钟)
- docker暂停(16小时——累积完整i/o积分)
- docker取消暂停。。。(持续25分钟,直到DB恢复)
- 这肯定是由i/o信用额度造成的。当使用小型SSD(空闲层高达30GB)时,可能会出现此问题,这会在满负荷约30分钟后导致磁盘性能非常低(不考虑CPU点数)
我能够在几个阶段执行数据库的完全恢复