システム要件

MobileFirst Analytics Server では、データ・ストアとクラスター管理に組み込み Elasticsearch ライブラリーを使用します。 これは、高速ディスク入出力を要求する高性能のメモリー内検索および照会エンジンを目指すため、 いくつかの実動システム要件に従う必要があります。 一般的に、CPU が問題となる前に、メモリーとディスクが不足する (または、ディスク入出力がパフォーマンス・ボトルネックであると分かる) 可能性が高くなります。 クラスター環境では、高速で、信頼性が高く、同一場所に設置されたノード・クラスターが必要です。

オペレーティング・システム

  • CentOS/RHEL 6.x/7.x
  • Oracle Enterprise Linux 6/7 (RHEL カーネルのみ)
  • Ubuntu 12.04/14.04
  • SLES 11/12
  • OpenSuSE 13.2
  • Windows Server 2012/R2
  • Debian 7

JVM

  • Oracle JVM 1.7u55+
  • Oracle JVM 1.8u20+
  • IcedTea OpenJDK 1.7.0.55+

ハードウェア

  • RAM: RAM は大きいほうがよいですが、ノード当たり 64 GB 以下です。 32 GB と 16 GB も許容されます。 8 GB 未満では、クラスターに多くの小さなノードが必要です。64 GB は無駄で、Java™ がポインターにメモリーを使用するしくみの理由で問題があります。
  • ディスク: 可能な場合は SSD を使用します。あるいは、SSD が可能でなければ高速回転の従来型ディスクを RAID 0 構成で使用します。
  • CPU: CPU は、傾向としてパフォーマンス・ボトルネックになりません。2 コアから 8 コアのシステムを使用します。
  • ネットワーク: 水平方向のスケールアウトが必要になる場合は、1 GbE から 10 GbE の速度をサポートする、高速で、信頼性が高いデータ・センターが必要です。

ハードウェア構成

  • JVM には、使用可能な RAM の半分を設定します。ただし、32 GB を超えないでください。
    • ES_HEAP_SIZE 環境変数を 32g に設定します。
    • -Xmx32g -Xms32g を使用して JVM フラグを設定します。
  • ディスク・スワップをオフにします。 オペレーティング・システムがヒープをディスクとの間でスワップできるようにすると、著しくパフォーマンスが低下します。
    • 一時的な設定: sudo swapoff -a
    • 永久的な設定: オペレーティング・システムの資料に従って、/etc/fstab を編集します。
    • どちらの選択肢も可能でない場合、Elasticsearch オプションの bootstrap.mlockall: true を設定します (この値は、組み込み Elasticsearch インスタンスのデフォルトです)。
  • 許容されるオープン・ファイル・ディスクリプター数を増やします。
    • Linux では通常、プロセス当たりのオープン・ファイル・ディスクリプターの数を小さい 1024 に制限しています。
    • この値を永久に大幅に増やす (64,000 など) 方法について、ご使用のオペレーティング・システムの資料を調べてください。
  • Elasticsearch では、さまざまなファイルに NioFS と MMapFS のミックスも使用します。 mmap されたファイルに多くの仮想メモリーが使用可能になるように、最大マップ・カウントを増やします。
    • 一時的な設定: sysctl -w vm.max_map_count=262144
    • 永久的な設定: /etc/sysctl.confvm.max_map_count 設定を変更します。
  • BSD と Linux を使用する場合は、必ず、オペレーティング・システム入出力スケジューラーを cfq ではなく、 deadline または noop に設定してください。