首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure Blob存储-复制速度是多少?

Azure Blob存储-复制速度是多少?
EN

Stack Overflow用户
提问于 2022-06-13 15:46:13
回答 1查看 167关注 0票数 0

我需要生成一个SAS链接来发送到其他服务,这个服务将使用CopyFromUrl方法复制文件,我想根据文件的大小来设置过期时间,但是…。我在文档中找不到任何页面,上面写着复制操作的速度。有人能用这个指引我吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-03 08:35:41

您可以测试从世界各地的Azure存储服务下载速度。通过这些AzureSpeed服务。

您可以使用这些代码检查下载速度。在我的我使用这些代码检查3个文件的速度。21 mb,100 mb和675 mb文件。

代码语言:javascript
复制
static async Task Main(string[] args)
        {
            await GetFileAsync("https://myaccount/210mb.pdf?sp=r&st=2022-07-02T10:22:24Z&se=2022-07-03T18:22:24Z&sv=2021-06-08&sr=b&sig=zwhyKzuGhuUxxX8PEpgnwFzbhfg4x1UoPzNUvclQQGo%3D", 21);
            await GetFileAsync("https://myaccount/100mb.pdf?sp=r&st=2022-07-02T10:23:24Z&se=2022-07-03T18:23:24Z&sv=2021-06-08&sr=b&sig=AFRSJkdgeHeCyAba%2F3vSTwGUvGDj1J%2B8netAvgOsk5U%3D", 100);
            await GetFileAsync("https://myaccount/1gb.pdf?sp=r&st=2022-07-02T10:23:46Z&se=2022-07-03T18:23:46Z&sv=2021-06-08&sr=b&sig=cydqUlULOTnY8ruEo2ixSJX6ZQGAbCLnlcKzjLD4KXo%3D", 675);

        }
代码语言:javascript
复制
 static async Task GetFileAsync(string file, int size)
        {
            HttpClient client = new HttpClient();

            Stopwatch sw = new Stopwatch();
            sw.Start();
            using (var stream = await client.GetStreamAsync(file))
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    byte[] buffer = new byte[1024];
                    var totalBytes = client.MaxResponseContentBufferSize;
                    var receivedBytes = 0;

                    for (; ; )
                    {
                        int bytesRead = await stream.ReadAsync(buffer, 0, buffer.Length);
                        if (bytesRead == 0)
                        {
                            await Task.Yield();
                            break;
                        }

                        receivedBytes += bytesRead;

                        int received = unchecked((int)receivedBytes);

                        Console.Write("\r" + received / (1024) + "Kb");
                    }
                    sw.Stop();
                    double speeds = receivedBytes/sw.Elapsed.TotalSeconds;
                    Console.WriteLine("\n");
                    Console.WriteLine(Math.Round(speeds/1024) + " bytes/s, Total Time taken for downloading "+size +" mb size file :- "+ sw.Elapsed.TotalSeconds+" Seconds");
                    //var speed = size / sw.Elapsed.TotalSeconds;
                    //Console.Write("\t[" + Math.Round(speed / 1024, 2) + " MB/s]");
                    Console.WriteLine("\n");
                }
            }
        }

输出

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72605598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档