- Планировщик ввода-вывода: текущий - mq-deadline. Замена на noop, причина - необходима пропускная способность и повышенная рабочая нагрузка - процессор. - Отключение кешей физических дисков - Отключение кешей ядра (write_back -> write_through) - ЦПУ в C1 state, то есть в макс производительность - Традиционно - MTU 9000 - Наше ПО (Рашид) работает с файлами на блочном устройстве. Для того, чтобы файловая структура всегда хранилась в памяти хоста и не запрашивала кластер об файловой иерархии - vm.vfs_cache_pressure=1 в sysctl./ - Общие сетевые настройки: Увеличение сетевых буферов: - net.core.rmem_max = 56623104 (maximum receive window size) - net.core.wmem_max = 56623104 (maximum send window size) - net.core.rmem_default = 56623104 (default receive window size) - net.core.wmem_default = 56623104 (default send window size) - net.core.optmem_max = 40960 (Максимальное значение кольцеового буфера на сокет) - net.ipv4.tcp_rmem = 4096 87380 56623104 (min default and max value of TCP socker receive buffer) - net.ipv4.tcp_wmem = 4096 65536 56623104 (min default and max value of TCP socker send buffer) Увеличение максимального числа TCP соединений: - net.core.somaxconn = 1024 (макс кол-во соединений для 1 сокета) - net.core.netdev_max_backlog = 50000 (maximum number of packets allowed to be queued on a network interface before the kernel starts dropping packets.) Тюнинг ТСР: - net.ipv4.tcp_max_syn_backlog = 30000 (Maximal number of remembered connection requests, which have not received an acknowledgment from connecting client) - net.ipv4.tcp_max_tw_buckets = 2000000 (Maximal number of timewait sockets held by system simultaneously) - net.ipv4.tcp_tw_reuse = 1 (allow reusing time_wait sockets for new outbound connections) - net.ipv4f.tcp_tw_recycle = 1 (allow reusing time_wait sockets for new inbound and outbound connections) - net.ipv4.tcp_fin_timeout = 10 (time an orphaned (unreferenced) connection will wait before it is aborted at the local end) - net.ipv4.tcp_slow_start_after_idle = 0 (don't use slow start after period of inactivity) - Так как много памяти, то osd_memory_target_autotune выключено. Раздаём вручную с помощью bluestore_cache_size_ssd (5G) и bluestore_cache_size_hdd (5G) - osd_memory_target - 10Г - 50% процентов от 8 отдадим на RocksDB - bluestore_cache_kv_ratio 0.5, это внутренний кеш RocksDB, не управляется цефом напрямую - bluestore_cache_meta_ratio - какой процент отдать под кэш меты. Открытый вопрос, сейчас стоит 0.5 - Дефолтный алгоритм для ЕС - Reed-Solomon - норм. Но при количестве шардов 2, лучшие результаты демонстрирует техника Эндрю Блаума и Михаэля Рота - blaum_roth. Также можно попробовать cauchy_good. Это что касается лпенсорсной библиотеки Jerasure - Для парралельных тестов создан ещё один пул ЕС с профилем основаным на бибилиотеке ISA, специально для процессоров Intel. В ней имеется поддрежка техник ECC Reed-Solomon и cauchy_good. Выбрали cauchy_good - Борьба за IOPS. Из-за особенности ЕС, в нем добавлен цикл Read-Modify-Write для перезаписи существующих объектов, поэтому экспериментально bluestore_prefer_deferred_size_hdd из дефолтных 64Кбит в 128Кбит. Вопросы: 1) Подходит ли 4+2? Лучше ли чем репликация? На это не возможно ответить однозначно в рамках текущей дискуссии по нескольким причинам из которых основная это различные тестовые образцы. На тестах одна спека, целевые машины для боевого использования - совершенно другие. Важно понимать, что ЕС это не халявное место, за это придётся заплатить высокой нагрузкой на ЦПУ в рабочем режиме и огромной нагрузкой в случае аварийной ситуации. Также очевидно снижение ипсов в следствие самоого механизма работы ЕС. (ХЗ СТОИТ ЛИ ГОВОРИТЬ О ТОМ, ЧТО РАШИД В ОДИН ПОТОК ПИШЕТ И ЕМУ НАДО МНОГО ИПСОВ, ТЕМ БОЛЕЕ ЧТО НАВЕРНЯКА Я И САМ НЕ ЗНАЮ КАК РАШИД ПИШЕТ) 2) В чем проблема в настоящий момент с кластером? Где результаты тестов? Предыдущие внутренние тесты на ЕС4+2 показали существенный регресс в сравнении с репликацией. В связи с этим решено провести переуставноку кластера с другими параметрами. Также выяснилось, что при больших объёмах блочных устройств СХД цеф, ьутылочным горлышком становится ПО НТ. В настоящее время ведутся работы по поиску оптимального алгоритма работы с рбд для обеспечения соответствия требованиям приказа (тут наверное какой то номер приказа следует назвать). 3) Где результаты то бля? Предъявите к осмотру! Результаты обязательно будут опубликованы как только мы, путём проб и ошибок, найдём плюс-минус оптимальную схему. Околодефолтная конфигруация показала свою несостоятельность.