我有dockerized我的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信用额余额正在增加!)也没有一些明显的光盘操作......导致这种缓慢的限制是什么进度?
还有日志消息:
LOG: using stale statistics instead of current ones because stats collector is not responding
我找到了here,但我不知道是什么原因引起的......
我还在一个小时到19之后再次处理过程,因为服务器无法使用(响应太慢),但是当我重新回到0时,它似乎没有效果。
提前致谢,J。
PS:
似乎有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
同样在顶级实用程序中,我几乎可以在所有时间看到状态“D”。
答案 0 :(得分:0)
这绝对是由i / o信用额度造成的。使用小型SSD(免费层高达30GB)时会出现问题,其中limits在满载30分钟后会导致磁盘性能非常低(不考虑CPU积分)。
我能够分几个阶段完成DB的完全恢复