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

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

