Конфигурирование сервера Oracle для сверхбольших баз данных

       

Пропускная способность


Чередование, при корректном использовании, является прекрасным инструментом для увеличения пропускной способности. Чередование предоставляет прозрачное распределение операций ввода/вывода между относительно недорогими дисками. Это, с одной стороны, дает возможность обслуживать одновременно большое число небольших операций ввода/вывода, а с другой, — увеличить в разы скорость обмена больших операций ввода/вывода по сравнению со скоростью самого быстрого диска [Chen et al. (1993), 151].

Для расчета минимального размера RAIDмассива, необходимого для достижения требуемой пропускной способности, можно воспользоваться следующей простой техникой.

  • Определите устойчивую максимальную пропускную способность каждого из Ваших жестких дисков. Этот показатель оценивается как устойчивое максимальное число операций ввода/вывода для каждого жесткого диска . Обозначим этот показатель как c, размерность — число операций ввода/вывода в секунду.
  • Оцените общее число t операций ввода/вывода, которое будут генерировать одновременно работающие транзакции.
  • Рассчитайте общее число r физических операций ввода/вывода в секунду, которые требуются от Вашего RAID-массива, с учетом размера сегмента чередования, используя формулу:
  • где k — размер сегмента чередования деленный на размер блока ввода/вывода (описание см. выше в обсуждении размера сегмента чередования). К примеру, если Ваше приложение генерирует 300 операций ввода/вывода в секунду на массиве, а размер сегмента чередования в два раза больше запросов на ввод/вывод, то Ваш массив должен в состоянии поддержать обработку 450 физических операций ввода/вывода в секунду.

  • Рассчитайте минимальное число дисков g = r/c, которые необходимо включить в дисковый массив, для поддержания требуемой нагрузки:
  • Обратите внимание, что требуемая пропускная способность r (определенная на шаге 2) может зависеть от размера Вашего дискового массива g (рассчитанного на шаге 4). Например, половина дисков от необходимого числа, могут обслужить примерно половину запросов на ввод/вывод от транзакций. Поставщик оборудования может дать информацию о максимальном рекомендуемом числе дисков в дисковом массиве.

  • Приведенные формулы могут использоваться для расчета дисковых массивов RAID 0 и RAID 0+1. Если Вы будете использовать эту технику для расчета массива RAID 5, то Вам необходимо увеличить оценку необходимого числа запросов на ввода/вывода на одну транзакцию для отражения того факта, что этот массив имеет большие издержки при выполнении каждой операции записи. Влияние дискового кэша, уменьшающего степень этих издержек, несколько усложняет эти вычисления.

    Параллелизм Блок ввода/вывода Наилучший размер сегмента чередования Примеры СУБД Oracle
    низкий малый k × db_block_size, k = 2, 3, 4, . . .DBWR
    низкий большой k × db_block_size, k = 0.25, 0.5, 1, 2, 3, . . .LGWR, ARCH, однопоточные загрузки данных и другие пакетные задания, системы принятия решений (DSS) без параллельного выполнения запроса, однопоточные операции сопровождения
    высокий малый k × db_block_size, k = 2, 3, 4, . . .OLTP-системы
    высокий большой k × db_block_size × db_file_multiblock_read_count, k = 2, 3, 4, . . .Массовые формирования отчетности, любые параллельные операции СУБД Oracle, любые одновременно выполняющиеся пакетные задания с высокой загрузкой ввода/вывода
    Таблица 2.Оптимальный размер сегмента чередования как функция от уровня параллелизма и размера блока ввода/вывода. Размер сегмента чередования не должен совпадать с размером блока ввода/вывода в дисковых массивах с высоким уровнем параллелизма поскольку границы сегментов чередования не обязательно совпадут с границам блоков ввода/вывода. Таким образом, рекомендуемых размер сегмента чередования должен быть в k раз больше чем размер блока ввода/вывода что будет гарантировать, что каждый запрос ввода/вывода будет обслуживаться одним диском с вероятностью (k - 1)/k.


    Содержание раздела