我有一个 Windows XP 客户端(XP 和 64 位 XP 混合)网络基础架构,它们正在访问 Windows 2008 R2 服务器上的网络共享。每当用户在 Windows 资源管理器的地址栏中输入文件夹的地址时,它都会快速确定当前文件夹的内容并将其显示在地址栏中,就像您在本地驱动器上工作一样。
但是,如果您打开其中一个子文件夹,用户就会看到动画红色火炬和“正在搜索项目......”对话框,通常持续 45 秒。
类似地,当使用打开文件夹对话框尝试选择此共享上的子文件夹时,对话框平均需要 45 秒才能展开每个节点并显示每个节点的子文件夹。
此外,当访问网络共享的 Explorer 实例运行缓慢时,用户会注意到所有其他 Explorer 窗口的性能都会受到影响。因此,当 Explorer 在网络共享上搜索文件时,他们无法切换到其他任务并使用 Explorer 浏览本地驱动器,因为它现在访问任何东西的速度都慢得像死狗一样。
我们可以更改哪些设置来提高访问网络共享的性能?
答案1
最后,这被追溯到 Serena Dimensions Explorer Shell 集成。
一旦发现这个问题,修复方法很简单,就是取消注册 DLL:
regsvr32 /u cmshellext10m.dll
答案2
如果这是我的问题,我会按照以下方式解决:
基准和持续监控: 首先,对您的共享进行基准性能测试。我使用来自http://www.winimage.com/readfile.htm因为它为我提供了一个性能指数,可以与该共享上的用户所体验到的性能指数相媲美。这是衡量您是否离问题更近、更远或没有影响的指标。
我会使用类似 MRTG 的东西来制作漂亮的历史图表,但 excel 也应该可以。您可能需要编写一个脚本来让 MRTG 实现这一点 - 但只要说出来,我就会发布一个脚本。
您需要通过此来了解您所做的更改是否会导致性能发生“可量化”的变化。
接下来,设置一个定期安排的作业来收集性能计数器数据(例如每 5 分钟一次)。
您想要收集以下内容:CPU 内存 磁盘通道 网络吞吐量 进程数 会话数 有关您的 nic 行为的统计信息有很多可供选择。
您可以使用 Microsoft 性能监视器,并将其导出到文件,或者设置 WMIC.exe 查询并以此方式收集和导出。有很多不同的方法可以做到这一点。
您想了解这些收集到的数字对您意味着什么。您可能希望关注自然瓶颈 - 例如网卡吞吐量。
一些链接
答案3
2008/Vista 中的文件共享系统发生了许多变化,这可能会给您带来问题。
- 尝试禁用 SMB2在 2008 年主办
- 在客户端上设置 AV 解决方案以禁用远程扫描(不包括 \\*\*)
- 如果客户端已安装 Windows Search 4.0(或更高版本),请将其删除或禁用(几年前它是 Windows 的默认更新)
您可以通过启用“工具”->“文件夹选项”下的“在单独的进程中启动文件夹窗口”选项来解决“所有资源管理器窗口都很慢”的问题。
查看服务器和客户端上的 TCP 卸载设置,因为我依稀记得如果在具有特定 NIC 的服务器端启用 ToE,SMB 浏览会出现一些问题。
答案4
您是否运行过文件服务角色最佳实践分析器?这应该指出您可以立即检查的任何内容。8.3 文件名可能是一个潜在问题(分析器会发现这一点)。请参阅SMB:应禁用短文件名创建
如果分析器将此标记为问题,请使用以下方法禁用 8.3 文件名:
打开命令提示符 -> fsutil 8dot3name set x
用法:fsutil 8dot3name 设置 [0 到 3] | [ 1 | 0]
当未指定卷时,操作将更新注册表值:
0 - 在系统的所有卷上启用 8dot3 名称创建 1 - 在系统的所有卷上禁用 8dot3 名称创建 2 - 在每个卷的基础上设置 8dot3 名称创建 3 - 在系统卷以外的所有卷上禁用 8dot3 名称创建
指定卷时,此操作会更新单个卷的磁盘标志。仅当注册表值设置为 2 时,此操作才有意义。
0 - 在此卷上启用 8dot3 名称创建 1 - 在此卷上禁用 8dot3 名称创建
此操作立即生效(无需重启)。
示例命令:“fsutil 8dot3name set 1”- 在所有卷上禁用 8dot3 名称创建