Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


16.6.2.5 memcached と DTrace の使用

memcached には、サーバー動作のモニターに使用できるいくつかの異なる DTrace プローブが含まれています。含まれているプローブは、キー/値ペアの追加、更新、または削除時の個々の接続、スラブ割り当て、およびハッシュテーブルの変更をモニターできます。

DTrace および DTrace スクリプトの作成の詳細は、『DTrace ユーザーガイド』をお読みください。

memcached 1.2.6 で追加された DTrace プローブのサポートには、アプリケーションをモニターしやすくするいくつかの DTrace プローブが含まれています。DTrace は、Solaris 10、OpenSolaris、OS X 10.5、および FreeBSD でサポートされます。memcached で DTrace プローブを有効にするには、ソースからビルドし、--enable-dtrace オプションを使用します。詳細については、セクション16.6.1「memcached のインストール」を参照してください。

memcached でサポートされるプローブは次のとおりです。

  • conn-allocate(connid)

    接続プールから接続オブジェクトが割り当てられたときに起動します。

    • connid: 接続 ID。

  • conn-release(connid)

    接続オブジェクトが接続プールに解放されたときに起動します。

    引数:

    • connid: 接続 ID。

  • conn-create(ptr)

    新しい接続オブジェクトが作成される (つまり、接続プールに空き接続オブジェクトがない) ときに起動します。

    引数:

    • ptr: 接続オブジェクトへのポインタ

  • conn-destroy(ptr)

    接続オブジェクトが破壊されるときに起動します。

    引数:

    • ptr: 接続オブジェクトへのポインタ。

  • conn-dispatch(connid, threadid)

    メインまたは接続管理スレッドからワーカースレッドに接続がディスパッチされるときに起動します。

    引数:

    • connid: 接続 ID。

    • threadid: スレッド ID。

  • slabs-allocate(size, slabclass, slabsize, ptr)

    スラブアロケータからメモリーを割り当てます。

    引数:

    • size: 要求されたサイズ。

    • slabclass: 割り当てはこのクラスで行われます。

    • slabsize: このクラスの各項目のサイズ。

    • ptr: 割り当てたメモリーへのポインタ。

  • slabs-allocate-failed(size, slabclass)

    メモリーの割り当てに失敗しました (メモリー不足)。

    引数:

    • size: 要求されたサイズ。

    • slabclass: 要求を満たすことができなかったクラス。

  • slabs-slabclass-allocate(slabclass)

    スラブクラスに追加の領域が必要なときに起動します。

    引数:

    • slabclass: 追加のメモリーを必要とするクラス。

  • slabs-slabclass-allocate-failed(slabclass)

    メモリーの割り当てに失敗しました (メモリー不足)。

    引数:

    • slabclass: 追加のメモリーを取得できなかったクラス。

  • slabs-free(size, slabclass, ptr)

    メモリーを解放します。

    引数:

    • size: 解放するメモリーの量 (バイト単位)。

    • slabclass: メモリーが属しているクラス。

    • ptr: 解放するメモリーへのポインタ。

  • assoc-find(key, depth)

    ハッシュテーブルで指定されたキーが検索されたときに起動します。これら 2 つの要素によって、ハッシュ関数がどの程度適切に機能しているかを把握できます。トラバーサルは、関数があまり最適ではなく、CPU の処理能力が浪費されていることを示します。

    引数:

    • key: 検索されたキー。

    • depth: ハッシュテーブルのリストの深さ。

  • assoc-insert(key, nokeys)

    新しい項目が挿入されたときに起動します。

    引数:

    • key: 挿入されたキー。

    • nokeys: 現在格納されているキーの総数 (挿入が要求されたキーを含む)。

  • assoc-delete(key, nokeys)

    新しい項目が削除されたときに起動します。

    引数:

    • key: 削除されたキー。

    • nokeys: 現在格納されているキーの総数 (削除が要求されたキーを除く)。

  • item-link(key, size)

    キャッシュ内で項目がリンクされるときに起動します。

    引数:

    • key: 項目のキー。

    • size: データのサイズ。

  • item-unlink(key, size)

    項目が削除されるときに起動します。

    引数:

    • key: 項目のキー。

    • size: データのサイズ。

  • item-remove(key, size)

    項目の参照カウントが減ったときに起動します。

    引数:

    • key: 項目のキー。

    • size: データのサイズ。

  • item-update(key, size)

    「最終参照」時間が更新されたときに起動します。

    引数:

    • key: 項目のキー。

    • size: データのサイズ。

  • item-replace(oldkey, oldsize, newkey, newsize)

    項目が別の項目に置き換えられるときに起動します。

    引数:

    • oldkey: 置き換えられる項目のキー。

    • oldsize: 古い項目のサイズ。

    • newkey: 新しい項目のキー。

    • newsize: 新しい項目のサイズ。

  • process-command-start(connid, request, size)

    コマンドの処理が開始したときに起動します。

    引数:

    • connid: 接続 ID。

    • request: 受信された要求。

    • size: 要求のサイズ。

  • process-command-end(connid, response, size)

    コマンドの処理が終了したときに起動します。

    引数:

    • connid: 接続 ID。

    • response: クライアントに返信される応答。

    • size: 応答のサイズ。

  • command-get(connid, key, size)

    get コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータのサイズ (見つからない場合は -1)。

  • command-gets(connid, key, size, casid)

    gets コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータのサイズ (見つからない場合は -1)。

    • casid: 項目の CAS ID。

  • command-add(connid, key, size)

    add コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータの新しいサイズ (見つからない場合は -1)。

  • command-set(connid, key, size)

    set コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータの新しいサイズ (見つからない場合は -1)。

  • command-replace(connid, key, size)

    replace コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータの新しいサイズ (見つからない場合は -1)。

  • command-prepend(connid, key, size)

    prepend コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータの新しいサイズ (見つからない場合は -1)。

  • command-append(connid, key, size)

    append コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータの新しいサイズ (見つからない場合は -1)。

  • command-cas(connid, key, size, casid)

    cas コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • size: このキーのデータのサイズ (見つからない場合は -1)。

    • casid: 要求された CAS ID。

  • command-incr(connid, key, val)

    incr コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • val: 新しい値。

  • command-decr(connid, key, val)

    decr コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • val: 新しい値。

  • command-delete(connid, key, exptime)

    delete コマンドに対して起動します。

    引数:

    • connid: 接続 ID。

    • key: 要求されたキー。

    • exptime: 失効時間。