SSブログ

チューニングのゴールはとても重要です [Database]

システムカットオーバー直前にチューニングのオファーをいただくことがあります。
私の乏しい経験で恐縮ですが、チューニング作業のキモはゴールの設定にある、
と思っています。

というのも例えば
「処理Aが今30分かかるんだけど、何とか10分で終わるようにしたい」
というオーダーであれば、それが10分で終わりさえすれば終了です。
うまくすると1時間くらいの作業で事足りてしまうこともあります。

ところが一番多いのは
「体感で処理に時間がかかっていると思う。できるだけ早くしてくれ」
というオーダーです。
これはどの処理をどれくらい早くすればいいのか分からないので困ります。
当然コストなんて見積もれません。

所謂デスマーチに多いのはこのタイプ。
なので慎重にゴールを定める必要があるのですが、後者のケースは火の手があがり
燃え広がって通常の消火プロセスでは二進も三進もいかなくなってから声がかかります。
ゴールを決めて、など悠長なことを言っている場合ではないことがほとんどです。
必然的に偉い人から「とりあえず突撃」という命令が下り、延々と遅延箇所を
探し続けることとなります。恐ろしい。

そういった燃えているDBを消火させる方法は一番良いのは短期間でお客様に満足頂く
性能指標をたたき出すこと、なんですがこれはなかなか達成できません。
よくある終了パターンは一定期間(例えば2週間)は頑張ってある程度の改善結果を出し、
そろそろ現実的な解(例えばAPロジックの見直し、我慢する、機能制限、リソース追加など)
を検討して先に進む、というものです。
大体このフェーズではお客様温度が高いケースがほとんどですので、一定期間で
どれだけチューニングができるかがポイントとなります。
この結果がそれなりに出ていれば温度は下がります(多分)

現場からするとボトルネックを探して潰す、という作業は変わらないのですが、
正解でも政治的決着でも終わる目処を立てないといつまでも抜けられないので
最初にどんなパターンになりそうなのかおおよそシナリオを考えておきましょう。

頑張る期間が2か月であったとしても、先が見えない2か月と終わりが想定できる
2か月では気持ちの持ちようが違います。

綺麗ごとかもしれませんが、私がチューニング作業時に気を付けていることでした。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:仕事

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。