我在Heroku上有一个Web应用程序,我正在尝试理解在添加Memcached实例和1GB内存以及为Postgres服务器添加1GB内存之间的差异/权衡。
如果我添加了一个Memcached实例,我可能会使用Johnny Cache(对于Django - http://packages.python.org/johnny-cache/)。
我是否期望从这两个选项中获得类似的性能提升?一般来说,使用memcache与增加Postgres缓存的大小有什么好处。 (我知道人们经常在数据库服务器上运行memcache,所以必须有一个)。
我很欣赏这可能是一个非常天真的问题,但我无法通过谷歌找到任何可以解决我的困惑的事情。
答案 0 :(得分:1)
Postgres的最佳性能需要足够的缓存来保留最常用的对象(索引,表)。因此,设置shared_buffers有一个转折点。在那之后, 增加共享缓冲区并没有多大帮助。
最好留出一部分RAM用于文件系统级缓存。
更多信息,请参阅http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
至于memcache,它是完全不同的野兽......它可以直接从应用程序中使用,具有超快速的非持久性键值存储。
所有三个特征使得memcached与关系数据库(RDB)不同。