システム性能課題への取り組み

シーマークすずきです.

弊社では,これまでたくさんの性能分析診断サービス案件を行ってきています.ここでは,性能分析診断サービスの紹介をしつつ,これまでの経験から培った様々なシステム性能課題への取り組みや事例から得たTIPSなどをご紹介していきたいと思います.

今回は,初回なので導入編です.

■性能分析診断サービスって何をするのか?

性能分析診断サービスは,2005年頃から正式に開始したサービスです.特にWebアプリケーションの性能課題に対応するケースが多くあります.大規模なコンシューマ向けのサービスや基幹システムのお客様からの依頼がほとんどです.当然,費用をかけてまで性能課題を解決するに値するお客様にとって非常に重要なシステムです.性能分析診断サービスの現場は,時には,本番サービス障害時やリリース直前の緊張感の高い現場が数多くあります.多くのケースは,お客様のシステムで以下のいずれかの状況になっています.

  • 予期せず突然スローダウンが起きる

– 本番サービス中に不定期にサーバー応答が極端に遅くなる

– アプリケーションも一切変更していないし,何が原因かわからない

  • 予定していた性能がでない

– カットオーバー又は納品前の性能試験を実施したら,予定していた処理性能がでない

– 早急に対策して,性能向上しなければならない

  • 新しいバージョンのWEBアプリケーションを配備したら,業務開始後,CPU高騰が発生し,慌てて前バージョンに戻した

– テスト環境では発生しない症状

– 新バージョンを配備したいが,再度同じ症状が発生すると業務にならないため,安心して配備する方策を検討したい.

 

性能分析診断サービスは,簡単に云えば,お客様のアプリケーション(C/C++,Java,PHP,Rubyなどで開発されたアプリケーション)が抱える上記の様な性能に関する問題事象を改めて定義し,その問題事象を観測,分析して,原因を明らかにし,当然,それに対する対策案を提案します.提示した対策案に依っては,直ぐに実施可能であれば,対策効果も計測し提示します.「そんなことできるの?」と聞こえてきそうですが,確かに難しいことです.でも,私たちは取り組んできました.今となっては,実は,このサービスを実践してきた経験そのもの,つまり,切磋琢磨して積み重ねた事例が私たちの”強み”になっていると思います.ある意味,こんなに多くの大規模システムに関する性能問題に直面した経験がある会社はなかなか存在しないのではないでしょうか.これまでのお客様との性能問題への取り組み経験は「豊富な失敗事例の立合い経験」というのもヘンな話しですが,貴重な経験をさせて頂いたという訳です.お客様にとっては,初めて遭遇する問題事象でも,私たちは「似たような症例」を経験している,ということもあります.時には,応急処置を行い,後から,抜本的に対策,治療を施す,と云ったことをする場合もあります.個人的には,このサービスの比喩としては,軍医の様なイメージです.「お客様のビジネスバトルフィールド(戦場)に出向き,お客様の痛みを,除去又は緩和する」という意味です.「より早く,効果的に治療する」という局面がほとんどですから,「救急治療チーム派遣サービス」なのかもしれません.

次回は,実際にどう取り組んでいくのかを載せたいと思います.