我们有许多服务器,它们都位于同一个数据中心,规格相似,都运行相同的应用程序(LAMP 电子商务应用程序),流量水平相似,平均负载也相似。但是,在 Pingdom 的响应时间报告中,其中一台服务器的得分通常比其他所有服务器都低得多。除这台服务器外,我们所有服务器的平均响应时间都在 190ms - 210ms 之间,但有一台服务器的平均响应时间在 280ms - 300ms 之间。这些服务器之间的唯一区别之一是 CentOS 的版本。在较慢的网站上,版本是 4.8,但在较快的服务器上,它们都运行 5.5。操作系统版本是否足以减慢服务器的响应时间,还是可能是其他原因?
谢谢
答案1
尝试运行free -m
以查看它是否正在使用 RAM 中的交换空间。在类似版本但不同操作系统上非常常见。
-编辑-
在最后一行中查找中间列中大于零的任何内容交换条目:
total used free shared buffers cached
Mem: 3145 2882 262 0 919 1131
-/+ buffers/cache: 831 2313
Swap: 254 0 254
我的机器说 Mem 行中的“262”MB RAM 是空闲的,并且没有使用交换文件,最后一行中的“0”会使它的速度变慢。
答案2
当你排除了所有不可能的因素后,剩下的,无论多么不可思议,都一定是真相。——夏洛克·福尔摩斯
如果您的服务器都使用相同的硬件,那么原因肯定在于软件。较旧的 CentOS 版本意味着较旧的内核和较旧的 LAMP 堆栈(除非您自己编译)。CentOS 4.8 运行内核 2.6.9。CentOS 5.5 是 2.6.18。第二个因素是调整。如果您对 5.5s 进行了微调,但运行的是开箱即用的 4.8,这也会起作用。
开发人员努力提高内核和应用程序的速度,因此,操作系统版本可能在速度差异中发挥重要作用。在相同的硬件上提高 30%?并非不可能。
另一方面,如果您的服务器不是在相同或非常相似的硬件上运行,或者 4.8 版本是通过扫帚棚里那个古老的过热半双工 10 Mb 集线器连接到网络其余部分的,那么硬件可能是解释速度差异的主要因素。四核 Nehalem 处理器和 32 GB RAM 上的 CentOS 5.5 应该比 P IV 上的 CentOS 4.8 快得多。
答案3
也许速度较慢的服务器正在与高负载服务器共享其连接或其他资源(例如存储)?