過去問ドリル

LinuCレベル4 システムアーキテクト 性能・拡張性の設計 問5

性能・拡張性の設計/性能の改善

ノード内およびノード間の性能改善の判断として、適切でないものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「性能・拡張性の設計」に対応。実際の試験問題ではありません)

正解:B

解説

ボンディング(リンクアグリゲーション)は、多くのモードでアドレスやポートのハッシュによって通信の流れ(フロー)ごとに送信するリンクを決めるため、1本のTCP接続は基本的に1本のリンクしか使いません。そのため、多数の接続をまとめた全体のスループットは向上しますが、単一のストリームの速度は1本のリンクの帯域が上限になります。なお balance-rr モードは単一の接続も複数のリンクに振り分けますが、パケットの順序が入れ替わるため、スループットは本数分には伸びません。ヒュージページは事前に確保した領域がスワップされず、ページテーブルも小さく済む手段で、NVMe SSDではデバイス側の並列性が高いため、スケジューラをnoneにしてオーバーヘッドを減らすのが一般的です。長距離広帯域の経路では、帯域遅延積に見合うバッファを確保しないとウィンドウ不足でスループットが頭打ちになります。

選択肢ごとの解説

  • A誤り(正しい記述)。事前に確保したヒュージページはスワップの対象にならず、ページサイズが大きいぶんページテーブルの項目数も減ります。
  • B正しい(誤っている記述)。多くのモードではフロー単位でリンクを選ぶため、1本のTCP接続の速度は1本のリンクの帯域を超えません。
  • C誤り(正しい記述)。NVMe SSDはデバイス自身が多数のキューで並列に処理するため、カーネルでの並べ替えを省くnoneがよく選ばれます。
  • D誤り(正しい記述)。送信中で応答待ちのデータ量は帯域と往復遅延の積になるため、バッファがそれより小さいと帯域を使い切れません。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く