如果我在coLinux上安装了Postgres,会不会像在Windows上原生安装Postgres一样快? 如果数据存储在已挂载的NTFS驱动器中,而不是在NTFS之上的ext2文件中,那么coLinux实例中的差异会有多大?
我想这取决于它是如何工作的。 理论上讲,如果使用需要Win32来执行的方法进行编译,那么你所拥有的是Windows时钟周期来处理Linux内核指令来处理Postgres SQL指令。
实际上,Postgres SQL会与“由Windows”执行的Linux API进行通信。
我在理论上是这样说的,因为像Intel VT这样的芯片实际上可以直接在主机cpu上运行虚拟机指令,而不是模拟一个CPU,所以唯一的减速就是虚拟容器启动和与主机通信像远程桌面/ VMware控制台。
而且,很长一段时间,我们已经有了诸如.Net,Python,Java等的技术,它们可以在运行时编译和解释,或者在Windows API之上添加一些其他的处理层。 对于大多数用途,这些应用程序的速度并不比本机Win32应用程序慢得多。
所以,我会回答:是的,这可能是慢的。 慢多less,这是否对你至关重要,我不知道。
对于在NTFS上挂载的NTFS,在一种情况下,你有一个虚拟文件系统由一个潜在的虚拟内核执行。 在另一种情况下,“虚拟”内核将使用自己的ntfs-3g驱动程序来读取主机文件系统。 我build议在这种情况下安装NTFS的速度会更快,但是再一次,以什么幅度以及您的应用程序的性能是否会受到影响取决于您要做什么。 无论哪种方式,它可能比本机PostgreSQL选项更慢。