システム構成と信頼性設計
利用者の要求を、Webサーバ層、アプリケーションサーバ層、データベースサーバ層の順に処理するシステムがある。各要求は3つの層をそれぞれ1回ずつ通り、各層が処理できる最大の件数は、Webサーバ層が毎秒1,200件、アプリケーションサーバ層が毎秒1,000件、データベースサーバ層が毎秒900件である。データベースサーバ層を増強して毎秒1,500件を処理できるようにしたとき、システム全体で処理できる最大の件数として、正しいものはどれか。
- A毎秒1,000件
- B毎秒1,200件
- C毎秒1,500件
答えと解説を見る
正解:A. 毎秒1,000件
要求がすべての層を順に通るシステムでは、全体で処理できる件数は、最も処理能力の小さい層(ボトルネック)で決まります。増強の前は、データベースサーバ層の毎秒900件で決まっていました。データベースサーバ層を毎秒1,500件にすると、min(1,200, 1,000, 1,500) = 1,000 となり、次はアプリケーションサーバ層がボトルネックになって、全体は毎秒1,000件にとどまります。ボトルネックを1つ解消すると、次に能力の小さい箇所が全体を制限するので、性能の改善では全体の流れを見ることが大切です。
- A. 正しい。アプリケーションサーバ層の毎秒1,000件が新しいボトルネックになります。
- B. アプリケーションサーバ層の能力を見落とし、Webサーバ層の能力を全体の値とした誤りです。
- C. 増強したデータベースサーバ層の能力です。ほかの層の能力を超えて処理することはできません。