数据大小还是其他?

我刚刚将我的Heroku postgres数据库从Kappa计划(800MB RAM,postgres 9.1)升级到Ronin计划(1.7GB RAM,postgres 9.2),但性能已经下降。

按照这里的指导,我检查了一下,缓存命中率甚至比我们的Kappa数据库还低(现在〜57%,之前〜69%)。 我们的应用程序设计应该不错,因为我们已经看到之前的缓存命中率为99%。

我们的建议是,数据集应该能够适应内存,现在不应该成为问题 - 我们的数据大小为1.27GB(至少大部分数据应该适合)。

由于数据大小,缓存命中率很低,还是有其他我可以研究的内容? 还是仅仅是数据库缓存没有完全预热的情况? (已经差不多2天了)


如果你有足够的内存并且没有在db上运行很多其他的东西,那么可能会改变的是shared_buffers。 共享缓冲区所做的就是缓存经常使用的数据,以便在不是所有数据库都适合内存时,它可以始终最大化。

不幸的是,这个缓存的性能不如OS缓存。 如果您的数据很容易适应内存,请确保effective_cache_size足够高,然后尝试减少shared_buffers

请注意,这不是一个神奇的项目符号。 shared_buffers大小取决于你有多少数据,占用多少空间,你的查询类型,有多少内存正在进行排序等等。 您可以期待随时使用这个功能来找到当​​前设置和数据库的最佳位置。

链接地址: http://www.djcxy.com/p/13859.html

上一篇: data size or something else?

下一篇: Tabbed dialog with fragments in widget