Couchbase 基准测试工具 pillowfight 的说明

首先

在数据库运营中,基准测试是不可避免的要素。
从通用工具到数据库特定工具,各种工具都可供进行基准测试(除了称为基准测试工具外,还称为压力工具、工作负载生成器等)。

在本篇文章中,我们将介绍Couchbase Server的开源工具pillowfight。

其他NoSQL工具。

顺便提一下,对于其他NoSQL数据库,都有各自独特的工具存在。

MongoDB 是一种开源的文档型数据库。

MongoDB 性能

卡桑德拉

卡桑德拉 压力

如何使用 pillowfight

安装

Pillowfight作为Couchbase C SDK libcouchbase的一个组成部分提供。

CentOS/RHEL can be paraphrased in Chinese as “CentOS/红帽企业级操作系统”.

$ sudo yum check-update
$ sudo yum search libcouchbase
$ sudo yum install libcouchbase3 libcouchbase-devel libcouchbase3-tools libcouchbase3-libevent

苹果电脑

$ brew update
$ brew install libcouchbase

Windows —-> Windows 操作系统

从SDK发布说明中,下载二进制文件并解压以供使用。

请参考其他操作系统的文档。

选项说明

省略非省略説明-B–batch-sizeバッチ処理の数 [デフォルト=100]-I–num-itemsアイテムの数 [デフォルト=1000]-p–key-prefixキー接頭辞の指定 [デフォルト=’ ‘ ]-t–num-threadsスレッドの数 [デフォルト=1]-R–random-bodyドキュメント本文をランダム化する [デフォルト=FALSE]-r–set-pctミューテーション操作の割合 [デフォルト= 33]-n–no-populationポピュレーション(入力)をスキップする [デフォルト= FALSE]-m–min-size最小ペイロードサイズ [デフォルト= 50]-M–max-size最大ペイロードサイズ [デフォルト= 5120]-E–pause-at-end実行の終了時に一時停止する(ユーザー入力まで接続を保持する) [デフォルト= FALSE]-c–num-cycles終了するまで実行されるサイクル数。-1に設定すると、無限にループする [デフォルト= -1 ]
–sequential(ランダムアクセスでなく)シーケンシャルアクセスを使用 [デフォルト= FALSE]
–start-atシーケンシャルアクセスの場合に、最初の値を設定[デフォルト= 0]
–rate-limit1秒あたり操作の制限を設定(スレッド単位) [デフォルト= 0]
–docsロードするユーザードキュメント(–min-s-izeと–max-sizeをオーバーライド)[デフォルト=]-J–json(bytesではなく)JSONデータの書き込みを有効にする [デフォルト= FALSE]
–subdocfulldoc操作の代わりにsubdoc操作を使用[デフォルト= FALSE]
–noopドキュメント操作の代わりにNOOPを使用[デフォルト= FALSE]
–pathcountコマンドあたりのサブドキュメントパスの数[デフォルト= 1]
–populate-onlyドキュメントのポピュレーション(入力)のみを実施し、終了する[デフォルト= FALSE]-e–expiryアイテムのTTLを設定 [デフォルト= 0]
–collectionコレクションの(スコープを含む)フルパス (複数指定可能) [デフォルト=]-d–durability耐久レベル [デフォルト=’none’]
–persist-toアイテムを指定した数のノードに永続化するまでブロックする (-1の場合、マスター+レプリカ) [デフォルト= 0]
–replicate-toアイテムを指定した数のノードに複製されるまでブロックする (-1の場合、すべてのレプリカ) [デフォルト= 0]
–lock更新用ロックキーへ時間設定 (ゼロの場合、ロックされない) [デフォルト= 0]-Z–config-cacheキャッシュ設定へのパス[デフォルト= ” ]-?–helpヘルプメッセージを表示する

共同选项

以下是与连接到集群相关的libcouchbase命令的通用选项。

省略非省略説明-U–spec接続文字列 [デフォルト=’couchbase://localhost/default’ ]-u–usernameユーザー名 [デフォルト= ” ]-P–passwordバケットパスワード [デフォルト= ” ]-T–timings実行終了時にコマンドタイミングをダンプします。これにより、実行されたコマンドの待ち時間を示すヒストグラムが表示されます。 (詳細:cbstats timings)[デフォルト= FALSE]-v–verboseデバッグ出力を有効にする [デフォルト= FALSE]-D–cparam接続のための追加のオプション(<OPTION>=<VALUE>の書式で指定)。例えば、KV操作タイムアウトには-D-timeout=<SECONDS>を使用する[デフォルト=]-y–compress送信データの圧縮をオンにします( sec-OND時刻力圧縮) [デフォルト= FALSE]
–truststorepath[デフォルト= ” ]
–certpathサーバーSSL証明書へのパス[デフォルト= ” ]
–keypathクライアントSSL秘密鍵へのパス[デフォルト= ” ]
–dump操作完了後に詳細な内部状態をダンプする [Default = FALSE]

执行基准测试的示例

使用20个线程进行执行。每个线程执行一个批处理任务。

$ cbc-pillowfight -t 20 -B 1

使用一个包含50个项目的数据集,进行100次迭代。

$ cbc-pillowfight -c 100 -I 50

使用大小为100k的JSON文件。

$ cbc-pillowfight --json -m 100000 -M 100000

通过子文档操作进行压力测试。

$ cbc-pillowfight --json --subdoc --set-pct 100

请提供连接目标和账号信息。将JSON文档设定为10秒后过期。

$ cbc-pillowfight -U couchbase://localhost/pillow -u Administrator -P password --json -e 10

请提供相关资料
参考资料
让我参考一下

使用Pillowfight对Couchbase进行性能测试和负载测试。

Couchbase官方文件 C SDK

Couchbase C客户端2.6.2

Couchbase在OpenShift上的负载生成器。

bannerAds