4

我在 Heroku 上有一个 Web 应用程序,我试图了解添加具有 1GB RAM 的 Memcached 实例和向我的 Postgres 服务器添加 1GB RAM 之间的区别/权衡。

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

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

我很欣赏这可能是一个非常幼稚的问题,但我无法通过谷歌找到任何东西来消除我的困惑。

4

1 回答 1

1

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

将 RAM 的一部分留给文件系统级缓存是很好的。

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

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

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

  • 超快(RDB 不是)
  • 非持久性(RDB 是)
  • 仅键值(RDB 更好)
于 2012-10-19T17:05:44.267 回答