我们的用户有时会在正常工作时间内遇到会话性能缓慢的情况。应用程序(IE、Office 应用程序等)响应缓慢,因此在它们之间切换也很慢。此问题偶尔发生,以下是一些故障排除。
我们开始全天收集性能计数器,并要求用户报告速度变慢的时间。请参见下面的显示磁盘性能的图表。箭头指向用户报告速度变慢的时间,并表明问题与磁盘有关。
有人可以建议进一步进行故障排除以追踪罪魁祸首进程/应用程序吗?
一些服务器规格 [操作系统:带有 /PAE 标志的 Server 2003 32 位企业版] [RAM:32GB] [CPU:2xQuad Core @ 2.27Ghz] [HD:RAID5 1.2GB 3xSAS 10,000RPM HD。控制器没有电池,写入缓存已禁用]
使用进程浏览器,我可以查看进程并跟踪哪些进程执行最多的磁盘读/写操作。
磁盘写入次数最多的进程:系统、ccSvcHst.exe(Symantec 进程)、FireFox.exe
磁盘读取次数最多的进程:winlogon.exe、firefox.exe、explorer.exe
磁盘写入字节数最高的进程:System、firefox.exe、ccSvcHst.exe
磁盘读取字节数最高的进程:System、winlogon.exe、firefox.exe
答案1
禁用写入缓存和 RAID5?这是一个特别糟糕的组合。Windows 依赖于用户配置文件,因此仅应用程序数据和注册表活动就会在如此性能不佳的存储子系统上暴露此问题。可能还有其他加剧因素,例如默认注册表延迟刷新间隔太频繁。
可以通过调整以下 DWORD 注册表值来增加注册表延迟刷新间隔:
Key: HKLM\System\CurrentControlSet\Control\Session Manager\Configuration Manager
Value: RegistryLazyFlushInterval
使用 60(十进制)指定 60 秒。我相信默认值是 5 秒。
注册表特别容易出现锁定问题。我们在 Windows Server 2003 上遇到的一个问题是在 Internet Explorer 安全修补程序之后出现的,并且与 Java 的浏览器帮助对象有关。您可以在此处阅读更多相关信息:
https://serverfault.com/a/110242/20701
20 个用户似乎有点少,以至于不会遇到性能问题,但是很难知道,因为这实际上取决于正在使用的应用程序和用户类型/行为。虽然您可以通过增加延迟刷新间隔或排除 Java BHO 来解决一些问题,但我会从解决有问题的磁盘子系统开始。
答案2
我认为罪魁祸首可能不是应用程序或进程,而是你只是想对卡或磁盘进行过多的读/写操作(在该配置中)。RAID5 是奇偶校验 RAID,这意味着对于任何单个写入,阵列中的每个驱动器上实际上都有相应的奇偶校验计算(因此是额外的写入),这意味着 RAID 5 阵列上的随机写入性能往往非常差。
参见我们的规范 RAID 级别线程问答在这里但是一般来说,您只希望在大多数磁盘负载是读取时使用奇偶校验 RAID,例如在只读或很少写入文件共享时。(对于我们大多数人在恢复损坏的奇偶校验 RAID 阵列时遇到的问题,您会发现许多 SA 尽可能避免使用奇偶校验 RAID)。
事实上,根据我的经验,您的操作系统与其他所有东西都位于同一个 RAID5 卷上,并且您有多个客户端同时访问数据,这很容易导致此类问题,而我的解决方案(假设您的服务器中有 6 个驱动器)将 [可能] 是将阵列分成两个 - 对操作系统使用 2 个驱动器镜像 RAID,对其余部分使用 4 个驱动器 RAID 10。不过说实话,只要您摆脱 RAID5 的情况,并切换到更适合您需求的 RAID 级别(如 RAID 10),您的情况就会好得多。