令和元年度春期 応用情報技術者試験 午前 問12
Webサーバ,アプリケーション(AP)サーバ及びデータベース(DB)サーバが各1台で構成されるWebシステムにおいて,次の3種類のタイムアウトを設定した。タイムアウトに設定する時間の長い順に並べたものはどれか。ここで,トランザクションはWebリクエスト内で処理を完了するものとする。〔タイムアウトの種類〕①APサーバのAPが,処理を開始してから終了するまで ②APサーバのAPにおいて,DBアクセスなどのトランザクションを開始してから終了するまで ③Webサーバが,APサーバにリクエストを送信してから返信を受けるまで
- ア ①,③,②
- イ ②,①,③
- ウ ③,①,②
- エ ③,②,①
解答・解説を見る
正解:ウ
AI解説
タイムアウトは、内側の処理より外側の処理の待ち時間を長く設定するのが原則である。包含関係は「③Webサーバの待ち(APの処理全体+通信を含む)⊃①APの処理全体⊃②AP内の個々のトランザクション」なので、長い順は③、①、②となりウが正解である。外側を短くすると、内側が正常でも外側が先にタイムアウトして誤検知するからである。 ア: ①より③が短いと、APが正常に処理中でもWebサーバ側が先に打ち切ってしまうため誤りである。 イ: ②が最長では、トランザクションがAP処理全体より長く待つことになり包含関係と矛盾する。 ウ: 正しい。呼び出す側(外側)ほど長く、③>①>②の順に設定すれば、障害箇所を内側から順に検出できる。 エ: ③が最長なのは正しいが、②が①より長い設定は包含関係(トランザクションはAP処理の一部)に反する。 💡 タイムアウト設定は「外側ほど長く(呼出し側>呼出され側)」が鉄則。処理の包含関係(誰が誰を待つか)を図に描けば機械的に順序が決まる。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。