我使用 Azcopy Java Sdk 将文件从本地传输到 blob,与 cli 相比,它需要更多时间(几乎两倍)。对于 1GB 文件,cli 需要 8 秒,并发请求计数为 1 的 SDK 需要 40 秒和 20 秒。超过 2 秒,我没有看到传输时间有任何改善。有什么方法可以提高使用 sdk 的性能。请找到我正在使用的代码片段。
CloudStorageAccount storageAccount = null;
CloudBlobContainer container = null;
CloudBlockBlob blob = null;
BlobRequestOptions blobRequestOptions = new BlobRequestOptions();
blobRequestOptions.setConcurrentRequestCount(6);
storageAccount = CloudStorageAccount.parse(storageConnectionString);
CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
container = blobClient.getContainerReference("content");
blob = container
.getBlockBlobReference(sourceFile.getName());
blob.uploadFromFile(sourceFile.getAbsolutePath(), null, blobRequestOptions, null);
Edit1:我正在尝试使用下面的代码上传,它需要 20 秒,而 azcopy cli 需要 8 秒
blob.setStreamWriteSizeInBytes(100 * 1024 * 1024);