ceph_tuning/MTS_report_31October
2024-11-04 14:44:21 +03:00

47 lines
6.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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