Tarantool sphia делает медленный отбор?

Используйте версию Tarantool: Tarantool 1.6.8-586-g504e151 Он установлен из Epel. Я использую Tarantool в режиме Sphia:

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: выберите ({'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

1 ответ

Решение

После прямой помощи на месте и отладки с помощью agent-0007 мы обнаружили несколько проблем.

Большинство из них были связаны с медленной виртуальной средой (использовался openvz), которая показывает неадекватные остановки pread() и тайминги.

Кроме того, мы обнаружили две проблемы интеграции:

https://github.com/tarantool/tarantool/issues/1411 (SIGSEGV на eio_finish) https://github.com/tarantool/tarantool/issues/1401 (Ошибка в функции обратного вызова приложения upsert applier с использованием sophia)

Благодарю.

Sophia Engine устарел, так как 1.7.x. Пожалуйста, используйтеvinyl двигатель вместо него.

Пожалуйста, посмотрите более подробную информацию: https://www.tarantool.io/en/doc/1.10/book/box/engines/vinyl/

Другие вопросы по тегам