Вадим
А если у меня simple failover? По дефолту есть только один узел, при недоступности отдаем второй?
Вадим
все становятся доступны
Будет отдавать дефолт вариант?
Pavel
не, если у тебя например веса 5, 1, 1 и все хелсчеки завалились, то клиенту будет отдаваться как будето 1, 1, 1
Вадим
Да
Aleksandr
Будет отдавать дефолт вариант?
да, т.к. если все чеки фейлятся, все эндпоинты становятся хелси до тех пор, пока хотя бы один по факту не оживёт (станет отдаваться primary, как если бы не было проблем) как оживёт хотя бы один, начнёт отдавать оживший
Вадим
Павел, Александр, спасибо!
G72K
Не всегда Вот в JVM - какой malloc?
В JVM обьекты сборщик мусора двигает, в редис вроде сказали, что нет
Alexander 🐕
В JVM обьекты сборщик мусора двигает, в редис вроде сказали, что нет
Slab allocator ничего никуда не двигает, потому что
Alexander 🐕
На то он и
G72K
Slab allocator ничего никуда не двигает, потому что
Уфф. Ну давайте поспорим уже на что нибудь :) для любого алокатора можно найти патологический паттерн создания /удаления
Alexander 🐕
Так вот, я расскажу своими словами
Alexander 🐕
Всякие сраные sbrk и malloc редис (если он не совсем дурак) делает заранее при старте
Alexander 🐕
Нарезая память тупо на чанки
Alexander 🐕
И мэйнтейня лист свобоных чанков
Alexander 🐕
То есть, поддерживая список, извините
Alexander 🐕
Когда приходит команда PUT, или как там ее
Alexander 🐕
Нужный кусок памяти копируется из буфера в подходящий по размеру чанк
Alexander 🐕
Свободный
Alexander 🐕
И он помечается несвободным ("Дубровский, я несвободна!")
Alexander 🐕
Если кончаются чанки меньшего размера - чанк большего размера режется на меньшие
Alexander 🐕
Если свободных чанков вообще нет - штош пизда огорчение
Alexander 🐕
Когда надо что-то сэвиктить, чанк просто помечается свободным, as simple as that
Alexander 🐕
Одна инфраструктура, один редис, один архитектор! И никакой фрагментации
Alexander 🐕
-----------------------------------------------^ мудак тупой
Alexander 🐕
Это - а я в тот чат написал-то вообще?
Ivan
Это - а я в тот чат написал-то вообще?
Я не знаю, куда ты хотел написать, но спасибо)
Andrey
Это - а я в тот чат написал-то вообще?
а что не в виде поста в блог? =)
Alexander 🐕
а что не в виде поста в блог? =)
Потому что надо идти в код смотреть, что из этого 100% правда, а что - нет
Alexander 🐕
Кстати, nginx делает так же, причем чанки у него всегда 4 Кб, если я верно помню
Alexander 🐕
У меня есть вопрос
Alexander 🐕
Не знаю, сюда или в клауд пипл
Alexander 🐕
Вот у меня есть NVMe SSD, есть netdata, которая рисует график лейтенси
Alexander 🐕
И чот лейтенси там от 5 до 100 миллисекунд
Alexander 🐕
Одна из черепашек пиздит
Alexander 🐕
Я проверил у соседей - у них обычные SSD, там netdata рисует такие же картины
Alexander 🐕
Причем, у соседей стоит Grafana и collectd, и Grafana никогда не рисует больше 2 мс
Alexander 🐕
Вопрос не в этом
Alexander 🐕
Вопрос вот в чем - а как правильно поглядеть? При помощи eBPF tracepoint на операциях write и read?
Sergey
Про слаб было интереснее
Alexander 🐕
Мне интереснее, за что я 15 штук отдал
Alexander 🐕
Потому что 5 мс это чот огорчение
Sergey
За шанс
Danila
Проебаться
Danila
Ты не пробовал какие-нибудь невыебистые бенчмарки включить?
Sergey
А назад в большие их уже не собирают?
Собирают, по-идее одним большим непрерывным куском
Alexander 🐕
А назад в большие их уже не собирают?
Собирают, когда все мелкие в составе большого освободятся Наверное
Valeriy
Вот, как неуверенно, это ваше - наверное прозвучало )
Alexander 🐕
disk = 'nvme0n1' usecs : count distribution 0 -> 1 : 0 | | 2 -> 3 : 0 | | 4 -> 7 : 0 | | 8 -> 15 : 0 | | 16 -> 31 : 0 | | 32 -> 63 : 0 | | 64 -> 127 : 24730 |****************************************| 128 -> 255 : 16769 |*************************** | 256 -> 511 : 10018 |**************** | 512 -> 1023 : 6532 |********** | disk = 'nvme1n1' usecs : count distribution 0 -> 1 : 0 | | 2 -> 3 : 0 | | 4 -> 7 : 0 | | 8 -> 15 : 0 | | 16 -> 31 : 0 | | 32 -> 63 : 0 | | 64 -> 127 : 0 | | 128 -> 255 : 10998 |****************************************| 256 -> 511 : 10601 |************************************** | 512 -> 1023 : 3348 |************ | 1024 -> 2047 : 3330 |************ |
Alexander 🐕
Так-то полущ
Alexander 🐕
Ну чо? Фигануть туда fio?
rambling
Как дежурство чуваки
Alexander 🐕
Как дежурство чуваки
Ничо не происходит
Fedor
Дежурить должна эксплуатация
Fedor
Всякие там дежурные админы
Fedor
Которые по скриптам реагируют
rambling
А если клиенты с асашай и там серв падает
Alexander 🐕
Дежурить должны непосредственно сами скрипты
Fedor
Ну типа того
rambling
Ага, по лямбде чтоб авс перезапускали
Fedor
А если клиенты с асашай и там серв падает
Предпосылки должны быть, либо каналы связи
Fedor
Каналы связи упали
Fedor
А уборщица провод задела - это несерьёзно
rambling
Да бывает тупо админы мудилушки там. Лень им сервер ребутнуть когда упал.
Tadeusz
Нех ронять.
rambling
а он упал когда ребутался админушками
Fedor
rambling
это к клиентам, админы на их стороне
rambling
планеты всмысле
Tadeusz
Ну а что там "упало"?
Fedor
Тогда не пускать мудаков к консоли
Tadeusz
Это само собой
Fedor
Решать первичную причину, а не вторичные
Fedor
Хех :(
rambling
Да всякое бывает, иногда девы кинут предьяву и неделю игнорят все.