连接到 VPS 上的 PostgreSQL 数据库时 Firedac 很慢

时间:2021-06-29 20:31:33

标签: delphi firedac

那里。

当使用 Firedac 连接到在 VPS 上运行的 PostgreSQL 9.4 数据库时,我遇到了一些奇怪的行为。我的 delphi 是 Sidney 10.4.2,但我也在西雅图做过测试,遇到同样的问题。

我有一个测试可执行文件,它连接到在 Ubuntu VPS 上运行的 PostgreSQL 9.4。我对这个 VPS 的 ping 大约是 20 毫秒,而且它很稳定。本VPS为测试服务器,仅供本人使用。没有人与之相关。

在测试可执行文件中,有 11 个不同的查询,每个查询从同一数据库的表中选择行。这些查询返回从零到 2 条记录(取决于表)(我的意思是,我们这里的结果集非常小)。

我的问题是:如果我有一个可执行文件连接到 VPS 上的数据库,在表上执行“选择”,在同一台机器和 Internet 链接上运行,为什么有时执行需要很多,有时执行速度很快?

有人可能会说:“也许您的 Internet 链接不稳定”或“也许您的服务器中正在运行一些高 CPU 使用率的作业”。但是,如果这是真的,如果我打开可执行文件的两个实例,两者都应该很慢,对吗?

如果我打开同一个exe的两个实例,一个快,另一个慢,顺序不完全一样。

为了消除可能的原因,我使用 ZeosLib 创建了相同的可执行文件,以比较它们。在这种情况下,Zeoslib 似乎比 Firedac 稳定得多。

顺便说一下,为了更好地表达我的意思,我录制了一段视频。链接是:

https://vimeo.com/569074153

在这个视频中,我打开两个 Firedac exe 实例和两个 Zeoslib exe 实例来比较它们。您可能会注意到,Firedac exe 表现出奇怪的行为,而 Zeoslib exe 表现出稳定的行为。

请记住:数据库服务器、数据库和查询在所有情况下都完全相同。所有查询控件(TFQQuery 或 TZQuery)的属性都相同。

有人知道如何在 Firedac 可执行文件中解决这个问题吗?

先谢谢你,

莱安德罗

0 个答案:

没有答案