我已经测试了下载速度。我希望我的结果对你有用。
- 我上传
StorageExplorer.exe
作为下载测试的源文件。文件大小为 92.5M。
- 通过下载文件
Azure Storage Explore
,它会花费1 minute and 07 seconds
.
- 通过 chrome 浏览器在门户中下载文件,需要
58 seconds
.
- 通过我的测试代码下载文件。
① 从portal
或复制网址Storage Explore
。
网址如:https://p*****ge.blob.core.windows.net/testcontainer/StorageExplorer.exe
经过我的代码测试,会1 minute and 52 seconds
很耗时,而且很不稳定,有时测试下载时间会比较长。
② 从AzCopy Command
.
url格式如下: https://pan********ge.blob.core.windows.net/testcontainer/StorageExplorer.exe?se=2020-09-18T07%3A55%3A28Z&sp=rl&sv=2018-03-28&sr=c&sig=5kJyTBwHHRS******mlj3%2FWj9CmvQriXCMi4%3D
用相同的代码测试后,需要1 minute and 02 seconds
.
我的测试结论:
不要使用看起来像https://p*****ge.blob.core.windows.net/testcontainer/StorageExplorer.exe
.
您可以使用类似于从 AzCopy 命令获取的 url。
下面是我的测试代码。
- npm 我进步了
- npm 和 axios
'use strict'
const Fs = require('fs')
const Path = require('path')
const Axios = require('axios')
const ProgressBar = require('progress')
async function download () {
const url = 'https://pan*****e.blob.core.windows.net/testcontainer/StorageExplorer.exe'
console.log('Connecting …')
const { data, headers } = await Axios({
url,
method: 'GET',
responseType: 'stream'
})
const totalLength = headers['content-length']
console.log('Starting download')
const progressBar = new ProgressBar('-> downloading [:bar] :percent :etas', {
width: 40,
complete: '=',
incomplete: ' ',
renderThrottle: 1,
total: parseInt(totalLength)
})
const writer = Fs.createWriteStream(
Path.resolve(__dirname, 'software', 'StorageExplorer.exe')
)
data.on('data', (chunk) => progressBar.tick(chunk.length))
data.pipe(writer)
}
download()