Как улучшить IO, когда существует большое случайное чтение и запись?

Можно попытаться поместить сценарий для сбора переменных в /etc/profile.d/

Пример:

/etc/profile.d/somescript.sh

#!/bin/bash
TEST=$(cat /var/somefile)
export $TEST

/etc/profile делает вызов, который запустит любой скрипт в /etc/profile.d/, и это относится ко всем пользователям в системе включая корень.

5
13.04.2017, 15:36
2 ответа

Существует 5 tunables в/proc файловой системе для изменения Linux' поведение обратной записи:

dirty_async_ratio
dirty_background_ratio
dirty_sync_ratio
dirty_expire_centisecs
dirty_writeback_centisecs

Конфигурация является вполне сложной, и документация может быть найдена по kernel.org. Однако как jordanm уже сказал, "Любое приложение пространства пользователя может сказать ядру писать свои грязные буферы в диск через синхронизацию () системный вызов". что означает, что любой другой процесс мог бы представить Вашу бесполезную конфигурацию.

Также помните о своих настройках Filesystem: Смонтируйте опции как noatime, data=writeback, и nobarrier может существенно улучшить Вашу пропускную способность, но также подвергнет Ваши данные опасности, если Ваши дисковые контроллеры не с аварийным батарейным питанием.

1
27.01.2020, 20:43
  • 1
    Не волноваться. Я управляю сценариями. –  user4951 25.01.2013, 11:13
  • 2
    Хм... dirty_expire_centisecs 3000. Все же так или иначе IO полностью к 100%. Изменение на SSD работает, но все еще странный. –  user4951 25.01.2013, 11:20
  • 3
    И можно использовать eatmydata для тех программ, которыми Вы не управляете для отключения синхронизаций. –  Stéphane Chazelas 25.01.2013, 11:28
  • 4
    @JimThio dirty_expire_centisecs не единственное значение, которое необходимо настроить. dirty_async_ratio средства управления, сколько из Вашего поршня будет использоваться для writecache, пока диск io не запустится. Также сохраните свои настройки Filesystem как в памяти. Что монтирует, что опции - Вы использование? –  taffer 25.01.2013, 11:36
  • 5
    Существует несколько настроек, которые можно настроить в планировщике ввода-вывода каждого блочного устройства также. эта страница дает несколько идей. Было бы хорошо, если бы был документ, который касается полного изображения и детализирует, как каждая установка влияет на производительность в нескольких шаблонах использования, но я не нашел никого до сих пор. –  Stéphane Chazelas 25.01.2013, 11:39

Вы могли записать свои изменения в файле/файлах в памяти (tmpfs) и затем выписать эти изменения в диске каждые 10 секунд.

0
27.01.2020, 20:43

Теги

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