【存储】cosbench对象存储测试工具

发布于:2024-04-25 ⋅ 阅读:(24) ⋅ 点赞:(0)

目录

简略说明

原理

用法

详细说明

简介

用法

一 安装

二 简单验证

三 编写配置文件

四 提交配置文件下IO

五 测试结果查看

结果概览

查看详情

每秒钟的io情况查看

工作负载配置

参数配置(controller和driver)

查看错误的方法和错误记录

查看错误的方法

错误记录

简略说明

COSBench是一个用于测试对象存储系统的分布式基准测试工具

原理

存储集群建立网关,cosbench连接网关,根据用户提交的xxx.xml向集群下IO(网关地址,key,和怎么下IO在配置文件xxx.xml中配置了)

用法

1,安装:

下载cosbench:https://github.com/intel-cloud/cosbench工具,放到压力机上,解压。

COSBench0.4.2.c4.zip资源-CSDN文库

2,启动cosbench服务:

sh start-all.sh

这个时候就可以访问你启动的cosbench了: http://<IP>:19088/controller/index.html     #<IP>替换成实际地址

3,编写xml配置文件

(集群提前创建好网关,客户端(key))样例如下,文章后面会教你怎么写。

4,提交任务(xml配文件)

 在主页  http://<IP>:19088/controller/index.html 点击submit new workloads,然后选择你编写的xml配置文件,提交,cosbench就开始向你xml里面知道网关,按xml里面定义的操作,向集群下IO

详细说明

简介

COSBench是Intel团队基于java开发,对云存储的测试工具,全称是Cloud object Storage Bench

cosbench 由两个主要组件组成Driver和Controller。

Driver(Load Generator,打工的):

        负责生成工作负载,向目标对象存储发出操作(读取用户的xml配置,向集群下IO);性能统计。可通过http://:18088/driver/index.html访问

Controller(工头):

        负责协调drivers集体执行工作,收集和汇总聚合来自driver实例的运行时状态或基准测试结果。(就是比如你要多台服务器做压力机,在一台机器做Controller,Controller根据配置控制多台压力机下某个集群下IO)

        两个组件可以混合部署在一个节点上,也可以分开来部署.(比如,我们如果只有一台服务器做压力机,那我们就Controller和Driver都在这台机器上启动,这台机器既是工头又是打工的,自己控制自己下IO)

下图是,一个服务器做Controller,控制两台机器下IO)

做工头(Controller)的服务器启动start-Controller.sh脚本,做打工(driver)的服务器启动start-driver.sh脚本,(只有一台服务的情况)即做工头(Controller)又打工(driver)的,即启动start-all.sh

工头控制那些打工的,通过conf/controller.conf文件配置,如下,只有一个打工的driver1:

更详细的配置见后面的《参数配置(controller和driver)》

用法

一 安装

1、 下载COSBench工具

下载地址为:https://github.com/intel-cloud/cosbench,下载最新的包

COSBench0.4.2.c4.zip资源-CSDN文库

2、 将包放至linux任意目录中,进行解压unzip xxx.zip

3、 解压后,里面有说明文档:COSBenchUserGuide.pdf

4、 安装依赖java 和curl

yum install java curl

(COSBench底层调用了linux nc来做数据分析,所以如果linux没装nc的需要手工安装nc)

2、文件说明

官方英文使用文档(超详细,可以翻翻看)

[root@ceph-node1 0.4.2.c4]# ll *.pdf
 3rd-party-licenses.pdf
 COSBenchAdaptorDevGuide.pdf
COSBenchUserGuide.pdf

服务调用脚本说明

[root@ceph-node1 0.4.2.c4]# ll *.sh
cli.sh              #通过命令行操作cosbench
cosbench-start.sh   #其他启动脚本调用的脚本
cosbench-stop.sh    #其他启动脚本调用的脚本
start-all.sh          #在当前节点启动driver和controller组件
stop-all.sh           #在当前节点停止driver和controller组件
start-controller.sh   #在当前节点启动controller
start-driver.sh       #在当前节点启动driver
stop-controller.sh    #在当前节点关闭controller
stop-driver.sh        #在当前节点关闭driver

二 简单验证

启动cosbench

启动前为了保证driver和controller之间交互正常,需要关闭HTTP代理

[root@ceph-node1 0.4.2.c4]# unset http_proxy

启动controller和driver (服务器即做工头又做打工的)

[root@ceph-node10.4.2.c4]# sh start-all.sh

  验证

 controller在初始化时读取conf/controller.conf配置文件启动控制器服务,看配置文件可知controller的访问地址是http://<IP>:19088/controller/index.html

访问http://<IP>:19088/controller/index.html验证。

三 编写配置文件

cosbench使用负载配置文件向对象存储下发测试任务。

负载配置文件含如下参数:

  1. 网关节点ip和端口,或者高可用组的vip和端口,或者域名和端口;
  2. 对象存储用户的ak/sk;

在conf目录下有很多配置样例,详细说明,见后面的《工作负载配置》

四 提交配置文件下IO

有两种方法:

1,命令行:

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

访问http://<IP>:19088/controller/index.html 就可以看到执行情况

2,web界面提交

 在主页  http://<IP>:19088/controller/index.html 点击submit new workloads,然后选择xml配置文件

五 测试结果查看

结果概览

每个阶段执行完后,可以在web界面看到iops、带段等结果:

General Report这一栏,每个值的含义如下:

  • Op-Type : 操作类型
  • Op-Count : 操作总数
  • Byte-Count : 操作产生的Byte
  • Avg-ResTime:平均时延,它为存储服务处理请求的时间,包含数据传输时间,一般小文件(比如KB级别)我们也会关注这个值,此值越低,小文件的IOPS越好
  • Avg-ProcTime:平均处理时间,它为存储服务处理请求的时间,不包含数据传输时间
  • Throughput:吞吐量,当我们的文件粒度为1M及以下时,着重关注这个值,描述了当前文件粒度下的读写等性能(IOPS)
  • Bandwidth:带宽,当我们的文件粒度为1M以上时,着重关注这个值,描述了当前文件粒度下的读写等性能(MB/s等单位)
  • Succ-Ratio:请求成功率,这里一般都要求100%

也可以在任务ID,在cosbench安装目录的archive子目录中看到测试结果:

每个任务ID对应的目录下,都按照阶段生成了相应的csv文件,下载对应的csv文件用execel查看即可:

查看详情

每秒钟的io情况查看

如查看wid=w12&sid=s2-prepare 的每秒钟IO

在将 http://10.255.136.7:19088/controller/stage.html?wid=w12&sid=s2-prepare 中的stage.html 改成 timeline.html ,回车即可

工作负载配置

在conf目录下有很多配置样例

  进入conf目录下,查看s3-config-sample.xml配置文件内容如下:

 配置参数和说明:

<?xml version="1.0" encoding="utf-8"?>

<!--workload name : 测试时显示的任务名称,可自定义;description : 描述信息-->

<workload name="s3-sample" description="sample benchmark for s3">

    <!--storage type: 存储类型,这里配置为s3即可-->

    <storage type="s3" config="accesskey='填访问key';secretkey='填安全key';proxyhost='填代理ip或域名,可以不使用代理';proxyport='如果用了代理,填代理端口';endpoint='填对象存储系统的网关的地址http:/ip:端口';" />

    <!--workflow工作流,workstage name:cosbench是分阶段按顺序执行,每个阶段的名字-->

    <workflow>

            <workstage name="init">

                <!--workers:该阶段开启多少工作线程;config:存储桶bucket的名称前缀;containers:轮询数,如本例创建以s3testqwer为前缀,后缀分别为12bucket-->

                <work type="init" workers="1" config="cprefix=s3testqwer;containers=r(1,2)" />

            </workstage>

            

             <!--prepare阶段,配置写入的数据;workers\config\containersinit阶段相同;objects:一轮写入多少个对象以及object的大小-->

            <workstage name="prepare">

                                     <!--一个worker处理该阶段,r就是range,轮询1,2两个容器(桶),前缀是s3testqwer,每个容器写入10个 objecter,尺寸是64KB-->

                <work type="prepare" workers="1" config="cprefix=s3testqwer;containers=r(1,2);objects=r(1,10);sizes=c(64)KB" />

            </workstage>

             <!--main阶段:测试阶段;runtime:运行的时间,默认为秒-->

            <workstage name="main">

                <work name="main" workers="8" runtime="30">

                     <!--op type:操作类型readwritedelete;ratio操作占比,read的比例为80%,write的比例为20%; -->

                    <operation type="read" ratio="80" config="cprefix=s3testqwer;containers=u(1,2);objects=u(1,10)" />

                    <operation type="write" ratio="20" config="cprefix=s3testqwer;containers=u(1,2);objects=u(11,20);sizes=c(64)KB" />

                </work>

            </workstage>

             <!--清理阶段:主要是删除bucket中的数据,保证测试后的数据不会保留在集群中-->

            <workstage name="cleanup">

                <work type="cleanup" workers="1" config="cprefix=s3testqwer;containers=r(1,2);objects=r(1,20)" />

            </workstage>

            

            <!--dispose阶段:删除bucket-->

            <workstage name="dispose">

                <work type="dispose" workers="1" config="cprefix=s3testqwer;containers=r(1,2)" />

            </workstage>

    </workflow>

</workload>

workload name : 测试时显示的任务名称,这里可以自行定义

description : 描述信息,这里可以自己定义

storage type: 存储类型,这里配置为s3即可

config : 对该类型的配置,

workstage name : 

    cosbench是分阶段按顺序执行,此处为init初始化阶段,主要是进行bucket的创建,

    workers表示执行该阶段的时候开启多少个工作线程,创建bucket通过不会计算为性能,所以单线程也可以;

    config处配置的是存储桶bucket的名称前缀;

    containers表示轮询数,上例中将会创建以s3testqwer为前缀,后缀分别为1和2的bucket

prepare阶段 : 

    配置为bucket写入的数据,workers和config以及containers与init阶段相同,除此之外还需要配置objects,表示一轮写入多少个对象,以及object的大小。

main阶段 :

     这里是进行测试的阶段,runtime表示运行的时间,时间默认为秒

    operation type : 操作类型,可以是read、write、delete等。

    ratio表示该操作所占有操作的比例,例如上面的例子中测试读写,read的比例为80%,write的比例为20%; 

    config中配置bucket的前缀后缀信息。注意write的sizes可以根据实际测试进行修改

cleanup阶段 :

     这个阶段是进行环境的清理,主要是删除bucket中的数据,保证测试后的数据不会保留在集群中

dispose阶段 : 

这个阶段是删除bucket

 

参数配置(controller和driver)

 测试案例配置

 cosbench工具使用按照流程可分为以下几个步骤:参数配置--服务启动--提交测试--分析结果

示例使用三个节点联机测试,配置示意如下:

调整时差,客户机和集群的时差不要太大。

4.1 参数配置

        controller和driver依赖不同系统配置来启动服务,在启动controller和driver服务时,需要先行定义角色配置

一、controller配置

        controller在初始化时读取conf/controller.conf配置文件启动控制器服务

[root@node241 0.4.2.c4]# cat conf/controller.conf

[controller]

concurrency=1

drivers=3

log_level=INFO

log_file=log/system.log

archive_dir=archive

 

[driver1]

name=driver1

url=http://66.66.66.241:18088/driver

 

[driver2]

name=driver2

url=http://66.66.66.242:18088/driver

 

[driver3]

name=driver3

url=http://66.66.66.243:18088/driver

 [controller]

concurrency:默认值为1,表示可以同时执行的工作负载数量

drivers:默认值为1,表示此controller控制的driver数量

log_level:默认值为INFO,可选值为TRACE、DEBUG、INFO、WARN、ERROR,表示日志打印等级

log_file:默认值为log/system.log,表示日志文件存放位置

archive_dir:默认值为archive,表示工作负载结果存放位置,当参数值为archive,则工作负载结果存放于0.4.2/archive目录内

 [driver#x]

        当有多个driver时,第{n}个driver命名为[driver{n}]

name:用于标识driver节点的标签,名称可以自定义

url:访问driver节点的地址

二、driver配置

  driver在初始化时读取conf/driver.conf配置文件启动负载器服务。

[root@node241 0.4.2.c4]# cat conf/driver.conf 

[driver]

name=127.0.0.1:18088

url=http://127.0.0.1:18088/driver

查看错误的方法和错误记录

查看错误的方法

1,点击download-log 下载log

查看下载下来log内容

1、main阶段failed

点击“view details”,找到Mission ID:

在cosbench安装目录的log/mission目录下,找到该mission id对应的日志文件,从日志文件中查看报错:

错误记录

Status Code: 500

Status Code: 500

2024-03-11 20:36:36,483 [ERROR] [AbstractOperator] - worker 13 fail to perform operation s3testqwer25

com.intel.cosbench.api.storage.StorageException: com.amazonaws.services.s3.model.AmazonS3Exception: We encountered an internal error, please try again.: cause(save bucket metadata to ns failed!s3testqwer25) (Service: Amazon S3; Status Code: 500; Error Code: InternalError; Request ID: 17BBB600BD8B7581), S3 Extended Request ID: 1a6d04ea-b557-4018-9ced-cc23e3798466
        at com.intel.cosbench.api.S3Stor.S3Storage.createContainer(S3Storage.java:149)
        at com.intel.cosbench.driver.operator.Preparer.doInit(Preparer.java:113)
        at com.intel.cosbench.driver.operator.Preparer.operate(Preparer.java:87)
        at com.intel.cosbench.driver.operator.AbstractOperator.operate(AbstractOperator.java:76)
        at com.intel.cosbench.driver.operator.Initializer.operate(Initializer.java:1)
        at com.intel.cosbench.driver.agent.WorkAgent.performOperation(WorkAgent.java:197)
        at com.intel.cosbench.driver.agent.WorkAgent.doWork(WorkAgent.java:177)
        at com.intel.cosbench.driver.agent.WorkAgent.execute(WorkAgent.java:134)
        at com.intel.cosbench.driver.agent.AbstractAgent.call(AbstractAgent.java:44)
        at com.intel.cosbench.driver.agent.AbstractAgent.call(AbstractAgent.java:1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

原因
1,对象数据池没有创建

which: no nc in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

如果不安装nc,会报错

which: no nc in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

Ncat: Connection refused.

No appropriate tool found to detect cosbench driver status.

        如果不安装java,会报

Ncat: Connection refused.

启动失败

摘自:尝试在CentOS 7上启动cosbench遭遇的一些问题 - 之一 - 中道学友 - 博客园 (cnblogs.com)

尝试启动cosbench,遭遇报错:

[root]hopisdtmelabs14# cat driver-boot.log                                                                                                                                      /tmp/cosbench/0.4.2/log
java.net.BindException: Address already in use (Bind failed)
         at java.net.PlainSocketImpl.socketBind(Native Method)
         at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
         at java.net.ServerSocket.bind(ServerSocket.java:375)
         at java.net.ServerSocket.<init>(ServerSocket.java:237)
         at java.net.ServerSocket.<init>(ServerSocket.java:128)
         at org.eclipse.osgi.framework.internal.core.ConsoleManager.startConsole(ConsoleManager.java:186)
         at org.eclipse.osgi.framework.internal.core.ConsoleManager.startConsole(ConsoleManager.java:132)
         at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:269)
         at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
         at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
         at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
         at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

!SESSION 2020-06-03 06:04:23.609 -----------------------------------------------

eclipse.buildId=unknown
java.version=1.8.0_181
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -console 18089
!ENTRY org.eclipse.osgi 4 0 2020-06-03 06:04:24.132
!MESSAGE Bundle plugins/cosbench-castor not found.

看起来像是网络端口18089已经被占用了,杀掉那些进程,问题解决。

如何找到占用18089端口的进程?举例如下:

# netstat -tulpn | grep 18089                                                                                                                                /tmp/cosbench/cos/conf

tcp6       0      0 :::18089                :::*                    LISTEN      4090/java

# ps aux | grep java                                                                                                                                         /tmp/cosbench/cos/conf

root      4090  0.0  0.4 21453452 315076 ?     Sl   10:39   0:18 java -Dcosbench.tomcat.config=conf/driver-tomcat-server.xml -server -cp main/org.eclipse.equinox.launcher_1.2.0.v20110502.jar org.eclipse.equinox.launcher.Main -configuration conf/.driver -console 18089

root      4822  0.3  0.3 20319980 262324 pts/0 Sl   21:13   0:07 java -Dcosbench.tomcat.config=conf/controller-tomcat-server.xml -server -cp main/org.eclipse.equinox.launcher_1.2.0.v20110502.jar org.eclipse.equinox.launcher.Main -configuration conf/.controller -console 19089

root      4965  0.0  0.0 112828  2316 pts/0    S+   21:46   0:00 grep --color=auto java

可以看出来在上面的例子中,4090就是占用了18089端口的进程号了,通过ps aux 还能看到详细的命令行参数。

但cosbench driver 还是启动不了。

[root]hopisdtmelabs14# bash ./start-driver.sh                                                                                                                                          /tmp/cosbench/cos

Launching osgi framwork ...
Successfully launched osgi framework!
Booting cosbench driver ...
which: no nc in (/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/tme/bin:/usr/local/tme/tme_portal/perf_web/bin)
No appropriate tool found to detect cosbench driver status.

看报错,应该是nc(ncat)这个软件没有安装。可是通过yum还没法正常安装。我通过下面的命令解决了这个问题:

​
# yum -y install wget
# wget  https://nmap.org/dist/ncat-7.80-1.x86_64.rpm
# yum localinstall ncat-7.80-1.x86_64.rpm
# cd /usr/bin
# ln -s ncat nc

装好了nc之后,还是有错误。

# bash ./start-driver.sh                                                                                                                                          /tmp/cosbench/cos

Launching osgi framwork ...
Successfully launched osgi framework!
Booting cosbench driver ...
...........................................................
Starting    cosbench-log_0.4.2    [ERROR]
...........................................................
Starting    cosbench-tomcat_0.4.2    [ERROR]
..........................................................
Starting    cosbench-config_0.4.2    [ERROR]
...........................................................
Starting    cosbench-http_0.4.2    [ERROR]

我怀疑是我的java的版本过高,所以卸掉java 8, 安装java 7。

# rpm -aq | grep -i jdk                                                                                                                                           /tmp/cosbench/cos

java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch
java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64


# rpm -e java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
# rpm -e java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
# yum remove java

安装java 7.

#yum install java-1.7.0-openjdk

结果遇到了报错,说有两个软件包太旧了,达不到安装的要求。

尝试安装更新,结果还是报错,无法更新。

[Errno 14] HTTP/HTTPS Error 404

于是执行下面的命令,对yum进行修复。

#yum clean all

#rm -rf /var/cache/yum/*

之后java 7也成功安装了。

但还是报错:

# cat driver-boot.log                                                                                                                                         /tmp/cosbench/cos/log
Listening on port 0.0.0.0/0.0.0.0:18089 ...
!SESSION 2020-06-03 10:12:59.683 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_261
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -console 18089
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.367
!MESSAGE Bundle plugins/cosbench-castor not found.
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.368
!MESSAGE Bundle plugins/cosbench-log4j not found.
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.368
!MESSAGE Bundle plugins/cosbench-log@6:start not found.
!ENTRY org.eclipse.osgi 4 0 2020-06-03 10:13:00.369
!MESSAGE Bundle plugins/cosbench-config@6:start not found.

…

…

Github的cosbench的站点里的issue#383里的步骤(具体步骤描述在这篇文章),即删掉cosbench-start.sh里的一行(如下),我也试过了,并没有解决问题。

TOOL_PARAMS="-i 0" -----Delete this line

经过查询,找到了这篇文章,推荐不要使用正式版的0.4.2,推荐试试0.4.2.c4, 于是下载了更早的一个版本0.4.2.c4。

问题解决了,终于成功启动了cosbench driver。

# bash ./start-driver.sh                                                                                                                                     /tmp/cosbench/0.4.2.c4
Launching osgi framwork ...
Successfully launched osgi framework!
Booting cosbench driver ...
.
Starting    cosbench-log_0.4.2    [OK]
.
Starting   cosbench-tomcat_0.4.2    [OK]
Starting    cosbench-config_0.4.2    [OK]
Starting    cosbench-http_0.4.2    [OK]
Starting    cosbench-cdmi-util_0.4.2    [OK]
Starting    cosbench-core_0.4.2    [OK]
Starting    cosbench-core-web_0.4.2    [OK]
Starting    cosbench-api_0.4.2    [OK]
Starting    cosbench-mock_0.4.2    [OK]
Starting    cosbench-ampli_0.4.2    [OK]
Starting    cosbench-swift_0.4.2    [OK]
Starting    cosbench-keystone_0.4.2    [OK]
Starting    cosbench-httpauth_0.4.2    [OK]
Starting    cosbench-s3_0.4.2    [OK]
Starting    cosbench-librados_0.4.2    [OK]
Starting    cosbench-scality_0.4.2    [OK]
Starting    cosbench-cdmi-swift_0.4.2    [OK]
Starting    cosbench-cdmi-base_0.4.2    [OK]
Starting    cosbench-driver_0.4.2    [OK]
Starting    cosbench-driver-web_0.4.2    [OK]
Successfully started cosbench driver!
Listening on port 0.0.0.0/0.0.0.0:18089 ...
Persistence bundle starting...
Persistence bundle started.
----------------------------------------------
!!! Service will listen on web port: 18088 !!!
----------------------------------------------

不知道为什么,在CentOS 7上运行0.4.2 明显的有问题,却还不被修复,结果还要去使用稍早的版本release candidate 4, 这个事儿弄的挺恶心的。

To the English readers:
I document the process and issues here in detail, hope other people hit on the same issue can see it, and save time.

参考资料


================

How to check if port is in use on Linux or Unix
https://www.cyberciti.biz/faq/unix-linux-check-if-port-is-in-use-command/
NETCAT THE MULTI-PURPOSE NETWORKING TOOL
landoflinux.com
Uninstall JDK rpm to reinstall
centos - Uninstall JDK rpm to reinstall - Unix & Linux Stack Exchange
yum-errors
https://wiki.centos.org/yum-errors
CosBench on Red Hat Linux
http://www.vtechdiary.com/2018/09/cosbench-on-red-hat-linux.html
Can't start the system #380
Can't start the system · Issue #380 · intel-cloud/cosbench · GitHub

​

参考资料

使用COSBench工具對ceph s3接口進行壓力測試--續 - JavaShuo

尝试在CentOS 7上启动cosbench遭遇的一些问题 - 之一 - 中道学友 - 博客园 (cnblogs.com)


网站公告

今日签到

点亮在社区的每一天
去签到