高度随机的PostgreSQL数据库主机

我们正在与一个中等规模的项目(在我们的工作集大约12GB的数据)非常成功地使用PostgreSQL,

目前我们正在使用7200RPM磁盘的2GB RAM机器。 即使在聚簇表和适当的索引,优化的查询和devise等方面,你也可以想象,性能会变得很糟糕。我们大部分时间都花在I / O上,无论是读写操作。

我们把另一个2GB的RAM放在盒子里,还有一个10kRPM的Velociraptor磁盘,但这些只是临时措施,而我们正在研究如何从这里继续。 整个系列都经常更新,所以固态硬盘也出了问题(太贵了,这个项目是两个没有钱的学生运行的!),我有兴趣听到其他人有没有什么build议, £100 /月)服务器/ VPS解决scheme,将涉及12-16GB的RAM和/或快速硬盘。 或者,更好的办法是解决问题。 有没有专门从事数据库托pipe的主机?

这是一个'上帝必须有一个更好的方式'的职位,但其基本要点是,有主机或解决scheme在这个成本点,如果没有,为什么不,为什么不是这样便宜的解决scheme有什么问题?

可能值得仔细检查一下,您是否已经正确地调整了服务器上的硬件。 需要关心的设置包括shared_buffers,effective_cache_size,你的checkpoint_settings,wal_buffer的大小,我也确保你的work_mem不是太高。 有一个我帮助编写的wiki页面涵盖了大部分的东西,这是一个很好的开始: http : //wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server

接下来的问题可能是查看你正在运行的查询,以确保查询计划不会造成比必要的更多I / O。 更好的查询和改进的索引可能在这里有帮

哦另一个想法, 你没有解释底层磁盘实际上是什么(和/或你打算如何处理新磁盘),但是可能需要设置某种types的RAID系统,或者将你的Xlog文件分割成一组单独的磁盘。

就个人而言,我不知道任何托pipePostgres的数据库在这个价格点上,包括深入调查你的数据库正在发生的事情; 他们中的大多数会把这个给你。

主机是一个无脑的 – 检查hetzner 。 我正在使用它们,我的朋友正在使用它们,我们对这个产品非常满意。

另一方面 – 给你一些观点 – 12GB绝对不是“中等大小”的数据集。 我很难把它分类为中等。

这不是要和你说话 – 有很多非常重要的数据库很小。 还有很多不是那么重要的大事件。 这完全取决于数据和/或操作对数据的重要性。

至于调优 – 请检查xzilla所说的内容,并阅读有关EXPLAIN ANALYZE命令/输出的内容。 这是PostgreSQL最有用的部分。