過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト プラットフォームの最適化 問14

プラットフォームの最適化/カーネルパラメータによるネットワーク最適化

Linuxカーネルのネットワーク関連パラメータに関する説明として、正しいものをすべて選べ。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの最適化」に対応。実際の試験問題ではありません)

正解:A、D

解説

net.core.rmem_max(送信側はnet.core.wmem_max)は、アプリケーションがSO_RCVBUF(SO_SNDBUF)で要求できるバッファサイズの上限で、高帯域・高遅延の通信で大きなバッファを使うアプリケーションのために引き上げます。TCPの自動調整の範囲はnet.ipv4.tcp_rmem等で別に決まります。net.ipv4.tcp_fin_timeoutは、どのアプリケーションからも参照されなくなった接続がFIN_WAIT_2状態で相手のFINを待つ時間で、既定は60秒です。tcp_syn_retriesは自分から接続を開始するときのSYNの再送回数で、SYN+ACKの再送回数はtcp_synack_retriesが決めます。netdev_max_backlogは受信側のパラメータで、カーネルの処理より速くパケットが届いたときに溜めておく入力キューの上限です。

選択肢ごとの解説

  • A正しい。net.core.rmem_maxは、SO_RCVBUFで指定できる受信バッファサイズの上限です。
  • B誤り。tcp_syn_retriesは、自分から接続を開始するときにSYNを再送する回数です。受信したSYNへのSYN+ACKの再送回数はtcp_synack_retriesで決まります。
  • C誤り。netdev_max_backlogは受信側のパラメータで、インターフェースがカーネルの処理より速くパケットを受信したときに溜めておく入力キューの上限です。送信キューの長さはインターフェースのtxqueuelenで設定します。
  • D正しい。tcp_fin_timeoutは、孤立した接続がFIN_WAIT_2状態に留まる時間で、既定は60秒です。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く