Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage传输速度
《Windows Azure Platform 系列文章目录》
Update 2016-09-28
想要在Azure云端,使用AzCopy工具,从Azure China 上海数据中心存储账户,把文件拷贝到另一个数据中心的存储账户里,速度达到600MB/S
请按照以下方法:
1.在微软云端,创建1台至少8Core的虚拟机。注意AzCopy在执行时是多线程的,Azure云端的虚拟机配置越高,则AzCopy性能越好
2.安装AzCopy
3.在执行AzCopy的时候,加参数 /SyncCopy
请注意:使用/SyncCopy的时候,会把Azure Storage 源地址的存储账号的数据,保存到AzCopy运行的虚拟机的内存里
所以千万不能在本地PC机上,运行AzCopy的时候执行 /SyncCopy,否则拷贝的性能很差
http://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/
Update 2015-11-13
应要求,发一下关于Data Movement Library (DML) 的信息。
这个library 包含了AzCopy 核心逻辑,并且已经开源,用户可以比较轻易的集成它到已有的系统中来取得和AzCopy相同的性能,现在你可以从Nuget (http://nuget.org/packages/Microsoft.Azure.Storage.DataMovement 安装,
或是到Github (https://github.com/Azure/azure-storage-net-data-movement )下载源代码,请通过博客查看更多细节ACOM (https://azure.microsoft.com/en-us/blog/introducing-azure-storage-data-movement-library-preview-2/)。
Update 2015-05-26
如果在公司内部,使用代理服务器上网的话,需要修改AzCopy的配置,在AzCopy.exe的相同目录下,新增文件azcopy.exe.config
如果不需要Proxy,config文件配置如下:
<configuration>
<system.net>
<defaultProxy enabled=”false” />
</system.net>
</configuration>
如果需要Proxy,config文件配置如下(在proxyaddress中,输入相应的代理服务器地址)
<configuration>
<system.net>
<defaultProxy>
<proxy
proxyaddress="http://127.0.0.1:8080"
bypassonlocal="true"
/>
</defaultProxy>
</system.net>
</configuration>
参考资料:https://msdn.microsoft.com/en-us/library/aa903360(v=vs.71).aspx
在笔者之前的文档中,已经介绍了管理Azure Storage的常用工具,具体内容请参考:Windows Azure Storage (7) 使用工具管理Windows Azure Storage
文章内容主要分为3大内容:
一.AzCopy命令行工具
二.Azure Blob Browser
三.结合AzCopy,加快Azure Cloud Service部署速度
一.AzCopy命令行工具
这里笔者强烈推荐另外一个工具AzCopy,不同于之前文章中介绍的工具。AzCopy命令行工具,是经过优化的、高性能Azure Storage管理工具,可以管理Azure Blob, File和Table。笔者强烈使用这个工具,因为性能真的非常好。
AzCopy可同时管理Global Azure(windowsazure.com)和国内由世纪互联运维的Azure China。
最新的下载地址是:http://aka.ms/downloadazcopy。我们下载后,直接安装运行。
如果你的操作系统是64位的话,安装路径在%ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy。如果你的操作系统是32位的话,安装路径在%ProgramFiles%\Microsoft SDKs\Azure\
我们以管理员身份,运行cmd命令行。通过cd命令,进入到AzCopy.exe所在的目录。简单来说AzCopy的语法如下:
AzCopy /Source:<source> /Dest:<destination> /Pattern:<filepattern> [Options]
感谢QQ群的网友提供信息,如果您的Azure文件名包含空格的话,文件名请用双括号引用。如下:
AzCopy /Source:"<source>" /Dest:"<destination>" /Pattern:<filepattern> [Options]
如果你用国内由世纪互联运维的Azure China:
Storage DNS: https://[yourstorageaccountname].blob.core.windows.net/
接下来,我举几个简单的例子。
1.将本地计算某一文件,拷贝至Azure Storage中
把本地的计算机C盘根目录下的helloworld.txt文件,复制到Azure Blob Storage:https://leizhangstorage.blob.core.windows.net\files这个Container下。
该命令具体如下:
AzCopy /Source:C:\ /Dest:https://leizhangstorage.blob.core.windows.net/files /DestKey:[存储账号的Key] /Pattern:helloworld.txt
注意,如果上面的存储账号没有files这个container,则执行该命令的时候,AzCopy会自动创建该container,但是创建的新的Container的访问属性为Off,即不允许匿名访问
2.将本地计算机某个目录下的所有文件和子目录,递归复制到Azure Storage中
该命令如下:
AzCopy /Source:C:\myfolder /Dest:https://leizhangstorage.blob.core.windows.net/files /DestKey:[存储账号的Key] /S
注意上面的命令行中,最后的参数是 /S
假设C:\myfolder下有以下目录:
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt
则执行上述AzCopy命令后,上面所有5个文件都会被复制到Azure Storage中。
3.将本地计算机某个目录下的所有文件,复制到Azure Storage中
假设C:\myfolder下有以下目录:
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt
则执行以下命令:
AzCopy /Source:C:\myfolder /Dest:https://leizhangstorage.blob.core.windows.net/files /DestKey:[存储账号的Key]
注意上面的命令不同于命令3,最后是没有/S的
这样,只有在C:\myfolder根目录下的文件
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
才会被复制到Azure Storage Account下
4.将文件从一个storage account保存至另外一个storage account
假设我将storagefrom中container name为files的文件helloworld.txt,复制到storageto的同样的container name中去,则具体命令如下:
AzCopy /Source:https://storagefrom.blob.core.windows.net/files /Dest:https://storageto.blob.core.windows.net/files /SourceKey:[storagefrom的密钥] /DestKey:[storageto的密钥] /Pattern:helloworld.txt
5.将一个Storage Account某个Container下的所有文件,复制到另外一个Storage Account下。
假设我有一个Storage Account : storagefrom,里面有一个Container Name: public
我需要把上面的Container内容,复制到另外一个Storage Account里:storageto
这里我用的是Azure China的Endpoint:
AzCopy /Source:https://storagefrom.blob.core.chinacloudapi.cn/files /Dest:https://storageto.blob.core.chinacloudapi.cn/files /SourceKey:[storagefrom的密钥] /DestKey:[storageto的密钥] /S
其他命令,请参考Azure MSDN文档:http://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/
Update 2015-10-18
测试一下,在Azure China创建一台至少8Core的VM,然后在Azure VM运行AzCopy,从上海的Storage Account将VHD拷贝到北京的Storage Account,速度感人
想要在Azure云端,使用AzCopy工具,从Azure China 上海数据中心存储账户,把文件拷贝到另一个数据中心的存储账户里,速度达到600MB/S
请按照以下方法:
1.在微软云端,创建1台至少8Core的虚拟机。注意AzCopy在执行时是多线程的,Azure云端的虚拟机配置越高,则AzCopy性能越好
2.安装AzCopy
3.在执行AzCopy的时候,加参数 /SyncCopy
请注意:使用/SyncCopy的时候,会把Azure Storage 源地址的存储账号的数据,保存到AzCopy运行的虚拟机的内存里(和Azure VM的硬盘无关)
所以千万不能在本地PC机上,运行AzCopy的时候执行 /SyncCopy,否则拷贝的性能很差
http://azure.microsoft.com/en-us/documentation/articles/storage-use-azcopy/
610.84 MB/S
二.Azure Blob Browser
上面介绍的AzCopy毕竟是命令行工具,如果对命令行工具不熟悉的话,可以使用BlobBrowser。
BlobBrowser是GUI图形界面的工具,背后其实是利用AzCopy命令行工具。
我们安装完BlobBrowser之后,可以在界面上进行配置。如下图:
上图中,我们点击Add,增加新的存储账号信息:
在弹出窗口中,输入以下信息:
上图中,
- Name输入显示名称
- Storage Account Name,输入存储账号名称
- Storage Account Key,输入存储账号的密钥
注意,如果使用国内由世纪互联运维的Azure,需要在上图中,勾选Use China Endpoint。
登录完毕后,UI结构如下,左侧为本地文件目录,右侧为Azure Storage Container
我们点击上图中的Upload就可以上传一个文件或者文件夹了
注意:文件夹默认是递归复制的,也就是把文件夹下的多级目录都上传到Azure Storage中
上传完毕后,点击右侧列表中的文件。右键属性。如下图:
就可以看到这个文件的URL
三.结合AzCopy,加快Azure Cloud Service部署速度
另外还要强烈推荐使用AzCopy,更新Windows Azure Cloud Service。
笔者在之前的项目中,遇到某个合作伙伴的Cloud Service Package文件超过200M。开发团队抱怨使用Visual Studio 2013 Publish Project的时候速度非常慢,经过笔者仔细排查后发现,主要的原因是Visual Studio上传CSPKG和CSDEF的过程是单线程的,上传效率不高。
1.我们首先在Azure Management Portal,创建一个空的Cloud Service,如下图:
2.然后使用上面介绍的AzCopy,将CSPKG和CSDEF文件,复制到Azure Blob中。步骤略
3.然后我们回到Management Portal,找到步骤1中创建LeiPaaS项目,选择Configure,并点击Upload A New Production Deployment。如下图:
4.在弹出的窗口中,PACKAGE和CONFIGURATION都选择From Storage,浏览到我们在步骤2中上传的CSPKG和CSDEF文件。
这样就会极大的加快部署Cloud Service的速度。
本博-三石Blog(下文简称本博),在本博客文章结尾处右下脚未注明转载、来源、出处的作品(内容)均为本博原创,本站对于原创作品内容对其保留版权,请勿随意转载,如若真有需要的朋友可以发Mail联系我;转载本博原创作品(内容)也必须遵循“署名-非商业用途-保持一致”的创作共用协议,请务必以文字链接的形式标明或保留文章原始出处和博客作者(Lei Zhang)的信息,关于本博摄影作品请务必注意保留(www.cnblog.com/threestone)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。
Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage传输速度的更多相关文章
- windows下通过ping和tracert工具来测试网站访问速度
一.环境 OS: windows 二.步骤 2.1.ping mirrors.163.com Pinging mirrors.163.com [23.111.1.151] with 32 bytes ...
- Azure Tips 第一期: Azure 中的安全监视工具,数据存储, 动态数据屏蔽以及资源部署
# 1 Azure 中的安全监视工具 微软 Azure 云提供以下监控工具,可用于观察操作和检测异常行为. Azure 安全中心 Azure 安全中心是一个统一的基础结构安全管理系统,可以增强数据中心 ...
- Windows Azure入门教学系列 (四):使用Blob Storage
本文将会介绍如何使用Blob Storage.Blob Storage可以看做是云端的文件系统.与桌面操作系统上不同,我们是通过REST API来进行对文件的操作.有关REST API的详细信息,请参 ...
- Azure Storage 系列(七)使用Azure File Storage
一,引言 今天我们开始介绍 Storage 中的最后一个类型的存储----- File Storage(文件存储),Azure File Storage 在云端提供完全托管的文件共享,这些共享项可通过 ...
- Azure Storage 系列(六)使用Azure Queue Storage
一,引言 在之前介绍到 Azure Storage 第一篇文章中就有介绍到 Azure Storage 是 Azure 上提供的一项存储服务,Azure 存储包括 对象.文件.磁盘.队列和表存储.这里 ...
- [SDK2.2]Windows Azure Cloud Service (35) 使用VS2013发布Azure Cloud Service
<Windows Azure Platform 系列文章目录> 好久没有更新BLOG了,今天我们继续Windows Azure相关的内容. 笔者最近把Visual Studio升级到了20 ...
- 通过新的 Azure 媒体服务资源管理器工具管理媒体工作流
Xavier Pouyat Azure 媒体服务高级项目经理 几个月前,一家广播公司找到了我,希望我向他们提供一种图形界面工具,好让他们使用 Azure媒体服务来上传.管理资产并对资产进行编 ...
- instsrv.exe下载和使用方法(微软Windows Server 2003 Resource Kit Tools工具中的一个)
instsrv.exe是微软Windows Server 2003 Resource Kit Tools工具中的一个. Windows Server 2003 Resource Kit Tools是一 ...
- Azure data studio 跨平台数据库管理工具试用
最近折腾 azure sql database 的时候发现了微软的一款新的数据库管理工具: azure data studio.从名字上看 azure data studio 好像是专门为 azure ...
随机推荐
- 《UML大战需求分析》阅读随笔(四)
状态机图(State Machine Diagram),状态机图是通过描述某事物状态的改变来展现流程的.一般适用于流程围绕某个事物展开,例如请假的流程就围绕请假条的展开.语法,开始于结束符号,实心圆表 ...
- linux 查找文件和搜索文件
按照文件名搜索 find . -name 'file name' grep -lr 'content' filepath
- Git 基本概念及常用命令
一.基本概念 文件的三种状态:(任何一个文件在git中都有以下三种状态) 1) 已提交(committed):表示该文件已经被安全地保存在本地数据库中了. 2) 已修改(modified):表示修改了 ...
- XmlRpc.net 出参字符串还原为结构体
上一篇随笔写的是入参结构体转字符串,现在需要把保存到服务器的字符串还原为结构体,这里记录一下操作步骤: 1. 格式化字符串. XmlRpcDeserializer 支持反序列化<struct&g ...
- [8.2] Robot in a Grid
Imagine a robot sitting on the upper left corner of grid with r rows and c columns. The robot can on ...
- ZooKeeper个人笔记客户端watcher和AsycCallback回调
每一个Watcher具有如下属性: 1.KeeperState 2.EventType 3.path 4.process(WatchedEvent evnet)回掉方法 Watcher干嘛的?用户监听 ...
- display:table-cell
布局神器display:table-cell Author:owenhong2015-06-17 随着时间的推进,ie6.ie7在中国浏览器市场的占有率越来越低的情况,我现在工作的团队,经过用户访问数 ...
- 整理 PHPstorm实用个人配置,修改调整个性化快捷键,修改使用phpstorm创建的模板的默认注释:
对你有助请点赞,请顶------送人玫瑰,手留余香! 1:58 2016/3/12 整理PHPstorm实用个人配置,修改调整个性化快捷键,修改使用phpstorm创建的模板的默认注释: PHPsto ...
- .Net程序员之不学Java做安卓开发:奇怪的Java语法
1.final关键字:用以修饰类时,表示类不可以被继承,指向基本数据类型或者引用类型时,该类只可以在声明的时候初始化 2.@Override 类似C# 中override关键字,表示对父类的重写.网上 ...
- CentOS 安装 gcc-c++
由于网络环境的问题,很难在线安装,可以 直接挂载安装盘文件,然后在Pacakage 中进行本地安装