2016-06-22 6 views
3

私はここで初心者ですrethinkdbの初心者です。まず、私の悪い英語には申し訳ありませんが、rethinkdbの更新トランザクションのパフォーマンスについて質問があります。RethinkDBトランザクションのパフォーマンスを更新

rethinkdbのNative JS APIでNodejsを使用しています。私はファイルストリームを読み込んで処理し、rethinkdbで更新するデータを取得する必要があります。データを取得して1k行でフィルタリングした後、rethinkdbで更新するように送信しました。次に、socketioでnodejsサーバーがchangefeed関数をトリガーします。

1秒/ 1000回かかります。 (SSDドライブ)

r.table('mds').getAll(data.symbol, { index : "symbol" }).update({ price : data.price, update_date : moment().format('YYYY-MM-DD HH:mm:ss') }, { returnChanges : false}).run(conn, function(err, cursor).... 

rethinkdbの更新パフォーマンスは通常通常ですか?それはより速いかもしれませんか?または私は質問や条件に間違っていますか?

+0

あなたはその質問に対する回答を見つけることができますか?私はまた、遅い更新クエリの同じ問題に直面しています。 –

答えて

1

getAllコールの1つによって返される行の数はいくつですか?各トランザクションで変更される行の数に応じて、1秒あたり1000トランザクションが妥当であるかどうかは関係ありません。

各トランザクションの行数が少ない場合は、パフォーマンスが向上しているはずです。あなたが試みることができる1つのことは、書き込みのためのソフト耐久性を有効にすることです。それが役に立たない場合(またはハードな耐久性が必要な場合)は、もっと多くのRethinkDBサーバーをクラスターに追加し、それらのサーバーにテーブルを分割するだけです。

+0

getAll呼び出しの1つによって返される行の数はいくつですか? - 約2k行です。 チェンジフィード機能を使用する必要があるため、ソフト耐久性を使用できません。その後、結果は返されません。しかし、私はrethinkdbのためのドッキング用のコンテナも使用していますので、私はクラスターをテストするための別のコンテナをセットアップしようとします。 ありがとうございます。 – Pikachu

関連する問題