Windows 上的 libpq 速度
Posted
技术标签:
【中文标题】Windows 上的 libpq 速度【英文标题】:Libpq speed on windows 【发布时间】:2010-11-06 22:17:06 【问题描述】:我在 Windows 上遇到了 libpq 问题。连接到数据库并运行“select * from some_table;”很慢。
该表只有 1800 行,7 列。没有斑点等。
查询大约需要 3500 毫秒,在 linux 中大约需要 800 毫秒。 (大约 500 毫秒是网络时间,服务器在我所在位置的世界另一端。)
硬件相同(双启动)
为什么在 Windows 中会这么长?我在 pqsl 和 pgadmin 中进行了测试,以排除应用代码中的错误。
有什么建议或线索吗?
【问题讨论】:
你能告诉我们在 Windows 机器和 Linux 机器上 psql、pgadmin 的时间吗?您能否在两个位置上使用 Jython 测试您的两个位置(例如您可以查看的代码:***.com/questions/1102704/…)? 是的,在 pgadmin 中的 windows 上为 3500ms,在 pgadmin 中的 linux 上为 800ms。进一步的测试表明是windows xp有问题。从机器复制到 windows 客户端的文件也比在 linux 客户端上花费的时间长约 5 倍。 查看此链接了解更多信息:technet.microsoft.com/en-us/magazine/2007.01.cableguy.aspx 【参考方案1】:我敢打赌,真正的问题是防病毒软件出现问题。的确,Windows 上的 PostgreSQL 可能不如 Linux 上的性能好,但您看到的差异不能简单地与多进程和多线程之间的差异(写入时复制等)有关。
首先要做的是排除防病毒软件等原因。因为该软件位于磁盘 I/O 的读取和写入之间,所以它能够使您的磁盘 I/O 显着变慢。此外,如果它足够慢,它可能会使顺序磁盘 I/O 性能更像是随机磁盘 I/O,这不是一件好事。因此,请尝试关闭您的防病毒软件(最好不要连接到网络)。
我要看的第二件事是文件系统碎片。这些文件是否严重碎片化?如果是这样,磁盘 I/O 也会更加昂贵。除此之外,进行干净启动、手动启动服务并再次尝试此操作可能会排除干扰磁盘 I/O 的其他程序。
一旦你解决了问题,那么想出解决方案应该很简单。
【讨论】:
以上是关于Windows 上的 libpq 速度的主要内容,如果未能解决你的问题,请参考以下文章
XAMPP 在 Windows 上的 PHP 运行速度太慢了 100 倍
与 Libgit2 相比,Windows 上的 Git 存储速度极慢
zabbix 结合windows性能监控工具perfmon进行监控