我们最近将 WIMP 服务器从 Windows Server 2003(32 位)升级到 Windows Server 2008 R2(64 位)。
新服务器的硬件明显优于旧服务器,但许多流程比旧服务器耗时更长。我们有一个相当复杂的 Web 应用程序流程,在旧服务器上通常需要大约 7 秒,但在新服务器上则需要 11-12 秒。这比我禁用 IPv6 之前所用的 15.5 秒要少。
此过程涉及一些查询(其中一些查询涉及在开始和提交之间可能有 3 个查询的交易)以及创建和通过电子邮件发送一些 PDF。
Windows 更新在一台或多或少是新机器上是最新的。即使我们网站上几乎没有流量,这种情况也会持续发生。内存和 CPU 根本没有受到太大的压力。
除操作系统和硬件之外,服务器之间的唯一区别是:
- 当可用时,我们使用 64 位版本的程序。
- 新服务器使用 MySQL 5.5 而不是 MySQL 5.1(我确实运行了 mysql_upgrade 程序,我们使用 InnoDB 作为引擎)
- 新服务器使用 PHP 版本 5.3.18,而不是 PHP 版本 5.3.1
- 当然,新操作系统推出的是 IIS7,而不是 IIS6。
是什么原因导致更好的硬件运行速度如此之慢?