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/