Heroku Postgres RAM用于缓存与Memcache RAM

时间:2012-10-19 16:54:03

标签: postgresql caching heroku memcached

我在Heroku上有一个Web应用程序,我正在尝试理解在添加Memcached实例和1GB内存以及为Postgres服务器添加1GB内存之间的差异/权衡。

如果我添加了一个Memcached实例,我可能会使用Johnny Cache(对于Django - http://packages.python.org/johnny-cache/)。

我是否期望从这两个选项中获得类似的性能提升?一般来说,使用memcache与增加Postgres缓存的大小有什么好处。 (我知道人们经常在数据库服务器上运行memcache,所以必须有一个)。

我很欣赏这可能是一个非常天真的问题,但我无法通过谷歌找到任何可以解决我的困惑的事情。

1 个答案:

答案 0 :(得分:1)

Postgres的最佳性能需要足够的缓存来保留最常用的对象(索引,表)。因此,设置shared_buffers有一个转折点。在那之后, 增加共享缓冲区并没有多大帮助。

最好留出一部分RAM用于文件系统级缓存。

更多信息,请参阅http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server

至于memcache,它是完全不同的野兽......它可以直接从应用程序中使用,具有超快速的非持久性键值存储。

所有三个特征使得memcached与关系数据库(RDB)不同。

  • 超快(RDB不是)
  • 非持久性(RDB是)
  • 仅限键值(RDB更好)