このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

1.1.1 UEKリリース1について

UEKのリリース1は、安定した2.6.32 Linuxカーネルに基づいており、次のような追加のパフォーマンス向上機能が提供されます。

  • IRQ (割込みリクエスト)バランシングの向上。

  • カーネル全体でのロック競合の減少。

  • 受信パケット・ステアリングの使用およびRDSの向上によるネットワークI/Oの改善。

  • 仮想メモリーのパフォーマンスの向上。

UEKリリース1には、オラクル社のデータベース、ミドルウェアおよびハードウェアのエンジニアリング・チームとの共同作業によって開発された最適化機能が含まれており、負荷の高いエンタープライズ・ワークロードに対して安定性と最適なパフォーマンスが保証されます。 大規模システムのパフォーマンス向上に加え、次のUEK機能がデータ・センターでLinuxを使用する場合に関係します。

  • インフィニバンドのOpenFabrics Enterprise Distribution (OFED) 1.5.1では、リモート・ダイレクト・メモリー・アクセス(RDMA)およびカーネル・バイパス・メカニズムを実装し、サーバー、ブロック・ストレージおよびファイル・システムにおいて、効率性の高い計算機能、ワイヤスピードのメッセージング、超短時間マイクロ秒の待機時間、および高速なI/Oを実現します。 これには、高速で待機時間の短いネットワーキング用として改善されたRDS (高信頼性データグラム・ソケット)スタックも含まれます。 インフィニバンドの上位レイヤー・プロトコル(ULP)として、RDSは、1MBまでのサイズのIPCデータグラムを高い信頼性に基づいて送信することが可能で、現在Oracle Real Application Clusters (RAC)やExadataおよびExalogic製品で使用されています。

  • 複数の追加パッチによって、多くのCPU、CPUコアおよびメモリー・ノードを搭載した非均等メモリー・アクセス(NUMA)・システムのパフォーマンスが大幅に向上しています。

  • 受信パケット・ステアリング(RPS)は、特に負荷が高い場合に全体的なネットワーキング・パフォーマンスを向上する受信側スケーリング(RSS)のソフトウェア実装です。 RPSは、受信したネットワーク・パケットの処理の負荷を複数のCPU全体に分散し、同じCPUがIPアドレスとポートの特定の組合せに対するすべてのパケットを処理するようにします。

    RPSがトラフィックを転送できるCPUのリストを構成するには、/sys/class/net/interface/queues/rx-N/rps_cpusを使用して、指定したネットワーク・インタフェースと受信キューに対してCPUビットマップを実装します。 デフォルト値は0 (ゼロ)で、RPSは無効になるため、ネットワーク割込みを処理しているCPUも受信パケットを処理することになります。 RPSを有効にして、特定のCPUセットによってインタフェース上の受信キューで割込みを処理できるようにするには、ビットマップのそれらの位置の値を1に設定します。 たとえば、RPSを有効にしてeth0上のrx-0キューに対してCPU 0、1、2、3を使用するには、rps_cpusの値を次のようにf (16進数で1+2+4+8 = 15)に設定します。

    # cat f > /sys/class/net/eth0/queues/rx-0/rps_cpus

    RSSは、通常、各受信キューにCPUをマップするように自動的に構成されるため、マルチキュー・ネットワーク・デバイスを含むシステムでRPSを構成する利点はありません。

    単一の送信キューを含むインタフェースでは、通常、同じキューを共有するように、同じメモリー・ドメインのCPUに対してrps_cpusを設定する必要があります。 つまり、NUMA以外のシステムでは、rps_cpusに使用可能なすべてのCPUを設定することになります。

    ヒント

    受信割込みを処理しているCPUを確認するには、コマンドwatch -n1 cat /proc/softirqsを使用して、各CPUのNET_RXの値を監視します。

  • 受信フロー・ステアリング(RFS)は、システムがネットワーク・パケットをパラレルに処理する方法を調整するようにRPSを拡張します。 RFSは、アプリケーション照合を実行して、アプリケーションが実行されているCPUにネットワーク・トラフィックを転送します。

    RFSを構成するには、/proc/sys/net/core/rps_sock_flow_entriesを使用してグローバル・フロー表のエントリ数を設定し、/sys/class/net/interface/queues/rx-N/rps_flow_cntを使用してネットワーク・インタフェースのキューごとのフロー表のエントリ数を設定します。 デフォルト値は両方とも0 (ゼロ)であり、RFSは無効になります。 RFSを有効にするには、rps_sock_flow_entriesの値を現在アクティブな接続の最大予測数に設定し、rps_flow_cntの値をrps_sock_flow_entries/Nqに設定します(Nqはデバイス上の受信キューの数です)。 入力値は、すべて2の最も近い累乗値に切り上げられます。 適度な負荷のサーバーに対して推奨されるrps_sock_flow_entriesの値は、32768です。

  • カーネルは、ソリッド・ステート・ディスク(SSD)を検出し、それらの使用を目的とした自己調整のために、回転メディアの最適化コードをバイパスしてSSDに遅延なしのI/Oをディスパッチできます。

  • データ整合性機能では、データベースから個々のストレージ・スピンドルまたはデバイスに至るまでのすべてのデータを検証します。 Linuxデータ整合性フレームワーク(DIF)は、アプリケーションやカーネル・サブシステムがメタデータをI/O操作にアタッチできるようにし、DIFをサポートするデバイスは、それらをスタックの深い場所に渡して物理的にディスクにコミットする前に、整合性を検証できます。 データ整合性拡張(DIX)機能によって、オペレーティング・システムとホスト・バス・アダプタ(HBA)間で保護メタデータの交換が可能になり、認識しにくいデータ破損を防ぐことができます。 Oracle Databaseでアドオンとして使用できるデータ整合性対応の自動ストレージ・マネージャ(ASM)でも、アプリケーションからディスク・プラッタまでを対象にデータ破損が保護されます。

    ブロック・レイヤー整合性APIによるプログラミングを含むデータ整合性機能の詳細は、http://www.kernel.org/doc/Documentation/block/data-integrity.txtを参照してください。

  • Oracle Cluster File System 2 (OCFS2)リリース1.6には、多くの機能が含まれます。 詳細は、第6章「Oracle Cluster File Systemバージョン2」を参照してください。