当我启动Rails应用程序并打开需要查询MongoDB数据库的页面时,会出现以下问题:
之后一切都变得更快,缓存,页面立即加载等等。
但是真的,4分钟?这是为什么?那是MongoDB从磁盘加载到内存的吗?为什么它比我本地的机器需要更长的时间?
这是由于在Linode上共享硬盘吗?我在运行iostat
$ iostat -d 2
Linux 3.12.6-x86_64-linode36 (linode) 01/31/2014 _x86_64_ (8 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvda 1129.69 43026.47 17.62 1940251345 794504
xvdb 248.43 2572.50 698.08 116005452 31479356
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
xvda 4491.50 179012.00 0.00 358024 0
xvdb 0.00 0.00 0.00 0 0
答案 0 :(得分:0)
我的理解是Mongo将所有数据从磁盘加载到内存中,所以我猜你在这个阶段可能会遇到性能下降的问题。也许在启用应用程序之前使用多个查询对数据库进行预热是有意义的。