我有我的PostgreSQL DB(约4GB的数据)dockerized。它在我的笔记本上运行良好(linux,2core CPU,SSD,8GB RAM)。我正在尝试使用Docker集线器来移动它以释放AWS EC2 t2.micro。docker容器启动缓慢pg_restore
容器启动时,会执行一些脚本,这些脚本会设置架构和表格的结构,并使用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,但我不知道是什么原因导致这种...
我也reniced过程中的一些一小时后到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”。
PS2: 我已经大概花了I/O学分,这是不容易的,现在监控... https://forums.aws.amazon.com/thread.jspa?threadID=164462&start=0&tstart = 0 – jurafejfar