控制台指南

最佳实践

开发者指南

数据湖存储

API 文档

SDK 文档

数据库文档捉虫大赛邀您参加,好礼多多> HOT
文档中心 > 对象存储 > 故障处理 > 通过外网上传文件至 COS 缓慢

现象描述

  • 现象1
    • 使用公司网络进行上传时,传输正常;使用家庭网络进行上传时,传输缓慢(低于8Mbps)。
    • 使用手机4G网络进行上传时,传输正常;使用公司网络进行上传时,传输缓慢(低于8Mbps)。
  • 现象2使用自定义域名进行上传时,传输缓慢。

可能原因

  • 针对现象1:
    1. 如果您在不同的网络环境下访问 COS 的速率不同,可能和当前网络运营商及网络环境有关。
    2. 如果您在不同的网络环境下访问 COS 的速率不同,可能因跨境访问导致。
  • 针对现象2:自定义域名 CNAME 到其他产品再转回到 COS,如内容分发网络(Content Delivery Network,CDN)、云服务器(Cloud Virtual Machine,CVM)、安全高防产品。

解决思路

  • 如果您遇到 现象1 的情况,则可以通过检查客户端网络环境的方式自行处理。操作详情请参见 排查客户端网络
  • 如果您遇到 现象2 的情况,则可以通过修改自定义域名解析的方式减少传输中转链路,提高传输效率。操作详情请参见 修改自定义域名解析

处理步骤

排查客户端网络

  1. 执行以下命令,确认 IP 地址运营商与客户端网络运营商是否相符。
    ping COS 的访问域名
    例如:
    ping examplebucket-1250000000.cos.ap-beijing.mqcloud.com
  2. 以 Chrome 浏览器为例,检查浏览器是否设置了代理。
    1. 打开 Chrome 浏览器,单击右上角的 > 设置,打开设置页面。
    2. 单击高级,在“系统”栏中选择在您计算机的代理设置,打开操作系统的设置窗口。

      检查是否设置了代理。
      • 是,关闭代理。
      • 否,请执行 步骤3
  3. 检查所用的 Wi-Fi 路由器是否存在限速。
    • 是,请根据实际需求,酌情放行。
    • 否,请执行 步骤4
  4. 检查当前网络上传 COS 的传输性能。
    以 COS 的 COSCMD 工具为例,测试一个20MB对象的上传和下载性能。
    coscmd probe -n 1 -s 20
    返回类似如下结果,分别得出平均速率(Average),最低速率(Min),最高速率(Max)。
    注意:

    请先安装 COSCMD 工具,安装完成后,通过命令行工具执行命令即可。详情可参见 COSCMD 工具。

  5. 通过浏览器访问 测速网,并结合 步骤4 检查客户端的网络带宽占用率是否达到上限。
    • 如果步骤4的速率低于客户端带宽速率,请 联系我们
    • 如果步骤4的速率等于客户端带宽速率,且未达到运营商承诺的带宽,请联系运营商客服。
    • 如果步骤4的速率等于客户端带宽速率,且达到了运营商承诺的带宽,请执行 步骤6
  6. 检查是否存在国内客户端访问海外节点 bucket,或者存在海外客户端访问国内节点 bucket。

修改自定义域名解析

  1. 检查自定义域名解析是否为 COS 域名。
    • 是,请 联系我们
      常见的 COS 域名如下:
      XXX.cos.ap-beijing.myqcloud.com  (COS 默认域名)
      XXX.cos.accelerate.myqcloud.com (COS 全球加速域名)
      XXX.cos-website.ap-beijing.myqcloud.com(COS 静态页域名)
      XXX.picbj.myqcloud.com(COS 数据万象默认域名)
    • 否,请执行 步骤2
      常见的非 COS 域名如下:
      XXX.file.myqcloud.com 或 XXX.cdn.dnsv1.com(腾讯云 CDN 默认域名)
      XXX.w.kunlungr.com(aliyunCDN 默认域名)
  2. 将自定义域名的 CNAME 解析到所需的 COS 域名中,并进行数据上传。
    例如 upload.mydomain.com cname XXX.cos.ap-beijing.myqcloud.com,具体操作请参见 开启自定义源站域名
  3. 修改客户端的默认 COS 域名。
    以 C# 代码为例:
    CosXmlConfig config = new CosXmlConfig.Builder()
    .SetConnectionTimeoutMs(60000) //设置连接超时时间,单位 毫秒 ,默认 45000ms
    .SetReadWriteTimeoutMs(40000) //设置读写超时时间,单位 毫秒 ,默认 45000ms
    .IsHttps(true) //设置默认 https 请求 
    .SetAppid(appid) //设置腾讯云账户的账户标识 APPID
    .SetRegion(region) //设置一个默认的存储桶地域
    .SetHost("XXXXXX.com") //输入自定义域名
    .SetDebugLog(true) .Build(); //创建 CosXmlConfig 对象
    其他 SDK 调用请参见 SDK 概览
目录