COS 压测指南

news2024/11/15 20:04:51

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 文件并添加任务配置信息,任务配置主要包含如下五个阶段:

    1. init 阶段:创建存储桶。
    2. prepare 阶段:worker 线程,PUT 上传指定大小的对象,用于 main 阶段读取。
    3. main 阶段:worker 线程混合读写对象,运行指定时长。
    4. cleanup 阶段,删除生成的对象。
    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

  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)查看执行状态:


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

  7. 下面展示的是所属地域为北京地域、32核、内网带宽为17Gbps 的 CVM 进行上传和下载性能测试,包括以下2个阶段:

    1. prepare 阶段:100个 worker 线程,上传1000个50MB 对象。
    2. main 阶段:100个 worker 线程混合读写对象,运行300秒。

    经过以上阶段1和阶段2的性能压测,结果如下:

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

    sudo bash stop-all.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/487734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyCharm 下载安装教程(中文语言包)

文章目录 下载安装简单创建项目中文语言包 Py Charm是由JetBrains打造的一款Python IDE&#xff08;Integrated Development Environment&#xff0c;集成开发环境&#xff09; 下载 点击链接进入官网&#xff1a;https://www.jetbrains.com/pycharm/download/#sectionwindows …

PM864AK01-eA一极用于直流电压电平,地面是用于海底/地下电缆的永久返回路径

​ PM864AK01-eA一极用于直流电压电平&#xff0c;地面是用于海底/地下电缆的永久返回路径 高压直流输电 电力以交流电的形式产生和传输&#xff0c;但对于长距离传输&#xff0c;会产生很大的损耗&#xff0c;或者在两个交流系统无法同步的情况下。所以我们可以用直流输电的方…

【Java EE】-HTTP请求构造以及HTTPS的加密流程

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 分享: 在满园弥漫的沉静的光芒之前&#xff0c;一个人更容易看到时间&#xff0c;并看到自己的身影。——史铁生《我与地坛》 主要内容&#xff1a;构造http请求&…

大数据Doris(十一):Aggregate 数据模型

文章目录 Aggregate 数据模型 一、导入数据聚合 二、保留明细数据

16 opencv 图像开和闭运算

文章目录 形态学处理操作函数核操作 综合案例 形态学处理 处理类型操作作用开运算先腐蚀再膨胀可在纤细点出分离物体。有助于消除噪音闭运算先膨胀后腐蚀用于排除前景对象中的小孔或对象上的小黑点形态学梯度膨胀图与腐蚀图之差用于保留目标物体的边缘轮廓顶帽原图与开运算图之…

AIgo C++ 面向ai算法的c++

https://github.com/shouxieai/algorithm-cpp http://aipj.aijdjy.com/course/13/task/266/show# https://www.yuque.com/books/share/0729cafa-4751-40e5-9f5d-bb617c0e9708?# 《C》 &#x1f4bb; AI算法视角下的c 视频问手写ai vx: shouxie_ai [共11节课&#xff0c;每节课…

企业微信第三方应用发邮件流程及java代码

具体思路&#xff1a; 1、申请企业微信。 2、在企业微信创建一个邮箱。 3、自建第三方应用。 4、从第三方应用&#xff0c;获取“Secret”值。 5、在第三方应用中&#xff0c;建立企业可信IP。 6、获取企业corpid。 7、写java代码&#xff0c;获取access_token。 参考&a…

华为开源自研AI框架昇思MindSpore应用案例:ResNet50迁移学习

目录 一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例 AI融合计算的蓬勃发展&#xff0c;对框架能力提出了新的需求和挑战。问题场景和模型设计逐渐复杂化&#xff0c;使得业务数据的维度和计算逻辑的嵌套深度也相应增长。结合向量化优化手段可以有效优化性能瓶…

Delving into Localization Errors for Monocular 3D Object Detection 论文学习

论文地址&#xff1a;Delving into Localization Errors for Monocular 3D Object Detection Github地址&#xff1a;Delving into Localization Errors for Monocular 3D Object Detection 1. 解决了什么问题&#xff1f; 从单目图像准确地估计 3D 框是自动驾驶领域的重要功…

图像去模糊中的均值滤波、高斯滤波、双边滤波简单介绍及代码演示

文章目录 图像去模糊中的均值滤波、高斯滤波和双边滤波简单介绍均值滤波高斯滤波双边滤波总结 图像去模糊中的均值滤波、高斯滤波和双边滤波简单介绍 图像模糊是指图像中的细节和边缘被平滑和模糊化&#xff0c;通常是由于图像采集设备或者图像传输过程中的噪声和抖动引起的。…

SQL 执行顺序

数据的关联过程 from&join&where group by having&where select order by limit 这是一条标准的查询语句: 这是我们实际上SQL执行顺序&#xff1a; 我们先执行from,join来确定表之间的连接关系&#xff0c;得到初步的数据 where对数据进行普通的初步的筛选 …

低代码开发重要工具:jvs列表页中如何实现左树右表的配置

左树右表是一种数据查询展示方式&#xff0c;通常用于处理带有层级关系的查询条件的数据展示。它的基本思想是将一个大表分成左树和右表&#xff0c;左树是一个树形结构&#xff0c;右表是一个扁平的表。通过在左树上建立索引&#xff0c;可以大大提高查询效率。 左树右表的实…

C/C++每日一练(20230504)

目录 1. 将数据流变为多个不相交区间 &#x1f31f;&#x1f31f;&#x1f31f; 2. 冒泡法排序大小 &#x1f31f; 3. Pow(x, n) &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专…

使用机器人为无线传感器网络提供服务(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 无线传感器网络是一种无线网络&#xff0c;包括大量循环的、自定向的、微小的、低功耗的设备&#xff0c;称为传感器节点&…

MySQL存储引擎对比总结

文章目录 一、存储引擎是什么二、存储引擎有哪些三、常用存储引擎介绍1、InnoDB2、MyISAM3、MEMORY4、MRG_MYISAM &#xff08;MERGE&#xff09;5、ARCHIVE6、BLACKHOLE7、FEDERATED8、CSV9、PERFORMANCE_SCHEMA10、NDB 一、存储引擎是什么 存储引擎是数据库的核心&#xff0…

微信小程序实现订阅消息功能(Node服务器篇)

在上一篇内容当中在微信小程序中实现订阅消息功能&#xff0c;都在客户端(小程序)中来实现的&#xff0c;在客户端中模拟了服务器端来进行发送订阅消息的功能&#xff0c;那么本篇就将上一篇内容中仅在客户端中实现发送订阅消息功能进行一个分离&#xff0c;使用 Node.js 搭载后…

吧佬联手抵制奸商,百元级游戏电脑横出江湖

最近小忆闲得在电商平台搜索了下关键词「游戏主机」&#xff0c;不出意外销量榜前列清一色全是「i9 级高端游戏主机」。 这些主机不论配置单介绍还是十万百万级销量宣传标语&#xff0c;都给人一种血赚不亏的「豪华」感。 咱就说时代在变&#xff0c;唯一不变的是奸商们的套路与…

什么样的台灯灯光是好的?推荐中性色温的护眼台灯

台灯的灯光指的是白光和黄光&#xff0c;就是台灯的色温&#xff0c;而色温也是也会影响我们的直观感受的。 低色温&#xff08;>3000K&#xff09;光源偏黄&#xff0c;属于暖色调&#xff0c;适合休息高色温&#xff08;<5000K&#xff09;光源偏白&#xff0c;属于冷…

MWORKS.Sysplorer 2023a前瞻版上线——面向MBD全流程的覆盖

信息物理融合系统&#xff08;CPS&#xff09;的设计、建模与仿真是装备数字化的核心技术。MWORKS.Sysplorer经过多年的发展&#xff0c;已经支持机械、电气、流体、热力学等多个物理域的统一建模和统一仿真求解&#xff0c;解决了物理域统一表达与统一建模问题。为了支持完整的…

嘉立创EDA元件库开发环境及设计介绍

一、元件符号概述 如图1所示&#xff0c;元件符号是元件在原理图中的表现形式&#xff0c;主要由元件边框、管脚&#xff08;包括管脚符号和管脚名称&#xff09;、元件名称及说明组成&#xff0c;通过放置的管脚来建立电气连接关系。元件符号中管脚序号是和电子元件实物的管脚…