1

いくつかのレコードが作成または変更されるたびに C で記述された UDF (ユーザー定義関数) を呼び出すときに予想されるパフォーマンスへの影響を知りたい ( UDFコード自体に時間がかからないという前提で- 私は自分でそれを最適化します)自分の)。

毎秒 20 万回の書き込みで SSD 永続化ネームスペースを実行できるハードウェアがあるとします。UDF を毎回実行すると、毎秒少なくとも 5 万回の書き込みが期待できますか?

サブ質問: UDF のパフォーマンスを制限する可能性があるもの (コンテキストの切り替え?)

質問の理由は、Aerospike がこれらの UDF を使用しているためです。たとえば、大規模なデータ タイプですが、AS スタッフによると (KVS-Ops と比較して) パフォーマンスが高くありません。私のユースケースは、UDF を使用して Redis クラスター内の幅広いセカンダリ インデックスを最新の状態に保ち、よりリッチなリアルタイム クエリ (例: 5 ~ 10 のセカンダリ インデックスの交差/結合) を可能にすることです。

4

1 に答える 1

3

最善の方法は、自分でテストを実行することです。予測するのは難しいです。しかし、50k tps を実行できるはずだと思います。

主に UDF のパフォーマンスは、UDF を呼び出す前に内部で行われるメモリ割り当てによって影響を受けます。int/string/blob のような単純なデータ型を使用している場合は、より適切です。UDF でリスト/マップを使用すると、パフォーマンスに影響を与えるより多くのメモリ割り当てが行われます。

于 2015-05-29T07:29:47.190 に答える