Оптимизация Solaris для работы с базами данных

Оценить
(0 голоса)
Программа Ambassador фирмы Sun представляет собой уникальное явление в отрасли как с точки зрения ее масштаба, так и эффективности. Выбранные системные инженеры из местных эксплуатирующих организаций фирмы Sun поощряются к специализации в одной из множества программ представительства. Эти инженеры, в свою очередь, становятся ценным ресурсом в предпродажных презентациях и инженерами других систем в данном регионе. Такая специализация позволила многим представителям стать экспертами в области проблем, с которыми сталкиваются клиенты фирм. Представители направления Enterprise Systems сосредотачиваются на системах масштаба предприятия, обычно работающих с базами данных. Среди других программ представительства также поддерживаются программы для операционной системы Solaris, аппаратной архитектуры SPARC и работы…
Оценить
(0 голоса)
Операционная среда Solaris, или просто Solaris, включает множество функциональных возможностей и оптимизаций, разработанных в целях повышения производительности СУБД и уровня их готовности. Эти функциональные возможности были введены в систему в течение ряда лет, и постоянно продолжают вводиться новые оптимизации. Некоторые из этих преимуществ совершенно прозрачны; другими словами, они реализуются поставщиками баз данных без необходимости каких-либо изменений программного кода. В других случаях поставщики баз данных модифицировали свои программные продукты, чтобы воспользоваться преимуществами этих оптимизаций. Воздействие некоторых из этих изменений на производительность СУБД достаточно существенно. Например, исследуя внутренние рабочие нагрузки, специалисты группы Performance and Availability Engineering определили, что производительность OLTP (Online Transaction…
Оценить
(0 голоса)
Эффективное планирование процессов может привести к существенным различиям в производительности СУБД особенно для Oracle и DB2, которые используют двухпроцессную архитектуру (она более подробно описана в разделе "Двухпроцессные архитектуры" главы 5). В настоящем разделе обсуждаются функциональные возможности, предлагаемые Solaris для повышения эффективности планирования приложений баз данных. Управление вытеснением Введено для уменьшения конкуренции, связанной с защелками (latches) баз данных. Процессы баз данных используют защелки, или взаимоисключающие блокировки (mutexes), специфичные для конкретной СУБД, для перехода в последовательный режим доступа (процессор приостанавливает исполнение команд, пока не будет введена определенная команда) к критическим секциям программного кода или структурам данных. Каждому процессу, когда он планируется для…
Оценить
(0 голоса)
Управление вытеснением требует от поставщиков СУБД модификаций их программ. Альтернативный способ уменьшения конфликтов защелкивания - применение соответствующей диспетчерской таблицы для класса планирования TS (TimeShare-с разделением времени) операционной системы Solaris, которая использует разные таблицы TS на платформах среднего уровня и на высокопроизводительных платформах. Сами по себе модификации диспетчерских таблиц не оптимизируют операционную систему; их скорее следует рассматривать как эффективные стандартные возможности Solaris, полезные приложениям баз данных. Диспетчерская таблица и ее влияние на производительность баз данных обсуждаются в разделе "Классы планирования операционной системы Solaris" главы 15. Оптимизация ввода/вывода Solaris включает целый набор расширений ввода/вывода, непосредственно приносящих пользу базам данных. Некоторые из наиболее…
Оценить
(0 голоса)
Многие виды операций с базами данных предусматривают чтение и запись в таблицы и журнал базы данных на диске. Системные вызовы pread и pwrite были введены в операционной системе Solaris для того, чтобы устранить необходимость в отдельном системном вызове lseek для позиционирования указателя файла перед системным вызовом read или write. Оба системных вызова, pread и pwrite, принимают в качестве дополнительного параметра смещение в пределах файла. Таким образом, pread считывает фиксированное количество байтов из заданного дескриптором файла, стартуя с указанным смещением в массиве байтов. Аналогично, pwrite записывает фиксированное количество байтов в заданный дескриптором файл, стартуя с указанным смещением в массиве байтов. Исключение…
Оценить
(1 голос)
В том случае, когда дисковая операция ввода/вывода выполняется с использованием системных вызовов read, pread, write и pwrite, поток выполнения останавливается, ожидая перед своим продолжением, пока очередная операция ввода/вывода не будет завершена. Следовательно, такие вызовы называются блокирующими (blocking) системными вызовами. Чтобы позволять другой работе быть выполненной за то же время, процесс освобождает ЦП на период ожидания завершения операции ввода/вывода. Ввод/вывод такого типа известен как синхронный (synchronous I/O). Альтернативной формой ввода/вывода, используемой как многопоточными, так и базирующимися на процессах базами данных, является асинхронный ввод/вывод (asynchronous I/O). Асинхронные вызовы из библиотеки ввода/вывода, aioread и aiowrite, возвращают управление вызывающей программе немедленно, без блокирования, даже…
Оценить
(0 голоса)
Широкое развертывание файлов баз данных в UFS (Unix File System - файловой системе Unix) привело к возникновению проблем с производительностью. Кэш страницы файловой системы Solaris добавляет еще один уровень кэширования поверх буферного кэша базы данных, что часто отрицательно сказывается на производительности особенно больших пакетных заданий, когда кэширование сулит только небольшие преимущества или вообще отсутствие таковых. Размещение файлов базы данных на низкоуровневых устройствах почти всегда дает лучший, а иногда значительно лучший результат с точки зрения производительности, чем размещение их в файлах UFS. Чтобы устранять узкое место кэша, новая функциональная возможность, известная под названием Direct I/O (прямой ввод/вывод), была введена в Solaris…
Оценить
(0 голоса)
Прямой ввод/вывод в том виде, в котором он был первоначально реализован, не всегда приводил к повышению производительности, и в результате был создан более обширный набор оптимизаций для того, чтобы приблизить производительность файлов базы данных в файловой системе UFS к уровню производительности, достигаемому на низкоуровневых устройствах. Усовершенствования, полученные в результате реализации этого проекта, стали доступными в релизе 1/01 операционной системы Solaris 8. Одно из наиболее важных изменений, включенных в эту новую реализацию прямого ввода/вывода, была отмена блокировки единственной операции записи. Поскольку такая блокировка может иметь существенное значение для производительности, то этот вопрос заслуживает некоторого объяснения. По соображениям целостности данных стандарт POSIX…
Оценить
(0 голоса)
Далее приведено еще несколько решений из множества других оптимизаций ввода/вывода, реализованных в Solaris. Протоколирование файловой системы UFS В литературе вместо термина протоколирование вы можете встретить термин журналирование. Проверка непротиворечивости большой файловой системы может занять немало времени (в некоторых случаях даже несколько часов), значительно увеличивая время загрузки системы и задерживая восстановление после исчезновения напряжения или системного отказа. Чтобы преодолеть эту проблему, в Solaris 7 была введена поддержка протоколирования метаданных для файлов UFS. По своей концепции протоколирование файловой системы аналогично протоколированию базы данных (описанному в разделе "Регистратор" главы 5). Изменения файловой системы записываются в свободные блоки данных в самой файловой системе, а…
Оценить
(0 голоса)
Даже прежде, чем полностью 64-разрядная версия операционной системы стала доступной с выходом Solaris 7, поддержка больших файлов ( размером более 2 Гбайт) была реализована в Solaris 2.5.1. Это расширение потребовалось в связи с быстрым увеличением емкости дисковых накопителей, и поставщики баз данных быстро представили выпуски своих программных продуктов, которые воспользовались преимуществом этого расширения. Список ввода/вывода В разделе, озаглавленном "Очистители страниц" (глава 5), рассматривается роль очистителей страниц памяти, или Database Writers в терминологии Oracle, в выгрузке изменяемых страниц из буферного кэша БД на диск. Эта особенность обычно требует большого количества асинхронных операций записи, запускаемых в течение короткого времени. Чтобы улучшить эффективность…
«ПерваяПредыдущая12СледующаяПоследняя»
Навигация