RAM:メモリは、クラスタのスムースな動作に関わる最も重要な要素の一つです。Couchbaseはアクティブなデータセットのほとんどをメモリ上に配置するアプリケーションに適しています。ある時点でアクティブに利用されるデータをワーキングセットと呼びます。全てのワーキングセットが収まるように十分なメモリを割り当てることが非常に重要です。新しいデータ用の十分な空きメモリがない場合、一部のドキュメントがメモリから排出され、ディスク上にのみ存在するようになります。ディスクへのアクセスはメモリ内のデータに比べはるかに遅くなります。その結果、もしメモリから排出されたデータが頻繁にアクセスされる場合、クラスタのパフォーマンスが低下します。パフォーマンスを最適化し、このような状況を回避するために、設定を確認する次のセクションで提供されている式を使用してください。
ノード数:クラスタに必要なメモリサイズが分かったら、次に少数の大きなノードか、より多くの小さなノードにするかを決定する必要があります。
小さなノードを増やせばその分 I/O アクセスを分散できますが、ノードが故障する可能性も(クラスタ全体において)高くなります。
少数の大きなノードでは、ノード故障が発生した場合、アプリケーションへの影響は大きくなります。
これは、信頼性と効率のトレードオフです。
Moxy:クライアントサイドのmoxi、またはスマートクライアントはサーバサイドのmoxiより効率的ですが、開発環境用には、より簡単に利用できるサーバサイドのmoxiを利用することができます。サーバ側moxiの欠点は、クライアントの要求を受信したサーバに要求されたデータがない場合、余分なホップが発生する可能性があることです。クライアントの詳細についてはこちらを御覧ください。別のデプロイ手法については、こちらを御覧ください。
コア数:CouchbaseはCPU性能より、メモリやI/O性能に影響されます。しかし、Couchbaseは少なくとも2つのコアを持つマシンで利用するのが効率的です。
ストレージの種類:データ格納先として、SSD(ソリッドステートドライブ)か回転式ディスクドライブが選択できます。SSDは回転式メディアよりも高速ですが、現在は高コストです。SSDの場合、I/Oのバッファキューサイズが小さいため、Couchbaseで必要となるメモリも少なくなります。
WANデプロイメント:CouchbaseはWAN構成で使用するためのものではありません。Couchbaseはサーバノード間およびサーバノードとCouchbaseクライアント間のレイテンシが非常に低いことを必要とします。