OSレベルで sys のCPU使用率が高い場合に perf*1 を使って、何の処理の割合が高いか調べる方法です。 perf は 特定のプロセスだけでなくOS全体の統計を見れる カーネル(sys)とユーザー(user)の両方を見れる ところが非常に便利だと思う*2。 準備 ひたすら write システムコールを発行し続けるプログラムを作成する $ cat write_loop.c #include <unistd.h> int main(void) { while(1) { write(1, "foo\n", 4); } } コンパイルする $ gcc write_loop.c -o write_loop 実行権限を付与する $ chmod u+x write_loop 検証 ひたすらwriteシステムコールを発行するプログラムを実行する $ ./write_loop > /dev/null
つれづれなるままに、日ぐらしパソコンに向かひて、心にうつりゆくデータベースの性能問題の切り分け方法をそこはかとなく書き付くれば、あやしうこそ物狂ほしけれ。なエントリ(書きかけ)。一度、脳内をフラッシュしてからまとめるべし。 性能問題による影響 性能問題による影響を以下の2つに分類する。 システム全体が遅い 一部の処理が遅い 性能問題の原因 性能問題の原因を以下の2つに分類する。 交通量が多い 単純に交通量が多くて渋滞している 例)年末年始やお盆の帰省ラッシュやUターンラッシュ 経路の途中で詰まっている 車線減少や通行止めなどで渋滞している 例)年度末の工事による車線減少、飲酒の検問、交通事故による通行止めなどで経路のどこかで詰まっている 切り分け手順の分類 システム全体が遅いケースと一部の処理が遅いケースで切り分け手順は変わる。 切り分けはOSレイヤーとデータベースレイヤーの2つの観点から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く