Postgres - 更大的数据库会慢吗?

问题描述 投票:-2回答:1

我在不同的Windows服务器上有两个结构相同的postgres数据库。一个用于开发,一个用于开发。

通过powershell脚本插入记录,该脚本使用秒表对象记录每个INSERT的持续时间。

在项目的早期阶段,开发数据库中的记录将以每0.6毫秒大约1的速率处理,而在实时版本中以每1.4毫秒1的速率进行处理。我将时间差异归结为硬件 - 现场服务器已有几年历史,开发时间更新了。

12个月后,我注意到虽然开发服务器上的INSERT速度保持不变,但在实时服务器上它现在慢了10倍。 (每条记录18ms)。

两个数据库之间的唯一区别是大小。开发数据库在一个月后丢弃所有数据,实时版本会永久保存数据。所有数据按月(两个数据库)进行分区,在每个月的开始为新月数据创建一个新分区,在开发服务器上最后几个月分区将被删除,在实时它将不会。

数据仅在最初的24小时内被操纵(插入,更新或删除)。之后,它仅用于报告。

实时数据库是否很大这一事实意味着它必须很慢? 90%的实时数据库都在基本上只是坐在那里并且什么都不做的表中 - 所以我一直认为它们不会影响性能。

如果是这种情况,那么还有什么可能会影响性能?

以下可能是相关的(或不是?)

  • 服务器在物理上是分开的,甚至不在同一网络上。
  • 两个服务器(应该)在模式,分区,表空间,索引等方面100%完全相同......
  • 两台服务器都运行postgres v10,以及相同版本的windows。
  • 两台服务器都有相同的病毒扫描程序和防火墙
  • 描述的性能是两个服务器只有一个连接(powershell脚本执行插入)
  • 两台服务器仍然正常工作,没有任何错误的迹象,数据似乎都是正确的,并且没有锁的任何问题的迹象(我已经尝试过列出here的查询)
  • 我没有(明知)对一个数据库进行了任何未在另一个数据库中反映的更改。
  • 数据以每天约1000万至2000万条记录的速度累积,实时数据库现在只有几兆兆字节。
  • 两台服务器上都有足够的可用磁盘空间。

我最近才注意到性能的变化,所以我不确定它是否随着数据库的增长而逐渐恶化,或者最近是否会突然出现。

随着数据库的增长,这种性能下降是否正常 - 或者我应该寻找其他原因? (如果是的话)

谢谢

postgresql database-performance
1个回答
0
投票

好的 - 解决了。

在构建数据库时,我接受了大多数设置的所有默认值 - 这包括表被抽真空的频率。由于两个月前我还没有完全理解的原因,Postgres只是停止对真实数据库中的一个表进行抽真空。

© www.soinside.com 2019 - 2024. All rights reserved.