Size: a a a

2021 January 11

KN

Konstantin Nazarov in Tarantool
Anton Barsukov
Всем привет! С прошедшими праздниками.


Нужна платная консультация и настройка тарантул.

Суть:

Есть тестовый мемкеш и тарантул, в оба сложены одни и те же данные.На одном и том же сервере.

Вот тесты одновременного чтения данных:

время                                                          тарантул                  мемкеш

минимальное время                                  3.05                           0.50

максимальное время                                4.75                           0.72

среднее время                                             3.86                           0.58


Как видно, скорость отличается в 6-7 раз. Нужно добиться максимального приближения скорость заборы данных из тарантула к показателям мемкеша.
Специфика-используется перловый коннектор.
попробуйте вот этот модуль https://github.com/tarantool/memcached
источник

KN

Konstantin Nazarov in Tarantool
есть вероятность что тарантульный пайплайнинг, протокол и не очень оптимальный перловый модуль вам расходуют время. если результат получится такой же -- можно будет уже дальше смотреть
источник

KN

Konstantin Nazarov in Tarantool
тарантульный протокол не оптимизирован под ультра-низкий latency, а скорее под пропускную способность
источник

MA

Mons Anderson in Tarantool
Konstantin Nazarov
есть вероятность что тарантульный пайплайнинг, протокол и не очень оптимальный перловый модуль вам расходуют время. если результат получится такой же -- можно будет уже дальше смотреть
Факт
источник

EL

Eugene Leonovich in Tarantool
> не очень оптимальный перловый модуль
@inthrax это же неправда? )
источник

MA

Mons Anderson in Tarantool
Eugene Leonovich
> не очень оптимальный перловый модуль
@inthrax это же неправда? )
Правда. Нормальный — тот что в облаке писался (Латкин и я писали). Но он только асинхронный и только под EV
источник

KN

Konstantin Nazarov in Tarantool
с большой вероятностью модуль memcached даст хороший результат (он там в основном на C написан)
источник

EL

Eugene Leonovich in Tarantool
а, я думал речь про него
источник

EL

Eugene Leonovich in Tarantool
кстати, вопрос по протоколу, правда ли что call17() и evaluate() ВСЕГДА возвращают мап с одним элементом в боди?
источник

MA

Mons Anderson in Tarantool
Кажется да. Надо спеку глянуть
источник

MA

Mons Anderson in Tarantool
Eugene Leonovich
кстати, вопрос по протоколу, правда ли что call17() и evaluate() ВСЕГДА возвращают мап с одним элементом в боди?
источник

EL

Eugene Leonovich in Tarantool
а причина этого - унификация ответа? зачем нужен лишний мап?
источник

EL

Eugene Leonovich in Tarantool
как я понимаю сейчас возвращается:

eval('return 1') -- body: [[1]]
eval('return 1, 2, 3') -- body: [[1, 2, 3]]
источник

MA

Mons Anderson in Tarantool
ох, затрудняюсь ответить
источник

EL

Eugene Leonovich in Tarantool
почему не
body: [1]
body: [1, 2, 3]
источник

MA

Mons Anderson in Tarantool
унификация формата ответа с возвратом из select
это array of tuples
источник

MA

Mons Anderson in Tarantool
в eval/call возвращается 1 tuple
источник

EL

Eugene Leonovich in Tarantool
ну для селекта понятно почему, там [[1,'foo'], [2, 'bar'], ...]
источник

EL

Eugene Leonovich in Tarantool
для остальных непонятно
источник

EL

Eugene Leonovich in Tarantool
> в eval/call возвращается 1 tuple

он возвращается завернутый в мап
источник