【发布时间】:2012-12-29 08:43:43
【问题描述】:
【问题讨论】:
-
链接到有问题的 Heroku 文档?
-
添加了数据库计划的链接
标签: database ruby-on-rails-3 postgresql caching heroku
【问题讨论】:
标签: database ruby-on-rails-3 postgresql caching heroku
PostgreSQL 没有查询结果缓存。除非 Heroku 在他们的自定义内部 PostgreSQL 分支中添加了一个(非常不可能),否则它很可能是数据库可用的磁盘缓存,用于存储从磁盘读取的表和索引的内容,因此不必重新读取它们。再次访问。这是块级缓存,不是查询级或行级缓存。
大量用于缓存的 RAM 会对 PostgreSQL 的性能产生巨大影响,尤其是在 I/O 性能较差的设置(如 Amazon EC2)上。
一些应用程序级工具,如 Hibernate ORM 和其他 JPA 实现确实维护查询结果缓存,或者更确切地说是实体缓存。我不知道 ActiveRecord 是否这样做,但如果这样做,它将在应用程序服务器端,而不是数据库端。
【讨论】:
shared_buffers + effective_cache_size、总物理内存还是什么。