有些东西我对Amazon RDS(PostrgreSQL版本)并不是很了解.有些查询需要花费大量时间来显示结果.我已设置所有相关索引(如EXPLAIN所示).所以我认为这不是由于我的架构设计.
我不使用大机器(m3.xlarge),因为大机器太贵了.我的数据库大小约为300GB.
似乎Postgres没有使用所有可用内存(仅约5GB,控制台的"可用内存"报告显示总有~10GB可用内存...).我尝试按照tune -your-postgres-rds-instance的建议调整我的"参数组" ,特别是将EFFECTIVE_CACHE_SIZE设置为70%.但它没有改变任何东西.
我可能在某个地方错了......任何想法?
要为查询提供更多内存,您可以调整work_mem.这样做会产生影响,因为每个后端都有内存.
effective_cache_size实际上根本不处理内存.这是一个优化器参数.
"可用内存"是一件好事 - 它意味着内存当前被操作系统缓存中的postgres使用(最有可能).
您可以增加shared_buffers以允许postgres使用更多自己的内存进行缓存,但是它的有效性有限,这意味着您通常不希望使用超过25%的可用内存.