Size: a a a

2021 January 15

R

R-omk in Tarantool
R-omk
@Korablev77    нужная пояснительная бригада...

Разве on_schema_init    не должен ВСЕГДА вызываться до окончания поднятия снапшота (тоесть перед началом),      или триггер вызывается несколько раз  ?

https://github.com/tarantool/tarantool/commit/3bc4a156e937102f23e2157ef88aa6c007759005#diff-bdd09286e91e43faaa5d3069d0ca967e302b2b32af52d9e3083c3386e98b2860R35
кажется  все это вообще не решает то что описано в 5 пункте
https://github.com/tarantool/tarantool/issues/5304#issuecomment-694085235


тут либо вообще нужно запрещать изменять  любые данные в спейсах отличных от текущего тапла

либо индексы в temporary и local   должны к этому времени существовать...

is_recovery_finished   никак не может помочь в этом вопросе....

—-
как я понимаю изначально ктото пытался сделать такую штуку  чтобы при поднятии из снапшота создавалось некое представление во временном спейсе,     это довольно логично для различных оптимизаций (например материализатор счетчиков ),   но индексов в спейсе нет и таплы просто вставлялись как есть вместо агрегации (суммирования в случае со счетчиками),

@a_lyapunov,  обрати внимание, твой тикет
источник

B

Bogdan in Tarantool
Dmitry Sharonov
а торганите цифрами, сколько вышло то?
Для тестирования использую digitalocean, нода с тарантулом - 2cpu 2gb, нода для нагрузки - 8cpu 16gb.
Нагрузку даю 7 раз по 1 милиону записей, для memtx 3749 RPS, vynil 20073 RPS.
источник

AK

Alexey Kuzin in Tarantool
А нет ли в DO какого-то лимитинга?
источник

B

Bogdan in Tarantool
box.cfg{listen = 3301; wal_mode = 'fsync'; memtx_memory = 1000 * 2^20; readahead = 1000000; net_msg_max = 4000}

s = box.schema.space.create('mem');
s:format({
 {name = 'id', type = 'unsigned'},
 {name = 'data', type = 'varbinary'}
 });
s:create_index('primary', {
 type = 'hash',
 parts = {'id'}
 });
 
s = box.schema.space.create('ssd', {engine = 'vinyl'});
s:format({
 {name = 'id', type = 'unsigned'},
 {name = 'data', type = 'varbinary'}
 });
s:create_index('primary', {
 type = 'tree',
 parts = {'id'}
 });
источник

B

Bogdan in Tarantool
Alexey Kuzin
А нет ли в DO какого-то лимитинга?
возможно, но vynil то отрабатывает больше :)
источник

B

Bogdan in Tarantool
причем при vynil утилизация процца 100%, у memtx около 10%
источник

B

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

MA

Mons Anderson in Tarantool
Bogdan
если использовать синхронную репликацию из 2.6+, и мастер упал, происходит ли переключение на реплику (1)? если мастер потом подымится он станет синхронной репликой (2)?
зависит от используемой обвязки и настройки. картриджа, например или встроенного master election
источник

VG

Vladislav Grubov in Tarantool
слушайте, а если вернуть wal_mode=write и отбенчить винил, рпсы изменятся?
источник

Д

Дмитрий in Tarantool
У меня тут несколько глупых вопросов возникло... но в пятницу вечером это нормально :) 1) Я же верно понимаю, что добавить в format новое поле или удалить старое - это проблема и решается она через Spacer, Migrations? Руками это боль или относительно не сложно? 2) number и integer хранятся в Tarantool одинаково? Или есть различия по размерности?
источник

MA

Mons Anderson in Tarantool
Bogdan
причем при vynil утилизация процца 100%, у memtx около 10%
повышайте параллелизм. при мемтиксе получается 90% времени он ждёт fsync, при этом есть запас в 90%
источник

B

Bogdan in Tarantool
Vladislav Grubov
слушайте, а если вернуть wal_mode=write и отбенчить винил, рпсы изменятся?
счас перемеряю и выложу
источник

B

Bogdan in Tarantool
Mons Anderson
повышайте параллелизм. при мемтиксе получается 90% времени он ждёт fsync, при этом есть запас в 90%
сейчас стоит 2000 тредов, пробовал 3000, без изменений, еще попробую поднять количество клиентов на java конекторе
источник

MA

Mons Anderson in Tarantool
Bogdan
сейчас стоит 2000 тредов, пробовал 3000, без изменений, еще попробую поднять количество клиентов на java конекторе
ну, треды это такое...
у вас клиент просто не создаёт достаточной параллельности
источник

DS

Dmitry Sharonov in Tarantool
Bogdan
сейчас стоит 2000 тредов, пробовал 3000, без изменений, еще попробую поднять количество клиентов на java конекторе
если леша прав про коннектор, треды вам вообще не помогут
источник

DS

Dmitry Sharonov in Tarantool
если вы хотите именно тарантул именно так протестить - может проще всего fireandforgetOps?
источник

DS

Dmitry Sharonov in Tarantool
были ж там такие я помню
источник

AK

Alexey Kuzin in Tarantool
Есть и asyncOps, если результат всё же нужен
источник

AK

Alexey Kuzin in Tarantool
Но всё-таки лучше cartridge-java попробовать
источник

B

Bogdan in Tarantool
Vladislav Grubov
слушайте, а если вернуть wal_mode=write и отбенчить винил, рпсы изменятся?
memtx: 68390, vynil: 26918 :)
источник