CA APM J2EEアプリケーションのためのパフォーマンス管理ソリューション

CA Application Performance Management

アプリケーションパフォーマンスコラム

コラム第1回 「Webシステムのダウン対策」

現在のWebシステムは、ほぼ大半がマルチスレッドで動作しています。その為、複数のリクエストを同時に受け付ける事が可能です。

 

同時に処理が可能な数はスレッド数と言えます。しかし、マルチスレッドで動作する処理には排他制御が必要な処理もあり、シングルスレッドでの動作が必要となる部分が発生します。また、1つのサーバーに複数の機能を実装する必要もあります。

 

【障害発生!】

 

デッドロックやスローダウンが発生すると、そのスレッドは、占有される事になります。そのときに、同じ処理をリクエストされると、同様にスレッドを占有される事になります。結果として、同時に処理できる数が少なくなるので、障害が発生していない機能までスローダウンしてしまい、最後には、システムダウンを引き起こします。

 

【何故!】

 

 

スケーラビリティを出す為に複数のサーバでシステムを構成している場合は、ダウンしたサーバが受けていたリクエストを他のサーバが突然受け付ける事になり、処理が追いつかなくなり「共倒れ」が発生します。

 

システムダウンを発生させない為には、どうすれば良いのでしょうか?

 

デッドロックやスローダウン箇所をいち早く見つけて、素早く対応する事です。
そして、問題の発生している機能を一時的に受け付けなくして、その間に復旧をかければよいのです。

 

では、デッドロックやスローダウンをいち早く見つける手段は……

 

第2回に続きます。

Copyright Samuraiz Corporation. All Rights Reserved.