coLinux 比原生 Windows 慢很多吗?

coLinux 比原生 Windows 慢很多吗?

如果我安装了 Postgres协同Linux,它会像在 Windows 上本地安装 Postgres 一样快吗?如果数据存储在已安装的 NTFS 驱动器中,而不是 NTFS 上的 ext2 文件中,coLinux 实例会有多大区别?

答案1

我猜这取决于它的具体工作原理。理论上,如果使用需要 Win32 执行的方法进行编译,那么您将使用 Windows 时钟周期来处理 Linux 内核指令,然后处理 Postgres SQL 指令。

实际上,Postgres SQL 与“由 Windows”执行的 Linux API 进行对话。

我之所以说是理论​​上的,是因为像英特尔 VT 芯片这样具有功能性的芯片实际上如果可以的话会直接在主机 CPU 上运行虚拟机指令(而不是模拟 CPU),所以唯一的减速是虚拟容器的启动和通过远程桌面/VMware 控制台等与主机进行 UI 通信。

此外,长期以来,我们一直拥有 .Net、Python、Java 等技术,它们要么在运行时编译和解释,要么在 Windows API 之上添加其他处理层。对于大多数用途而言,这些应用程序的速度并不比原生 Win32 应用程序慢很多。

所以,我的回答是:是的,速度可能会慢一些。但具体慢多少,以及这对你是否重要,我不清楚。

对于挂载 NTFS 和在 NTFS 之上挂载 ext2,在一种情况下,您有一个由潜在虚拟内核执行的虚拟文件系统。在另一种情况下,“虚拟”内核将使用其自己的 ntfs-3g 驱动程序来读取主机文件系统。我建议在这种情况下挂载 NTFS 会更快,但同样,速度会有多快以及您的应用程序的性能是否会因此受到影响取决于您要执行的操作。无论哪种方式,它可能都比本机 PostgreSQL 选项慢。

相关内容