応用情報技術者 2019年 春期 午前2 問12
問題文
Webサーバ、アプリケーション(AP)サーバ及びデータベース(DB)サーバが各1台で構成されるWebシステムにおいて、次の3種類のタイムアウトを設定した。タイムアウトに設定する時間の長い順に並べたものはどれか。ここで、トランザクションはWebリクエスト内で処理を完了するものとする。
〔タイムアウトの種類〕
① APサーバのAPが、処理を開始してから終了するまでで
② APサーバのAPにおいて、DBアクセスなどのトランザクションを開始してから終了するまで
③ Webサーバが、APサーバにリクエストを送信してから返信を受けるまで
選択肢
ア:①、③、②
イ:②、①、③
ウ:③、①、②(正解)
エ:③、②、①
Webシステムのタイムアウト設定時間の長さ順【午前2 解説】
正解の理由
選択肢ウ(③、①、②)が正解です。
- ③はWebサーバからAPサーバへのリクエスト送信から返信受信までの通信タイムアウトで、ネットワーク遅延や再送などを考慮し最も長く設定します。
- ①はAPサーバの処理全体のタイムアウトで、通信完了後に処理が終わるまでの時間を制限します。
- ②はAPサーバ内のDBトランザクションのタイムアウトで、トランザクションは処理の一部であり、整合性確保のため短く設定されます。
解法ステップ
- 各タイムアウトの対象範囲を明確にする(通信、AP処理、DBトランザクション)。
- 範囲の外側から内側へ時間設定の長さを考える(通信>AP処理>トランザクション)。
- トランザクションは処理の一部であり、最も短く設定することを理解する。
- 選択肢の並び順と照合し、正しい順序を選ぶ。
選択肢別の誤答解説
- ア(①、③、②):AP処理のタイムアウトが通信より長いのは不自然で、通信遅延を考慮していません。
- イ(②、①、③):トランザクションが最も長い設定は誤りで、DBロックのリスクが高まります。
- ウ(③、①、②):正解。通信>AP処理>トランザクションの順で適切。
- エ(③、②、①):トランザクションがAP処理より長いのは不適切で、処理の一部であることを無視しています。
よくある誤解
通信タイムアウトを最短に設定してしまうと、ネットワーク遅延で正常処理が途中で切れてしまう恐れがあります。
トランザクションのタイムアウトが長いと、ロック競合やデッドロックの原因になります。
トランザクションのタイムアウトが長いと、ロック競合やデッドロックの原因になります。
補足コラム
タイムアウト設定はシステムの安定性と性能に直結します。通信タイムアウトはネットワーク状況に応じて余裕を持たせ、AP処理はユーザ応答性を考慮し適切に設定します。DBトランザクションは短く設定し、長時間のロックを避けることが重要です。これによりデッドロックやリソース競合を防ぎます。
FAQ
Q: なぜ通信タイムアウトは最も長く設定するのですか?
A: ネットワーク遅延や再送処理が発生するため、通信タイムアウトは余裕を持って長めに設定します。
A: ネットワーク遅延や再送処理が発生するため、通信タイムアウトは余裕を持って長めに設定します。
Q: トランザクションのタイムアウトが短いと何が起きますか?
A: 長時間のロックを防ぎ、デッドロックやリソース競合を回避できますが、短すぎると処理が途中で中断される恐れがあります。
A: 長時間のロックを防ぎ、デッドロックやリソース競合を回避できますが、短すぎると処理が途中で中断される恐れがあります。
関連キーワード: タイムアウト設定、Webシステム、トランザクション、APサーバ、DBサーバ、ネットワーク遅延

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

