47 lines
6.8 KiB
Plaintext
47 lines
6.8 KiB
Plaintext
- Планировщик ввода-вывода: текущий - 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) Где результаты то бля? Предъявите к осмотру!
|
||
Результаты обязательно будут опубликованы как только мы, путём проб и ошибок, найдём плюс-минус оптимальную схему. Околодефолтная конфигруация показала свою несостоятельность.
|