COSBenchはIntel社が開発した、オブジェクトストレージ向けの負荷テストツールです。S3プロトコルと互換性を持つオブジェクトストレージとして、Tencent CloudのCloud Object Storage (COS)は、このツールを使用して、読み取り/書き込みの負荷テストを実施できます。
実行環境はCentOS 7.0以降のバージョンを推奨します。ubuntu環境では、予期せぬ問題が発生することがあります。
centosの場合、以下のコマンドを実行して、依存パッケージをインストールします:
sudo yum install nmap-ncat java curl java-1.8.0-openjdk-devel -y
ubuntuの場合、以下のコマンドを実行して、依存パッケージをインストールします
sudo apt install nmap openjdk-8-jdk
s3-config-sample.xmlファイルを編集し、タスクの設定情報を追加します。タスク設定は以下の5段階に分けられています:
設定例を以下に示します:
<?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 | 負荷テストのスレッド数 |
-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 &
sudo bash cli.sh submit conf/s3-config-sample.xml
さらに、このURLhttp://ip:19088/controller/index.html
(ipはユーザーの負荷テストマシンのIPに置き換えます)によって実行状態を確認します。
下図に示すように、5段階が表示されます:
7. 次の例は、所属リージョンが北京リージョン、32コア、プライベートネットワーク帯域幅が17GbpsのCVMで行うアップロードおよびダウンロードパフォーマンステストです。次の2段階が含まれます。
1. prepare段階:100workerスレッドが50MBのオブジェクトを1000個アップロードします。
2. main段階:100workerスレッドがオブジェクトの読み書きを300秒実行します。
上記の段階1と段階2の性能テストを実行した結果は以下のとおりです:
8. 以下のコマンドを実行して、テストサービスを停止します。
sudo bash stop-all.sh
この記事はお役に立ちましたか?