Size: a a a

2020 November 18

ИЛ

Илья Лебедев... in Tarantool
ок, спасибо
источник

MU

Maksim Uimin in Tarantool
Добрый вечер! Подскажите по винилу, пожалуйста. В доке сказано "box.stat.vinyl().memory.tx is transactional memory. This will usually be 0." А если это не ноль, что это значит?
источник

vm

victor mogilin in Tarantool
а есть какие-нибудь сравнения по поводу винил vs rocksdb?
источник

AK

Alexey Kuzin in Tarantool
Maksim Uimin
Добрый вечер! Подскажите по винилу, пожалуйста. В доке сказано "box.stat.vinyl().memory.tx is transactional memory. This will usually be 0." А если это не ноль, что это значит?
Это значит данные пришли с клиента или из реплики например, а закоммититься не могут и висят в памяти
источник

AK

Alexey Kuzin in Tarantool
То есть долгие транзакции висят какие-то
источник

MU

Maksim Uimin in Tarantool
Спасибо, нашёл
источник
2020 November 19

ИА

Ильдар Ахметгалеев... in Tarantool
Каким образом в картридже получить список всех репликасетов предоставляющих конкретную роль?
источник

MF

Michael Filonenko in Tarantool
Cartridge.rpc.get_candidates
источник

ИА

Ильдар Ахметгалеев... in Tarantool
благодарю
источник

MU

Maksim Uimin in Tarantool
Добрый день! Подскажите по vinyl, пожалуйста. Есть тачка: 56 CPU, 256 GB RAM, 3.8 TB SSD. На ней крутятся 4 шарда тарантула версии 1.10.7. В схеме данных 1 спейс на виниле без вторичных индексов и триггеров. Нагрузка на шард: 2k-8k ops REPLACE, < 1 ops SELECT.
Начали заканчиваться диски по свободному месту, нужно удалить старые записи. Для этого пытался использовать отдельный файбер, что-то вроде expirationd, только своя реализация: ходит через :pairs по индексу, набивает пачку записей и удаляет.
Возникает проблема с процом: тарантулы отъедают по 1 ядру на шард и перестают вывозить на запись (думаю, что tx тред заканчивается). Файбер yield'ит исправно, но встаёт в чтения: select([1589640707], LT) => [1589639904, 158007759, 1879260540, 14091669010076601, 1592494072] took too long:8710.969 sec. Такая штука вчера вызвала read_view транзакцию и сильно убила перформанс на REPLACE.
База сейчас для чтений не оптимизирована: vinyl_read_threads = 4, vinyl_bloom_fpr = 1, vinyl_cache = default = 128MB, vinyl_page_size = 2000*tuple. Что нужно безопасно покрутить, чтобы винил нормально вывозил итерирование по индексу и как правильно рассчитать значения?
источник

AK

Alexey Kuzin in Tarantool
Maksim Uimin
Добрый день! Подскажите по vinyl, пожалуйста. Есть тачка: 56 CPU, 256 GB RAM, 3.8 TB SSD. На ней крутятся 4 шарда тарантула версии 1.10.7. В схеме данных 1 спейс на виниле без вторичных индексов и триггеров. Нагрузка на шард: 2k-8k ops REPLACE, < 1 ops SELECT.
Начали заканчиваться диски по свободному месту, нужно удалить старые записи. Для этого пытался использовать отдельный файбер, что-то вроде expirationd, только своя реализация: ходит через :pairs по индексу, набивает пачку записей и удаляет.
Возникает проблема с процом: тарантулы отъедают по 1 ядру на шард и перестают вывозить на запись (думаю, что tx тред заканчивается). Файбер yield'ит исправно, но встаёт в чтения: select([1589640707], LT) => [1589639904, 158007759, 1879260540, 14091669010076601, 1592494072] took too long:8710.969 sec. Такая штука вчера вызвала read_view транзакцию и сильно убила перформанс на REPLACE.
База сейчас для чтений не оптимизирована: vinyl_read_threads = 4, vinyl_bloom_fpr = 1, vinyl_cache = default = 128MB, vinyl_page_size = 2000*tuple. Что нужно безопасно покрутить, чтобы винил нормально вывозил итерирование по индексу и как правильно рассчитать значения?
vinyl_write_threads пробовали крутить?
источник

AK

Alexey Kuzin in Tarantool
И vinyl_read_threads
источник

MU

Maksim Uimin in Tarantool
Alexey Kuzin
vinyl_write_threads пробовали крутить?
В 10-ку стоит, не думаю, что в них упираемся
источник

AK

Alexey Kuzin in Tarantool
Бот, обошедший шилди, детектед
источник

AK

Alexey Kuzin in Tarantool
Maksim Uimin
В 10-ку стоит, не думаю, что в них упираемся
О, это много кстати
источник

MU

Maksim Uimin in Tarantool
Alexey Kuzin
И vinyl_read_threads
Пока нет, сегодня хотел попробовать
источник

MU

Maksim Uimin in Tarantool
Alexey Kuzin
О, это много кстати
Может негативно сказаться? Утилизация CPU в нормальном режиме работы около 3%
источник

AK

Alexey Kuzin in Tarantool
Maksim Uimin
Может негативно сказаться? Утилизация CPU в нормальном режиме работы около 3%
У вас похоже на голодание процессов по процу, возможно тредов слишком много
источник

MU

Maksim Uimin in Tarantool
Alexey Kuzin
У вас похоже на голодание процессов по процу, возможно тредов слишком много
Если слишком много потоков, насколько я понимаю, должно потребление процессора в kernel спейсе увеличиваться из-за переключений контекста. Оно наоборот уменьшилось, а юзерспейс отрос до 4-ёх ядер на 4 шарда. Мне кажется, что боттлнек всё-таки в tx-треде
источник

AK

Alexey Kuzin in Tarantool
Maksim Uimin
Если слишком много потоков, насколько я понимаю, должно потребление процессора в kernel спейсе увеличиваться из-за переключений контекста. Оно наоборот уменьшилось, а юзерспейс отрос до 4-ёх ядер на 4 шарда. Мне кажется, что боттлнек всё-таки в tx-треде
sys вырастет, а usr может и упасть, если потоки в основном спят
источник