在我们的办公室,我们在 HP ProLient ML350 G6 上托管了一台 Windows 2008 虚拟机。该虚拟机可以访问主机上的所有可用资源。
这台机器上有一些 Microsoft Access 数据库,这些数据库用于运行在我们电脑(目前为 25-30 台)上的一个编码不佳的 vb6 应用程序。
我们的问题是,有时我们使用的查询(编码也很差)非常慢。
VM 是否与此问题有关?我们该如何调试?
我正在考虑检查磁盘 I/O,但我不确定我应该检查什么,CPU 和内存使用率非常非常低。
当然,我们正在尝试编写更好的代码,但同时我们也在尝试查看我们的结构是否存在其他问题。
答案1
首先:MS Access 性能太差了。它本来就不具备任何性能,所以 DB 非常重要。
第二:如果您在虚拟机上运行非性能数据库,那么您将遭受另一个性能损失。
第三,也是最重要的一点:如果应用程序编码很差并且查询设计很糟糕,那么您就无法在硬件上采取任何措施来使系统性能更好。
一般来说,软件性能调优的效果比硬件改变要好得多。如果你想加快系统速度,从 MS Access 切换到真正的 DB 会有所不同,而重写代码将为你带来最大的性能提升。只有在这两项更改之后,你才需要查看硬件和 VM。