使用漫游配置文件导致登录速度缓慢

使用漫游配置文件导致登录速度缓慢

我们正在运行 ActiveDirectory 环境,使用 Windows 2008 作为 DC,使用 Samba 3.3 作为文件服务器,使用漫游配置文件。我们的一些办事处通过较慢的链接(1/2 Mbit)连接到总部。当然,这不是很快,但这是意料之中的。

我不明白的是,如果用户注销(需要很长时间才能同步,这是意料之中的),然后第二天再次登录,也需要很长时间才能登录。这就是我不明白的地方。同步难道不应该很快识别出没有任何变化吗?另外:有没有关于如何实现同步的像样的文档?


编辑:感谢大家的帮助。最后发现是 Sophos Antivirus 扫描了远程配置文件。选中“禁用远程共享的访问时扫描”复选框后,一切都很快。(速度快到 1mbit。因此登录只需 5 分钟……)

答案1

我记得从 Windows 2000 开始,漫游配置文件客户端会将配置文件的服务器副本中的文件的日期/时间与本地副本进行比较,如果本地副本是最新的,它就不会将服务器端文件复制回客户端。事实证明,从 Microsoft 找到有关此行为的文档是不可能的。(然而,我们又一次遇到了这种情况,访问 Windows 源代码可以解决问题,但我们却被迫像穴居人一样用棍子和石头来解决这个问题……)

我的回忆是基于促使我始终在“桌面”文件夹上使用文件夹重定向的行为的故事。在客户站点,用户将几张数 GB 的 CAD 图纸保存到他们的“桌面”,而不是服务器计算机上的相应文件夹中。他们的 PC 中的硬盘驱动器坏了,我当时的雇主派了一名技术人员来更换硬盘驱动器并重新镜像 PC。我接到电话,因为替换图像在“正在加载您的个人设置...”对话框中“冻结”。我使用服务器计算机上的“网络监视器”观察到文件正在从服务器复制到客户端。再仔细检查了一下,发现用户服务器端配置文件的“桌面”文件夹中有 20GB 以上的文件正在复制到客户端。技术人员不耐烦,不停地重新启动 PC,导致该过程从上次尝试时部分复制的文件重新开始。一旦我们让所有内容复制,用户就可以登录和注销,而不会出现问题或延迟。

因此,考虑到这个故事,我刚刚在虚拟机中做了一个小模型,使用 Windows Server 2003 R2 作为文件服务器计算机,使用 Windows XP Professional SP3 作为客户端。

我使用已拥有漫游用户配置文件的用户帐户登录虚拟机,以允许客户端缓存该配置文件,然后我注销。这导致 12MB 的漫游用户配置文件被缓存到客户端。

我再次登录到客户端,这次使用 Wireshark(在服务器计算机上运行)捕获客户端和服务器之间的流量。登录期间,我看到大约有 2,500 个以太网帧经过。登录期间,客户端和服务器之间移动的流量不到 1.5MB,不过您会记得配置文件目录超过 12MB。这很好地表明每次登录时都不会进行完整复制(但我希望获得更多证据,正如您将看到的)。

我在捕获中观察到的行为是使用“Firstfirst”API 对配置文件中的文件夹进行递归遍历,从根目录开始。遍历完成后,客户端对配置文件逐个文件夹进行遍历,对每个文件夹执行“打开”操作,然后“查询文件信息”。

在这次登录过程中,我没有看到配置文件中的文件内容实际传输(而且,正如我所说,整个对话不到 1.5MB,而构成配置文件的数据为 12MB)。

我将一个 56MB 的文件放入配置文件中并注销。我确认在客户端注销完成后该文件出现在配置文件的服务器副本中,然后从客户端计算机硬盘驱动器上的缓存副本中删除该文件(通过“C$”共享)。

我再次登录客户端,同时使用 Wireshark 进行观察,发现登录期间客户端和服务器之间有 60MB 的传输。在捕获的画面中,我可以清楚地看到客户端从服务器请求了 56MB 文件的内容。

我注销并再次登录,这次将本地缓存的 56MB 文件留在客户端上。在这次登录中,客户端和服务器之间的总传输量再次略低于 1.5MB。

这似乎证实了我对这种行为的记忆,至少在 Windows XP Professional SP3 中是如此。

那么,为什么您会看到长时间的登录延迟?除了“较慢”(我认为它们只是“慢”)之外,您的 WAN 链接可能相当延迟(与本地以太网相比)。我在上面登录时观察到的递归目录遍历在 LAN 上大约需要 3 秒钟才能完成。在 WAN 上,这将是这个时间的几倍,即使实际上只有很少的数据通过线路。SMB 就像吸尘器一样,会吸收延迟链接。

我怀疑,如果您“清理”用户配置文件中“应用程序数据”文件夹、“Cookies”文件夹等处的无关文件,您会看到登录和注销时间减少。不幸的是,垃圾文件往往会堆积在那里,很难控制。

一些想法:

  • Immidio Flex 简介创建一个包含所有用户配置文件数据的 ZIP 文件,并将其上传到服务器计算机。它在潜在链接上的效果比内置配置文件复制引擎更好。这个工具包以前是免费的,但我相信它现在是一个付费产品。

  • 如果用户不经常在异地办公室之间移动,您可以在每个异地位置放置一台“服务器”,作为在该办公室工作的用户的“漫游配置文件服务器”,并进行远程备份。您可以使用 Windows 客户端 PC 充当此角色,只要不超过 10 个用户尝试同时连接到它(并且它不会被关闭)。或者,由于您已经熟悉 Samba,您可以在每个办公室放置一台低端 Linux 机器来托管漫游配置文件,并使用 rsync 之类的工具将文件复制回中心位置进行备份。

  • 如果您想要完善解决方案,您可以将 Windows Server 机器放入每个办公室,复制与 DFS-R 共享的漫游配置文件,这样用户就可以在所有办公室之间自由移动。

答案2

为了从漫游用户配置文件中获得最佳体验,务必阅读所有文档并全面规划实施。本节介绍使用漫游用户配置文件的最佳实践。

关闭快速登录增强功能

借助 Windows XP 中的快速登录增强功能,当用户从本地配置文件更改为漫游配置文件时,每台计算机都需要登录两次才能注册配置文件更改。这是因为用户始终使用缓存的凭据登录;因此,网络需要一次登录才能注意到用户已变为漫游,第二次登录才能应用这些设置。

为了确保获得最佳体验,请启用位于计算机配置\管理模板\系统\登录的“在计算机启动和登录时始终等待网络”设置。

将“我的文档”文件夹的位置重定向到用户漫游配置文件之外。

为了减少新计算机的初始登录时间,建议您将“我的文档”文件夹的位置重定向到用户漫游配置文件之外。最好的方法是使用文件夹重定向。如果您没有启用 Active Directory,您可以使用登录脚本执行此操作或指示用户手动执行此操作。

让系统为每个用户创建配置文件夹。

为确保漫游用户配置文件发挥最佳作用,请在服务器上仅创建根配置文件共享,并让系统为每个用户创建文件夹。如果必须为用户创建文件夹,请确保设置了正确的权限。有关所需权限的详细信息,请参阅配置漫游用户配置文件时的安全注意事项。

不要在漫游配置文件共享上使用脱机文件夹。

确保关闭存储漫游用户配置文件的共享的脱机文件夹。如果不关闭用户配置文件的脱机文件夹,则可能会遇到同步问题,因为脱机文件夹和漫游配置文件都会尝试同步用户配置文件中的文件。

答案3

Windows XP 会缓存配置文件。登录时,Windows XP 将检查 ntuser.dat 的上次写入时间,如果本地缓存副本比服务器上漫游配置文件中的版本新,它将直接运行本地缓存副本。

这是一个技术说明您可能想要每天检查用户目录中的 ntuser.dat 文件,以查看该文件上的日期/时间是否发生变化。

答案4

今天可能有所不同,但在 2001 年,一位 MS 专家给了我非常具体的建议不是使用漫游配置文件,主要原因是文件系统性能(特别是小文件加载)。建议最好使用文件夹重定向、应用程序部署、桌面锁定和与配置文件的其余部分共存。

我还认为,即使是缓存的副本也必须与主副本进行检查,而且这也总是会引入一些额外的延迟。

相关内容