如何知道什么使这台服务器变慢

您好,我有一个惠普服务器configuration为RAID 1 + 0使用2个SATA磁盘。 我很新也处理服务器。

服务器上有一个相同的操作系统(Windows Server 2003)一段时间,所以我不知道它通过了什么。

它有一个双核心P4 CPU在3ghz运行。 512M拉姆。

服务器运行速度非常慢。我不知道是什么让它如此缓慢。 当它几乎没有任何的RAM和没有超过100M的RAM空闲时,没有太多的性能差异。 它唯一使用的是一个SVN服务器,并托pipe一个低活动开发SQLExpress数据库。 然而,有时它可能需要1秒钟才能执行一个简单的SELECT * FROM TABLE ,其中表中只有5条logging。

CPU不是最大的或任何东西。 几乎没有达到25%以上的使用率。

所以我唯一的想法是磁盘访问。 但是即使在磁盘速度testing中,我也不能确定这是瓶颈。 我试过做一些性能监控,但是我看到的唯一奇怪的事情是大量的Pages / Sec(空闲时间接近于零,在访问数据库时达到1000以上)。

TL; DR:如何判断性能瓶颈在我的服务器上的磁盘,CPU或内存等方面?

我的怀疑是,即使看到“免费”的内存,也会遇到很多硬盘故障。

在Windows Server 2003上启动“性能监视器”时,默认的计数器是一些很好的计数器,可以查看可能发生的事情的基线视图:

  • 对象:内存,计数器:页数/秒
  • 对象:物理磁盘,计数器:平均 磁盘队列长度
  • 对象:处理器,计数器:处理器时间百分比

这些计数器将给你一个关于机器上发生的事情的真正的总体看法,以及你可能会看到瓶颈(CPU,RAM,磁盘IO)的地方。 我会考虑删除默认添加的“平均磁盘队列长度”计数器,并为机器上的每个物理磁盘添加“平均磁盘队列长度”计数器。 如果您正在分页很多,则可能会在托pipe该页面文件的磁盘上看到一个长的磁盘队列(超过2个)。

你真的想看看你是否有大量的硬盘故障(即,必须去磁盘的页面错误)。 观看“Memory”对象中的“Pages Input / sec”计数器,以了解发生了多less硬页面错误。

当需要完成请求的内存页面必须从磁盘读取时,会发生硬页面故障。 硬页面错误的“修复”是添加物理RAM。

当应用程序首先写入新页面(写入时复制),要求页面归零或访问内存中其他位置的页面(如另一个进程正在使用的内存映射文件)时,会发生软页面错误。 如果你看到很多软页面错误,你可能不会做很多的“修复”,但是你也不应该太担心它们。

如果你得到了很多的硬页面错误,把RAM添加到框中。

更多的内存。 您需要加载尽可能多的ram作为服务器可以物理支持。 Ram现在很便宜,所以从ram升级开始,看看你的“慢服务器”问题是否消失。