您好,我有一台 HP 服务器,配置了 RAID 1+0,使用 2 个 SATA 磁盘。我对服务器操作也是新手。
该服务器已经使用相同的操作系统(Windows Server 2003)有一段时间了,所以我不确定它经历了什么。
它有一个以 3ghz 运行的双核 P4 CPU。512M Ram。
服务器运行非常慢。但我不确定是什么让它这么慢。几乎没有可用 RAM 和有超过 100M 可用 RAM 时,性能差别不大。它的唯一用途是用作 SVN 服务器并托管活动较少的开发 SQLExpress 数据库。但有时执行一个简单的操作可能需要超过 1 秒钟,SELECT * FROM TABLE
其中的表只有 5 条记录。
CPU 也没有达到最大负荷或任何其他情况。使用率几乎从未超过 25%。
所以我唯一的想法就是磁盘访问。但即使进行了磁盘速度测试,我也不能确定瓶颈在哪里。我尝试进行了一些性能监控,但我看到的唯一奇怪的事情是大量的页面/秒(空闲时接近零,访问数据库等时峰值超过 1000)。
TL;DR:如何知道服务器的性能瓶颈在哪里就磁盘、CPU、内存还是其他方面而言?
答案1
我怀疑您遇到了很多硬页面错误,即使您看到的是“可用”RAM。
在 Windows Server 2003 上启动“性能监视器”时绘制的默认计数器是一些很好的计数器,可以获取可能发生的情况的基线视图:
- 对象:内存,计数器:页数/秒
- 对象:PhysicalDisk,计数器:平均磁盘队列长度
- 对象:处理器,计数器:处理器时间百分比
这些计数器将让您大致了解机器的运行情况以及可能出现瓶颈的位置(CPU、RAM、磁盘 IO)。我会考虑删除默认添加的“平均磁盘队列长度”计数器,并为机器上的每个物理磁盘添加“平均磁盘队列长度”计数器。如果您进行大量分页,您可能会在托管页面文件的磁盘上看到一个很长的磁盘队列(超过 2)。
您确实需要查看是否存在大量硬页面错误(即必须转到磁盘的页面错误)。查看“内存”对象中的“页面输入/秒”计数器,了解发生了多少硬页面错误。
当必须从磁盘读取满足请求所需的内存页时,就会发生硬页面错误。硬页面错误的“修复”方法是添加物理 RAM。
当应用程序首次写入新页面(写时复制)、要求将页面清零或访问已在内存中其他地方的页面(例如另一个进程正在使用的内存映射文件)时,会发生软页面错误。如果您看到大量软页面错误,您可能无法采取很多措施来“修复”它,但您也不应该太担心它们。
如果您遇到大量硬页面错误,请向框中添加 RAM。
答案2
更多内存。您需要加载服务器物理支持的内存。如今内存很便宜,因此请先升级内存,看看您的“服务器速度慢”问题是否不会消失。