Огромная страница и улучшение производительности

Скажите нам больше о Ваших требованиях - что трудно предположить то, что ограничивает Ваш сервер:

  • диск i/o? Вы могли бы хотеть распространить те файлы журнала по дискам/файловым системам
  • CPU - это сжимает те журналы, поскольку они повернуты? Вы могли бы хотеть использовать файловую систему с внутренним сжатием и даже аппаратным ускорением.
  • кэш каталога? посмотрите, что ответ Chris Card - распространил Ваши файлы по каталогам, и, столь же важный, делает те файлы differer в ранних символах имени файла, или Вы не будете видеть, что преимущества кэша каталога относились к ним, который значительно замедляет поиски.
  • если Ваш сервер встречается, его пределы - это именно так для вращения журнала, или это уже пропускает записи в журнале?
  • Вы копируете те файлы журнала вокруг, или Вы перемещаете их (в той же файловой системе)?
  • ...

При разработке структуры для файлов журнала нет ничего, что помешало бы Вам параллелизировать вращение их.

редактирование в ответ на добавленные требования

Насколько я знаю, logrotate не параллелизирует сам по себе. После того как Вы настроили четкую структуру хотя, существует несколько дорог, которые можно исследовать для параллелизации ее (или по крайней мере части, срывающие Вас) вручную:

  • Сама команда сжатия: можно использовать сценарий обертки, чтобы сделать сжатие. Порожденный gzip может работать в фоновом режиме, в то время как Ваш сценарий возвращается сразу - таким образом отъезд выполнения задания сжатия, в то время как logrotate весело продолжается к следующему файлу журнала. Два протеста:
    1. Я был бы в безопасности и включил бы delaycompress постараться не все еще играть с файлом журнала, в то время как процесс является SIGHUP'ed или любой ценой запустить новый журнал (в зависимости от процесса).
    2. Я был бы также "хороший", задание сжатия, чтобы не иметь много параллельных заданий сжатия конкурируют в течение процессорного времени.
  • Если Вы чувствуете себя сложными (или закончите с многочисленной параллелью gzip задания, снижающие скорость loghost), можно позже перейти к записи ряда рабочих процессов, берущих их файлы к сжатию из списка, сгенерированного "сценарием" команды сжатия, указанным в конфигурации logrotate.
  • У Вас могут быть независимые экземпляры logrotate, работающего с небольшим количеством планирования:
    • каждому экземпляру нужен его собственный файл конфигурации.
    • каждому экземпляру нужен его собственный набор каталогов для наблюдения за файлами журнала. Вы можете (и вероятно должен) иметь отдельные crontab записи для них.
    • каждому экземпляру нужно его собственное statefile (настраивающийся)
4
27.02.2013, 00:37
2 ответа

Serge ответил на это. TLB имеет постоянное число слотов. Если виртуальный адрес может быть отображен на физическом адресе с информацией в TLB, Вы избегаете дорогого обхода таблицы страниц. Но TLB не может кэшировать отображения для всех страниц.

Поэтому при использовании больших страниц то постоянное число виртуальных к физическим отображениям покрывает больший полный диапазон адресов, увеличивая процент совпадений TLB (который является кэшируемым отображением).

4
27.01.2020, 20:56

Другая причина повышения производительности — доступ к непрерывному фрагменту памяти. Скажем, у вас есть устройство PCIe, которое передает данные DMA в память. Используя огромные страницы, он может передавать 2 МБ (или до 1 ГБ )данных в непрерывное пространство DRAM, в то время как при использовании страниц размером 4 КБ по умолчанию вам может потребоваться переход на множество разных физических страниц в DRAM, что приводит к замедлению работы..

0
27.01.2020, 20:56

Теги

Похожие вопросы