0

使用する tarantool バージョン: Tarantool 1.6.8-586-g504e151 epel からインストールしました。sphia モードで tarantool を使用します。

log_space = box.schema.space.create('logs',
    {
        engine = 'sophia',
        if_not_exists = true
    }
)

log_space:create_index('primary', {
        parts = {1, 'STR'}
    }
)

私は 500.000 レコードを持っており、選択リクエストを行います:

box.space.logs:select({'log_data'})

約1分かかります。なぜそんなに遅いのですか?

unix/:/var/run/tarantool/g_sofia.control> box.stat()
—-
- DELETE:
    total: 0
    rps: 0
  SELECT:
    total: 587575
    rps: 25
  INSERT:
    total: 815315
    rps: 34
  EVAL:
    total: 0
    rps: 0
  CALL:
    total: 0
    rps: 0
  REPLACE:
    total: 1
    rps: 0
  UPSERT:
    total: 0
    rps: 0
  AUTH:
    total: 0
    rps: 0
  ERROR:
    total: 23
    rps: 0
  UPDATE:
    total: 359279
    rps: 17
4

2 に答える 2

0

直接のオンサイト ヘルプとエージェント-0007 でのデバッグの後、いくつかの問題が見つかりました。

それらのほとんどは、不十分な pread() ストールと io タイミングを示す遅い仮想環境 (openvz が使用されている) に関連しています。

さらに、2 つの統合の問題が見つかりました。

https://github.com/tarantool/tarantool/issues/1411 (eio_finish の SIGSEGV) https://github.com/tarantool/tarantool/issues/1401 (sophia を使用した upsert applier コールバック関数のバグ)

ありがとう。

于 2016-03-28T10:33:10.900 に答える