私は、128MBのRAMを持つ安価なVPSホストを見つけることができます。それは、最初にテスト用の小さなデータベース用のクレートノードを実行するのに十分なのだろうかと思います。 (私はを探していないよメモリを推奨しますが、メモリ不足の例外に実行していないため、1最小。クレートはノードの唯一のサービスであると考えられる。)Crate - ノードホストの最小メモリ要件はいくらですか?
1
A
答えて
2
このような環境でCrateを実行することは可能です。しかし、私はそれをお勧めしません。いずれにせよ、あなたは、いくつかの予防策を講じる必要があります。
- は実際にブーツリーンのLinuxディストリビューションを選択して、このような小さなメモリフットプリントで実行されます。アルパインは1つの選択肢かもしれません。
- Javaをインストールします。あなたは少なくともopenjdk7(55以上のアップデート)が必要です。
- CrateのWebサイトで説明されているように、tarballからCrateをインストールして起動してください。アルパイン3.3の上に128 MBのRAMを搭載した仮想マシンで
、私はディスク上の(あなたが/etc/apk/repositories
コミュニティリポジトリを有効にする必要があります)openjdk8-jre
をインストールしました。私はCrate 0.54.7のtarballをダウンロードし、それを解凍しました。私はCRATE_HEAP_SIZE=64m
と設定しています。これは、利用可能なメモリの半分を推奨しているためです。 (
head -c7380 /dev/urandom | uuencode - | grep ^M | tr -d '\n\047'
これには数分かかりました:
は、私はテーブルの「デモ」DROP TABLE IF EXISTS demo;
CREATE TABLE demo (
data string
);
を作成し、遅いbashスクリプトで各10キロバイトのランダムな文字列の10,000レコードでそれを埋め約20レコード/秒)ですが、一括挿入の場合はの方法が速くてほんの数秒かかるはずです。
管理UIによって報告された正味データ量は約100 MBで、ディスク上に287 MBのグロスが必要でした。
オペレーティングシステム、インストールされたソフトウェア、およびデータ全体がディスク上に820 MBを要求しました。
私は(データなしクレートプロセス自体を約40メガバイトを占める)スワップ空間としてメモリの倍の量を設定し、以下のフットプリントを得た:
# free
total used free shared buffers cached
Mem: 120472 117572 2900 0 652 6676
-/+ buffers/cache: 110244 10228
Swap: 240636 131496 109140
すべての10,000レコード(SELECT count(*) FROM demo WHERE data LIKE '%ABC%'
)以上の全文検索がかかりました約1.9秒。
要約:はい、可能ですが、実際にそうすると多くの機能が失われます。結果は、実際に実行するクエリの種類に大きく依存します。
1
関連する問題
- 1. Laravel 5.5最小要件
- 2. SCIM 2.0最小要件
どのような種類のクエリを実行できると思われますか?また、いくつのレコードが必要ですか?明らかに、メモリが少ないほど、応答が処理できるデータが少なくなります。 – Christian
~10000のそれぞれ〜10Kbのレコード。ピーク時には10回の書き込み/分と100回の読み取り/分を処理する必要があります。列の値、配列要素、およびフルテキスト列の単純な照会(結合なし)。 –
各読み取りは、それぞれ最大10MBの100レコードを必要とします(合計最大1MB /読み取り)。各書き込みでは、1つのレコードしか保存されません。 –