В последнее время я боролся с проблемами производительности прозрачных огромных страниц и заметил, что многие системы баз данных рекомендуют его отключать. Я говорю о Oracle, Postgresql, MySQL, Cassandra, NuoDB, Redis, Hadoop и многом другом.
Например:
- Петр Зайцев (2014-07-23). Почему TokuDB ненавидит Прозрачные Огромные Страницы . Percona.
- Мишель Кейси (2013-09-17). Проблемы производительности с прозрачными огромными страницами . Oracle.
- Адам Абревая и Олег Левин (2014-05-15). Linux Прозрачные Огромные Страницы, JEMalloc и NuoDB . NuoDB DevCentre.
Так что мне интересно: какие виды нагрузки выигрывают от этой функции?
linux
memory
virtual-memory
database
Джеймс Х
источник
источник
Ответы:
Огромные страницы были бы полезны в ситуации, когда вам нужно было записать огромное количество информации в одном блоке. Это может относиться к стратегии записи на диск и может иметь значение для кэширования. Как и все параметры конфигурации, не имеет смысла, если ваш вариант использования не подходит.
Таким образом, ответ таков: рабочая нагрузка, которой на самом деле требуется огромная тонна данных в одном блоке, выиграет от огромных страниц. Если данные настолько велики, они не смогут поместиться, но их придется разбить на многочисленные файлы страниц, и их число будет слишком большим для обработки или плохим по какой-либо причине, а меньшее число - большими. файлы предпочтительнее - в вашем случае огромные файлы подкачки.
С практической точки зрения, я никогда не сталкивался с необходимостью, но я знаю по управлению кешами - это реально, и кто-то где-то может извлечь выгоду из огромных страниц.
источник
Не знаю, кто сказал вам, что Кассандра не выиграет от огромных страниц. Может быть, вы хотите быть немного болтливым в направлении опции дефрагментации из / sys / kernel / mm / transparent_hugepage.
Лично я только что протестировал кластер Кассандры с и без огромной страницы, и после различных тестов с разным размером разделов, начиная с 300 б до 4 Кб, я могу сказать, что собираюсь снова их включить.
источник