高度随机的 PostgreSQL 数据库主机

高度随机的 PostgreSQL 数据库主机

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

目前,我们使用的是 2GB RAM 的机器,磁盘转速为 7200RPM。您可以想象,即使使用集群表和适当的索引、优化的查询和设计等,性能也会很快下降。我们大部分时间都在等待 I/O,无论是读取还是写入操作。

我们在盒子里又放了 2GB 的 RAM 和一个 10kRPM Velociraptor 磁盘,但这些只是权宜之计,我们正在研究如何继续下去。整个套件更新非常频繁,所以 SSD 已经过时了(太贵了 - 这个项目由两个没有钱的学生运行!),我很想知道是否有其他人对便宜(<100 英镑/月)的服务器/VPS 解决方案有任何建议,这些解决方案将涉及 12-16GB 的 RAM 和/或快速硬盘。或者,更好的是,解决问题的替代方法。有没有专门从事数据库托管的主机?

这有点像“天哪,一定有更好的方法”的帖子,但其基本要点是 - 在这个成本点上是否有可用的主机或解决方案,如果没有,为什么没有,以及对于这种问题的廉价解决方案是什么?

答案1

可能值得再三检查您是否已针对所用的硬件适当地调整了服务器。需要关注的设置包括 shared_buffers、effective_cache_size、checkpoint_settings、wal_buffer 大小,并且我还要确保您的 work_mem 设置不要太高。我参与编写了一个 wiki 页面,其中涵盖了大部分内容,这是一个不错的起点:http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server

下一个问题可能是查看您正在运行的查询,以确保查询计划不会导致不必要的 I/O。更好的查询和改进的索引可能会有所帮助。

哦,另一个想法;您没有解释底层磁盘实际上是什么(和/或您计划用新磁盘做什么),但可能值得设置某种类型的 raid 系统,或将您的 xlog 文件拆分到单独的一组磁盘。

就我个人而言,我不知道在这个价位上有任何 Postgres 数据库托管能够包括对数据库发生情况的更深入调查;他们中的大多数会把这个留给你去做。

答案2

托管是一件轻而易举的事 - 检查赫茨纳。我正在使用它们,我的朋友也在使用它们,我们对产品非常满意。

另一方面,给你一些看法——12GB 绝对不是“中等大小”的数据集。我甚至很难将其归类为中等大小。

这并不是在贬低你——有很多非常重要的数据库都很小。还有很多大数据库并不那么重要。这完全取决于数据和/或数据操作的重要性。

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

相关内容