小编lor*_*zor的帖子

如何确定 PostgreSQL 中池大小和数据库连接之间的最佳位置

我们在处理高峰时段到我们的数据库服务器的流量时遇到问题。我们正在研究改进硬件(请参阅有关该方面的问题),但我们也希望进行池配置和服务器调整。

我们正在开发的应用程序是一款用于智能手机的回合制多人游戏,其后端由RailsunicornPostgreSQL 9.1作为数据库组成。我们目前有 600 000 名注册用户,并且由于游戏状态存储在数据库中,每隔几秒钟就会进行数千次写入。我们使用PgBadger分析了来自PostgreSQL的日志文件,在关键时间我们得到了很多

FATAL: remaining connection slots are reserved for non-replication superuser connections
Run Code Online (Sandbox Code Playgroud)

解决这个问题的天真解决方案是增加postgresql.conf 中的max_connections(当前为 100) 。我已经阅读了http://wiki.postgresql.org/wiki/Number_Of_Database_Connections这表明这可能不是正确的做法。在前面提到的文章中,它提到了在 max_connections 和pool size之间找到最佳位置。

为了找到这个甜蜜点,可以做些什么?是否有任何好的工具可以测量max_connectionspool size 的不同值的 I/O 性能?

我们当前的设置是 4 个游戏服务器,每个服务器有 16 个独角兽工人,池大小为 5。

以下是我们使用的非默认 postgres 设置:

version                      | PostgreSQL 9.1.5 on x86_64-unknown-linux-gnu,compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
checkpoint_completion_target | 0.9
checkpoint_segments          | 60
checkpoint_timeout           | …
Run Code Online (Sandbox Code Playgroud)

postgresql

15
推荐指数
1
解决办法
1万
查看次数

为写入繁重的 PostgreSQL 数据库服务器选择什么 AWS 实例

我们现在在处理高峰时段服务器的密集流量时遇到问题;请参阅有关调整 DB 的相关问题。目前,我们正在使用较小的云服务作为服务器托管。目前,我们正在研究将我们的服务器迁移到 AWS 的可能性。我们遇到的问题主要与我们的数据库服务器有关,因此我们希望拥有比我们现在使用的要好得多的 AWS 实例。

数据库服务器所在云服务器的统计信息如下:

  • 8核
  • 16GB 内存
  • 100 GB,RAID-10 * SAS 15.000 RPM

在选择用于 PostgreSQL 数据库服务器的亚马逊实例时,您有什么特别需要考虑的吗?

postgresql aws

7
推荐指数
1
解决办法
3080
查看次数

标签 统计

postgresql ×2

aws ×1