詳解 システムパフォーマンスを読む⑯ メソドロジー USEメソッド②

前回の続き

 

syachineko.hatenablog.com

 

syachineko.hatenablog.com

 


 

P.46あたりから

 

メソドロジ

 USEメソッド

  機能ブロックダイアグラム

   各リソース間が何でどうやってつながっているかを図示する。

   これを行うことで、データフロー間のボトルネックを洗い出すことができる。

 

  指標

   リソースリストの完成後、指標のタイプを検討すべき。

   タイプとは、飽和や使用率といったもの。

 

   例)

    CPU    使用率  CPUの使用率

    CPU    飽和   ランキューの長さ

    メモリ  使用率  利用可能フリーメモリ

    メモリ  飽和   無名ページングなど

 

   各リソースに対して、使用率、飽和、エラーのタイプ別で指標を取り入れる

   簡単に取れるものと取れないものがあるが、取れないことがわかっているだけでも良い(Known-Unknown)

 

  ソフトウエアリソース

   アプリケーション全体ではなく、小さなコンポーネントを対象とする

    例)

     ミューテックスのロック

      使用率:ロックされていた時間

      飽和:ロックを待ってキューイングされていたスレッド

       として定義

 

     スレッドプール

      飽和はスレッドプールからのサービス待ちになっていた要求の数として定義される

 

     プロセス/スレッドの容量

      飽和は、限定した資源の割り当て待ち状態である

      エラーは、割り当てに失敗したときである

 

     ファイル記述子の容量

      

  解釈方法の提案

   使用率:使用率100%は一般的にボトルネックを起こしている兆候と考えられる

       一方で、使用率60%であっても、例えば瞬間的に100%になっている可能性があるし、割り込み不可なリソースによって遅延が顕著に表れることもある

 

   飽和:飽和は、少しでも起きていればそれだけで問題が起きている可能性がある

   

   エラー:エラーカウントが0でなければ、精査をすべきである

 

    →低使用率/低飽和/エラーなしの場合は、リソースには問題がなさそう、ということを端的に示していると言える

 

  クラウドコンピューティング

   クラウドでは各リソースが設定により制限されているが、

   その制限についてもUSEメソッドで調べることが可能である。

 

以上