详情页标题前

腾讯云对象存储COS 压测指南

详情页1

COSBench 简介

COSBench 是一款由 Intel 开源,用于对象存储的压测工具。腾讯云对象存储(Cloud Object Storage,COS)作为兼容 S3 协议的对象存储系统,可使用该工具进行读写性能压测。

系统环境

工具推荐运行在 CentOS 7.0 及其以上版本,ubuntu 环境可能存在预期外的问题。

影响性能的因素

机器核心数:机器核心数较少,开启的 worker 数目较多,容易在上下文切换上产生大量的开销,建议采用32或64核进行压测。机器网卡:机器流出的流量受网卡限制,大文件的流量压力测试,建议采用万兆以上的网卡。请求网络链路:外网链路质量不一,同时外网下载会产生外网下行流量费用,建议同地域使用内网访问。测试时间:性能测试时,建议测试时间适当延长,获取一个较为稳定的数值。测试环境:程序运行的 JDK 版本,同样也会影响性能。例如测试 HTTPS,低版本客户端的加密算法存在 GCM BUG,随机数发生器可能存在锁等问题。

COSBench 实践步骤

1. 从 COSBench GitHub 网站 下载 COSBench 0.4.2.c4.zip 压缩包,并在服务器上进行解压。2. 安装 COSBench 的依赖库,执行如下命令。对于 centos 系统,执行如下命令安装依赖:

sudo yum install nmap-ncat java curl java-1.8.0-openjdk-devel -y

对于 ubuntu 系统,执行如下命令安装依赖

sudo apt install nmap openjdk-8-jdk 

3. 编辑 s3-config-sample.xml 文件并添加任务配置信息,任务配置主要包含如下五个阶段:3.1 init 阶段:创建存储桶。3.2 prepare 阶段:worker 线程,PUT 上传指定大小的对象,用于 main 阶段读取。3.3 main 阶段:worker 线程混合读写对象,运行指定时长。3.4 cleanup 阶段,删除生成的对象。3.5 dispose 阶段:删除存储桶。示例配置如下:

<?xml version="1.0" encoding="UTF-8" ?><workload name="s3-50M-sample" description="sample benchmark for s3">
<storage type="s3" config="accesskey=AKIDHZRLB9Ibhdp7Y7gyQq6BOk1997xxxxxx;secretkey=YaWIuQmCSZ5ZMniUM6hiaLxHnxxxxxx;endpoint=http://cos.ap-beijing.myqcloud.com" />
<workflow>
<workstage name="init"> <work type="init" workers="10" config="cprefix=examplebucket;csuffix=-1250000000;containers=r(1,10)" /> </workstage>
<workstage name="prepare"> <work type="prepare" workers="100" config="cprefix=examplebucket;csuffix=-1250000000;containers=r(1,10);objects=r(1,1000);sizes=c(50)MB" /> </workstage>
<workstage name="main"> <work name="main" workers="100" runtime="300"> <operation type="read" ratio="50" config="cprefix=examplebucket;csuffix=-1250000000;containers=u(1,10);objects=u(1,1000)" /> <operation type="write" ratio="50" config="cprefix=examplebucket;csuffix=-1250000000;containers=u(1,10);objects=u(1000,2000);sizes=c(50)MB" /> </work> </workstage>
<workstage name="cleanup"> <work type="cleanup" workers="10" config="cprefix=examplebucket;csuffix=-1250000000;containers=r(1,10);objects=r(1,2000)" /> </workstage>
<workstage name="dispose"> <work type="dispose" workers="10" config="cprefix=examplebucket;csuffix=-1250000000;containers=r(1,10)" /> </workstage>
</workflow>
</workload>

参数说明

参数 描述
accesskey、secretkey 密钥信息,建议使用子账号密钥,授权遵循 最小权限指引,降低使用风险。子账号密钥获取可参考 子账号访问密钥管理
cprefix 存储桶名称前缀,例如 examplebucket
containers 为存储桶名称数值区间,最后的存储桶名称由 cprefix 和 containers 组成,例如:examplebucket1,examplebucket2
csuffix 用户的 APPID,需注意 APPID 前面带上符号 ,例如 -1250000000
runtime 压测运行时间
ratio 读和写的比例
workers 压测线程数

4. 编辑 cosbench-start.sh 文件,在 Java 启动行添加如下参数,关闭 s3 的 md5 校验功能:

-Dcom.amazonaws.services.s3.disableGetObjectMD5Validation=true



腾讯云对象存储COS 压测指南


5. 启动 cosbench 服务。 对于 centos 系统,执行以下命令:

sudo bash start-all.sh

对于 ubuntu 系统,执行以下命令:

sudo bash start-driver.sh &sudo bash start-controller.sh &

6. 执行以下命令提交任务。

sudo bash cli.sh submit conf/s3-config-sample.xml

并通过该网址 http://ip:19088/controller/index.html(ip 替换为用户的压测机器 IP)查看执行状态:

腾讯云对象存储COS 压测指南

此时可以看到五个执行阶段,如下图所示:

腾讯云对象存储COS 压测指南


7. 下面展示的是所属地域为北京地域、32核、内网带宽为17Gbps 的 CVM 进行上传和下载性能测试,包括以下2个阶段: 7.1 prepare 阶段:100个 worker 线程,上传1000个50MB 对象。 7.2 main 阶段:100个 worker 线程混合读写对象,运行300秒。 经过以上阶段1和阶段2的性能压测,结果如下:

腾讯云对象存储COS 压测指南


8. 执行以下命令,停止测试服务。

sudo bash stop-all.sh



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/144319.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云TDSQL-C MySQL版欠费说明

    包年包月 预警说明 云资源会在到期前7天至资源释放的期间,向用户推送预警消息。系统将通过邮件及短信等方式通知到腾讯云账户的创建者以及全局资源协作者、财务协作者(实际接收方式以用户 消息中心 订阅配置为准)。到期前7天至资源释放期间的消息提醒机制,请参见 预付费计费说明 > 计费流程。 回收机制 云数据库资源到期前7天,系统会开始给用户发送续费提醒通知。…

    腾讯云 2023年12月9日
  • 腾讯云对象存储如何选择授权方式

    存储桶策略、用户策略、存储桶 ACL 和对象 ACL 的差异点 用户策略、存储桶策略、存储桶 ACL 和对象 ACL 之间的差异点,如表1所示。用户策略是基于用户的授权方式,存储桶策略、存储桶 ACL 和对象 ACL 是基于资源的授权方式。用户策略和存储桶策略的授权均基于访问策略语言,权限控制的灵活程度更高,授权可以具体到每一个操作(action)且授权效果…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储CRC64 校验

    简介 数据在客户端和服务器间传输时可能会出现错误,COS 除了可以通过 MD5 和自定义属性 验证数据完整性外,还可以通过 CRC64 检验码来进行数据校验。COS 会对新上传的对象进行 CRC64 计算,并将结果作为对象的属性进行存储,随后在返回的响应头部中携带 x-cos-hash-crc64ecma,该头部表示上传对象的 CRC64 值,根据 ECMA…

    腾讯云 2023年12月9日
  • 腾讯云TDSQL-C MySQL版使用 SCF 连接 TDSQL-C MySQL 版

    如果您需要在云函数(SCF)中使用 TDSQL-C MySQL 版,您可使用连接池或云函数团队提供的 SDK 来连接 TDSQL-C MySQL 版。连接池具备自动重连功能,可有效避免因云函数底层或者数据库释放连接,造成连接不可用的情况。详细步骤请参见 使用 SCF 连接数据库。 官网1折活动,限时活动,即将结束,速速收藏同尘科技为腾讯云授权服务中心。购买腾…

    腾讯云 2023年12月9日
  • 阿里云日志服务SLSget_external_store-云淘科技

    调用CLI命令查询指定外部数据源的详细配置。 命令格式 aliyunlog log get_external_store –project_name= –store_name= [–access-id=] [–access-key=] [–sts-token=] [–region-endpoint=] [–client-name=] [–jm…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。