【外设篇】提升桌面云U盘拷贝速度慢方法

[复制链接]
发表于 : 2015-4-22 16:27:01 最新回复:2017-05-09 11:59:54
6496 7
式微
式微  

提升桌面云U盘拷贝速度慢方法

【关 键 词】:U盘拷贝

【适用版本】:所有版本

【问题描述】使用U盘拷贝数据到桌面中,拷贝速度只有2.5MB/s 左右,影响用户体验。

【问题分析】

USB拷贝速度慢原因分析:

原因一、U盘自身格式原因导致。格式为FAT32U盘在挂载时,需要先读取FAT表,而读取FAT表的方式不同于读取普通数据的方式,是一小块一小块的读取,每次读取需要一次数据来回,由于USB重定向的缘故,每一次数据来回都要通过网络传输一遍,这也就放大了网络延迟带来的影响。同时簇大小决定了簇的数量,簇约小,簇的数量就越大,FAT表也就越大,所以FAT32(1024)在同样的Delay下,大约需要4倍于FAT32(4096)的时间来挂载会导致识别时间增大4倍。以前的U盘很多是FAT32格式(1024)会导致U盘识别很慢,如果格式化为NTFS(4096)会使识别速度提升很高。

原因二、当前各厂商桌面云协议自身能力限制。USB数据传送协议本身就是一个协商过程较为频繁的过程,在USB通道每一次数据块传送之前都有握手协议;通道上的USB业务数据由于在两端存在加解密或者压缩的过程,对数据传输的性能也有一定的折扣。同时网关及网络质量对USB数据传输性能也有影响。

原因三、USB2.0本身传输速度限制。 USB 2.0的理论带宽是60MB/s的数据传输速率,但实际使用中我们会发现这个理论速度是坑爹的,长期以来USB 2.0最高实际传输速度被限制在30MB/s左右,只达到理论带宽的一半。USB 2.0采用的是传统的Bulk-Only Transport(BOT)协议,由于没有进行改善,随着目前高速存储设备的出现,BOT协议阻碍USB传输速率的问题已经显现出来。而USB 3.0新增了USB Attached SCSI Protocol(UASP)协议,两组数据总线,支持多命令并发执行和NCQ队列功能,这样就可以发挥出5Gbps的高速带宽优势。

综合所述:当前导致桌面U盘拷贝慢主要有这三方面原因,我们尝试用不同方法进行排查及优化,提升U盘在桌面中读写速度。

【解决方法】

方法一:

针对原因一U盘自身格式导致问题,我们将格式为FAT32 U盘格式化为NTFS,提高U盘拷贝速度。

    操作步骤:

1、 将U盘或硬盘中的用户数据拷贝到一台物理机上,进行备份,格式化U盘(将U盘格式由FAT32格式化成NTFS),再将用户数据拷入U盘。

2、 格式化时:分配单元大小(Allocation unit size)选择最大值

3、 若操作系统提示需要修复U盘,请点击修复。

4、 每次不再使用U盘时,不要直接拔出,请点击桌面右下角的安全删除。

方法二:

    针对原因二桌面原因导致慢问题,排查网络及网关对原因对U盘拷贝影响。

    操作步骤:

1、 检查客户端和服务端版本是否匹配。

2、 TC直接接到接入测交换机上测试,排除网络原因。

3、 如果有网关,绕过网关测试。

4、 如果是windows TC,尝试开启驱动器重定向方式拷贝到虚拟机。

方法三:

针对原因三USB2.0拷贝慢问题,我们通过提高USB2.0的传输速度来优化在桌面的拷贝速度,当前微软已经提供了名为Windows6.1-KB2581464的升级补丁,它可以将Usbstor.sys驱动程序中的最大传输值从默认的64KB增加到2MB。

    操作步骤:

1、 在微软官网下载Windows6.1-KB2581464补丁后解压安装,根据提示重启系统。http://www.xiazaiba.com/html/7572.html

2、 插入TC/PC的USB2.0接口,右键点击计算机,依次进入“属性→设备管理器→磁盘驱动器”找到你的U盘,鼠标右击它进入属性窗口的详细信息界面。在属性下拉菜单中,选择“父系”,这时在“值”的对话框中就会出现一串字符。其中“VID_xxxx&PID_xxxx”就是USB2.0存储设备唯一的INF设备标识如图中U盘显示为 “VID_0781&PID_556B”,所以这个U盘的INF设备标识就是“0781556B”。 

http://yj.cfan.com.cn/upload/h005/h78/img201212161409370.jpg

http://yj.cfan.com.cn/upload/h005/h78/img201212161409371.JPG

3、 在开始菜单的运行窗口输入regedit进入注册表编辑器,依次展开“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbstor”。在usbstor下新建一个“0781556B”的项(在指定位置新建项,名称是USB设备的INF值),在该项的窗口右边的空白处右击新建一个名为“MaximumTransferLength”的DWORD值,然后双击它并把十进制值改为“2097120”(,对应的十六进制数值为“1fffe0”,也就是2MB,保存后重启系统。

http://yj.cfan.com.cn/upload/h005/h78/img201212161409372.jpg

http://yj.cfan.com.cn/upload/h005/h78/img201212161409373.JPG

在桌面云中使用方法:
针对磁盘重定向,在WindowsTC上,按下面方式,安装微软补丁,修改注册表,可以加速读写USB存储设备。
针对USB重定向,在虚拟机中,安装微软补丁,修改注册表,可以加速读写USB存储设备。

实验室测试数据:

接下来就是实际的测试环节了。笔者尝试用8GB的SanDisk U盘在添加INF信息前后进行了测试。

 打补丁:U盘写数据到VM对比

【外设篇】提升桌面云U盘拷贝速度慢方法-1301179-5

打补丁:VM写数据到U

【外设篇】提升桌面云U盘拷贝速度慢方法-1301179-6注意:如果有多个U盘或闪存,每一个存储设备的INF设备信息都要添加到注册表中。经过多次测试,本补丁主要针对U盘,SD卡加读卡器基本无效。

当前该补丁支持以下操作系统:

Windows 7

Windows 7 Service Pack 1 (SP1)

Windows Server 2008 R2

Windows Server 2008 R2 Service Pack 1 (SP)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下专题推荐:

  • x
  • 常规:

点评 回复

跳转到指定楼层
式微
式微   发表于 2015-5-12 09:36:12 已赞(0) 赞(0)

1111111

  • x
  • 常规:

点评 回复

在云途
在云途  导师 发表于 2015-4-22 16:37:00 已赞(0) 赞(0)

非常有用,谢谢。

  • x
  • 常规:

点评 回复

Bwish
Bwish  精英 发表于 2015-4-22 17:36:14 已赞(0) 赞(0)

很实用,谢谢

  • x
  • 常规:

点评 回复

hustxyj
hustxyj   发表于 2015-8-18 16:18:15 已赞(0) 赞(0)

赞一个!

有个问题,为何我写入U盘时,最大的包还只有64K?导致写入的速度没有提升

  • x
  • 常规:

点评 回复

式微
式微   发表于 2015-8-19 08:59:16 已赞(0) 赞(0)

回复 5 楼

Windows客户端建议用文件夹重定向,在R5C30以后Linux客户端也将支持文件夹重定向,这样拷贝速度会有大幅提升,谢谢!

  • x
  • 常规:

点评 回复

初级用户1
初级用户1   发表于 2015-8-20 07:20:17 已赞(0) 赞(0)

非常有用,学习了。
  • x
  • 常规:

点评 回复

jianghao001
jianghao001  新锐 发表于 2017-5-9 11:59:54 已赞(0) 赞(0)

【外设篇】提升桌面云U盘拷贝速度慢方法-2268623-1
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录