Утилизация диска что это

Анализ ключевых показателей производительности — часть 3, последняя, про системные и сервисные метрики

Мы заканчиваем публикацию перевода по тестированию и анализу производительности от команды Patterns&Practices о том, с чем нужно есть ключевые показатели производительности. За перевод спасибо Игорю Щегловитову из Лаборатории Касперского. Остальные наши статьи по теме тестирования можно найти по тегу mstesting

В первой статье цикла по анализу ключевых показателей производительности мы наладили контекст, теперь переходим к конкретным вещам. Во второй посмотрели на анализ пользовательских, бизнесовых показателей/метрик и показателей, необходимых к анализу внутри приложения. В этой, заключительной — про системные и сервисные (в т.ч. зависимых сервисов) метрики.
Итак,

Системные метрики.


Системные метрики позволяют определять, какие системные ресурсы используются и где могут возникать конфликты ресурсов. Эти метрики направлена на отслеживание ресурсов уровня машины, таких как память, сеть, процессор и утилизация диска. Эти метрики могут дать представление о внутренних конфликтах лежащих в основе компьютера.
Вы также можете отслеживать данные метрики для определения аспектов производительности – нужно понимать, если ли зависимость между системными показателями и нагрузкой на приложение. Возможно, вам потребуются дополнительные аппаратные ресурсы (виртуальные или реальные). Если при постоянной нагрузке происходит увеличение значений данных метрик, то это может быть обусловлено внешними факторами — фоновыми задачами, регулярно-выполняющимися заданиями, сетевой активностью или I/O устройства.

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

Другой способ для сбора и анализа диагностических данных — это использование PerfView. Этот инструмент позволяет исследовать следующие аспекты:

Изначально PerfView был предназначен для локального запуска, но теперь он может быть использован для сбора данных из Web и Worker ролей облачных сервисов Azure. Вы можете использовать NuGet-пакет AzureRemotePerfView для установки и запуска PerfView удаленно на серверах ролей, после чего скачать и проанализировать полученные данные локально.
Windows Azure Diagnostics и PerfView полезны для анализа используемых ресурсов “постфактум”. Однако, при применении таких практик как DevOps, необходимо мониторить “живые” данные производительности для обнаружения возможных проблем производительности еще до того, как они произойдут. APM-инструменты могут предоставлять такую информацию. Например, утилиты Troubleshooting tools для веб-приложений на портале Azure могут отображать различные графики, показывающие память, процессор и утилизацию сети.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

На портале Azure есть “health dashboard”, показывающий общие системные метрики.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

Аналогичным образом, панель Diagnostic позволяет отслеживать заранее настроенный набор наиболее часто используемых счетчиков производительности. Здесь вы можете определить специальные правила, при выполнении которых оператор будет получать специальные нотификации, например, когда значение счетчика сильно превысит определенное значение.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

Веб-портал Azure может отображать данные о производительности в течении 7 дней. Если вам нужен доступ данных за более длительный период, то данные о производительности нужно выгружать напрямую в Azure Storage.
Websites Process Explorer позволяет вам просматривать детали отдельных процессов запущенных на веб-сайте, а также отслеживать корреляции между использованием различных системных ресурсов.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

New Relic и многие другие APM имеют схожие функции. Ниже приведено несколько примеров.

Мониторинг системных ресурсов делится на категории, которые охватывают утилизацию памяти (физической и управляемой), пропускную способность сети, работу процессора и операции дискового ввода вывода (I/O). В следующих разделах описано, на что следует обратить внимание.

Использование физической памяти

Существует две основные причины ошибки OutOfMemory – процесс превышает выделенное для него пространство виртуальной памяти либо операционная система оказывается неспособной выделить дополнительную физическую память для процесса. Второй случай является самым распространенным.

Вы можете использовать описанные ниже счетчики производительности для оценки нагрузки на память:

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

Многие APM-инструменты предоставляют сведения об использовании процессами системной памяти без необходимости глубокого понимания о принципах работы памяти. На графике ниже показана пропускная способность (левая ось) и время отклика (правая ось) для приложения, находящегося под постоянной нагрузкой. Примерно после 6 минут производительность внезапно падает, и время отклика начинает “прыгать”, по прошествии нескольких минут происходит показателей.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Результаты нагрузочного тестирования приложения

Записанная с помощью New Relic телеметрия показывает избыточное выделение памяти, которое вызывает сбой операций с последующим восстановлением. Использованная память растет за счет файла подкачки. Такое поведение является классическим симптомом утечки памяти.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Телеметрия, показывающая избыточное выделение памяти

Примечание: В статье Investigating Memory Leaks in Azure Web Sites with Visual Studio 2013 содержится инструкция, показывающая как использовать Visual Studio и Azure Diagnostics для мониторинга использования памяти в веб-приложении в Azure.

Использование управляемой памяти

.NET приложения используют управляемую память, которая контролируется CLR (Common Language Runtime). Среда CLR проецирует управляемую память на физическую. Приложения запрашивают у CLR управляемую память, и CLR отвечает за выделение требуемой и освобождение неиспользуемой памяти. Перемещая структуры данных по блокам, CLR обеспечивает компоновку этого типа памяти, уменьшая тем самым фрагментацию.

Управляемые приложения имеют дополнительный набор счетчиков производительности. В статье Investigating Memory Issues содержится детальное описание ключевых счетчиков. Ниже описаны наиболее важные счетчики производительности:

Источник

Лучшие способы для безопасной утилизации дисков

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Перевод Comss.ru. По материалам Windows Secrets

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

Тем не менее, существует специальные профилактические процедуры, которые приводят к эффективному уничтожению конфиденциальные данных на SSD-дисках и других перезаписываемых носителях.

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

Современные жесткие диски являются потомками массивных устройств с небольшим количеством памяти, созданные в 1960-х годах компанией IBM для своих компьютерных систем. Согласно информации из Википедии, первые жесткие диски имели размер двух холодильников и вмешали 3,75 мегабайт данных.

В 2000 году технология создания дисков была серьезно пересмотрена: Trek Technology и IBM стали продавать накопители, которые использовали чипы silicon power вместо вращающихся магнитных пластин. Новые устройства использовали медленный, но относительно недорогой вид энергонезависимой и перезаписываемой оперативной памяти.

За последние 15 лет твердотельные накопители на базе микросхем стали быстрее, дешевле и стали способны хранить больше информации в том же физическом пространстве. SSD сейчас преодолели планку в 1 терабайт и активно вытесняют традиционные вращающиеся жесткие диски, как на мобильных устройствах, так и на стационарных компьютерах. Успех твердотельных накопителей связан с сокращенным энергопотреблением и уменьшенным размером самих дисков.

В течение последующего десятилетия хранилища данных могут снова радикально поменяться. Согласно исследованиям, “диски”, построенные на углеродных нанотрубках (CNT) могут заменить как оперативную память, так и хранилища данных в персональных компьютерах, планшетах и смартфонах.

Особенности технологии хранения информации на твердотельных дисках

Технология создания твердотельных дисков для замены вращающихся носителей должна была имитировать HDD для ОС Windows и для компьютерного оборудования (например, использовать стандарта SATA для подключения). Microsoft на протяжении 30 лет разрабатывала код, оптимизированный для работы с вращающимися дисками. Для адаптации системы и приложений к поддержке новых SSD потребовалось бы еще несколько лет работы. Адаптация к другой новой технологии хранения данных может означать еще одну массивную кампанию по замене внутреннего кода.

Так называемая выравнивающая программа (wear leveling) отслеживает количество циклов перезаписи каждой ячейки памяти. Когда конкретная ячейка памяти становится изношенной, программа автоматически переносит данные в другое местоположение, характеризующееся лучшим состоянием. Это означает, что встроенный компьютер устройства содержит собственную таблицу перевода адресов, потому что Windows по-прежнему думает, что данные хранятся по адресу, указанному в “Главной файловой таблице” (Master File Table).

Повторим еще раз: выравнивающая программа выполняется каждый раз, когда данные записываются на SSD-диск. Каждая запись состоит из “кусочков” данных, которые в свою очередь состоят из новой информации и участков несвязанных файлов из “изношенных” ячеек памяти.

Обратите внимание, что эти “кусочки” могут содержать данные, которые ОС считает надежно удаленными. Другими словами, в отличие от обычных жестких дисков, SSD диски не соблюдают условия, необходимые для полного удаления данных. При использовании специализированных приложений для восстановления данных, пользователь сможет восстановить биты файлов, которые якобы были стерты.

Это очень важно знать, потому что программы для очистки и защищенного удаления данных имеют доступ только к переведенным адресам HDD. Приложения не могут получить доступ к данным, сохраненным в адресном пространстве SSD.

Приведем пример. Допустим, Вы используете компьютер с SSD диском, емкостью 1 терабайт. В окне свойств системы Windows отображается значение 1 терабайт. Тем не менее, твердотельный накопитель имеет еще 10-процентный запас пространства хранения для компенсации возможного отказа микросхемы. Со временем интегрированная программа для оптимизации износа перераспределяет данные между микросхемами диска. Когда придет время отказаться от эксплуатации диска, утилита очистки сотрет только 1 терабайт данных, видимый ОС, а оставшиеся 10 процентов останутся незатронутыми. Эти 100 гигабайт могут хранить приличное количество данных.

Эффективный способ обезопасить снятые с эксплуатации диски

Самое главное: никогда не используйте программу для дефрагментации файлов на SSD! Дефрагментация приводит к перегрузке инфраструктуры оптимизации износа и просто сокращает срок службы вашего носителя. Дефрагментация не имеет смысла на твердотельных накопителях; доступ ко всем ячейкам данных происходит с одной и той же скоростью. В отличие от обычного жесткого диска, ничего не нужно перемещать по магнитной пластине, чтобы быстрее прочитать или записать данные.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Рисунок 1. Вручную разбив микросхемы памяти, Вы сможете избежать несанкционированное использование конфиденциальной информации посторонними

Microsoft включает специализированное ПО для шифрования данных BitLocker в ОС Windows Pro, Enterprise и Ultimate. Программа работает с SSD накопителями, жесткими дисками и USB-флешками. Если на системе, использующей выводящийся из эксплуатации диск, не установлен BitLocker, Вы можете вытащить диск и подключить его как переносной носитель к системе, которая поддерживает систему шифрования от Microsoft.

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

Если ваш диск использует технологию SED, регулярно делайте полное резервное копирование данных, т.к. возможны блокировки диска.

Предупреждение: многие производители SSD и SED дисков предлагают утилиту для очистки накопителей. Эксперты по безопасности выяснили, что данные программы не полностью эффективны. Не стоит полагаться на данные решения. Вместо них лучше использовать рекомендуемые методы: физическое уничтожение или шифрование всего диска с помощью специализированного ПО, например BitLocker.

Несколько интересных фактов об SSD и жестких дисках

Если Вы храните очень важные конфиденциальные данные на вашем ноутбуке, SecureDrives предлагает твердотельный накопитель с SED и функцией автоматического уничтожения. Накопитель имеет собственный GSM-модуль. В случае потери или кражи компьютера, Вы просто отправляете СМС-сообщение на диск. Кроме того, можно настроить саморазрушение, если он не может получить сообщение или с помощью других средств. Как и в фильмах про Джеймса Бонда, диск самоликвидируется с помощью воздействия на микросхемы памяти ультразвуковой ударной волны;

Данные хранятся на вращающимся диске в концентрических кругах, называемых дорожками. От 60 до 100 треков обычного винчестера вписываются в ширину человеческого волоса;

Вращающиеся диски чувствительны к шуму. Сильный шум может привести к вибрациям, которые вызывают ошибки чтения и заметно снижают производительность;

Стандарты министерства обороны США регламентируют не менее 3 циклов перезаписи для безопасного удаления данных. На современных HDD и SSD даже один цикл перезаписи приводит к уничтожению данных;

Новые диски хранят биты в перекрывающихся дорожках, подобно кровельной черепице. Технология называется черепичная магнитная запись (Shingled Magnetic Recording);

Наружный край стандартного компьютерного диска имеет скорость в 100 миль в час;

Источник

Проблемы утилизации носителей данных в ЦОДах

Никто не задумывается об утилизации персональных данных

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

В каких-то случаях такая позиция даже позволяет проучить неугодного поставщика, победившего в тендере на поставку системы хранения данных: заказчик может объявить поставщику, что все жёсткие диски вышли из строя и требуют замены, а так как они содержат персональные данные, то ни провести экспертизу, ни проверить их работоспособность не представляется возможным. Мои коллеги как-то встречались с такой ситуацией.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

Производители машин для уничтожения жестких дисков

Согласно тому же опросу Blancco, только треть респондентов признались, что в их компании существуют не только инструкции по очистке жёстких дисков перед утилизацией или возвратом по гарантии, но и установлено соответствующее оборудование. Остальные же две трети предпочитают складировать старое оборудование, даже если законодательно они обязаны отправить его на утилизацию.

SSD так просто не уничтожить

Ещё сложнее дела обстоят с SSD дисками, с которых можно вытащить данные даже после физического уничтожения. Такие гиганты, как Microsoft Azure и Google Cloud используют измельчители для утилизации носителей, а Google даже достаёт сломанные диски их СХД при помощи роботов, но и такой способ утилизации не является надёжным. Дело в том, что для того, чтобы диск считался уничтоженным, вам нужно предъявить проверяющей стороне серийный номер и осколки раздроблённого носителя, что в случае с промышленным шреддером сделать проблематично.

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

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

Даже если дисковый массив или система управления помечает диск как сбойный, он всё равно нуждается в очистке. По информации той же компании Blancco, в 70-80% случаев сбойный диск остаётся достаточно работоспособным, чтобы вытащить из него данные или наоборот осуществить гарантированное стирание.

Набор софта для утилизации данных

Самым простым вариантом уничтожения большого объёма конфиденциальных данных является их шифрование с последующим удалением ключа. Более 64% компаний, работающих с персональными данными, рассматривают такой метод утилизации как наиболее перспективный, а в отдельных отраслях, таких как медицина и фармацевтика, этот процент ещё выше.

Конечно же, поскольку вы не знаете, в какой момент и какой диск выйдет из строя, то зашифрованными нужно держать все персональные и конфиденциальные данные в вашем ЦОД-е. Вам нужна система управления ключами шифрования, которая гарантирует их сохранность, чтобы никто не смог восстановить данные с утилизированных дисков.

Источник

Переработка жестких дисков как электронного мусора — частичное решение проблемы от iNEMI

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это

Объемы «электронного мусора» огромны — начиная с 2014 года человечество ежегодно генерирует около 42 миллионов тонн отходов такого рода. E-waste включает как просто выброшенные электронные и электрические устройства, так и их компоненты. Опасны электронные отходы тем, что в них могут содержаться вредные вещества вроде свинца, ртути, полихлорированных дифенилов, поливинилхлоридов.

Определенную часть отходов составляют жесткие диски, которые перерабатывать весьма сложно. Но благодаря новым технологиям в продаже вскоре могут появиться (вернее, уже появляются) накопители с восстановленными магнитами.

Так, во второй половине прошлого года корпорация Google получила на тестирование шесть HDD, произведенных компанией Seagate. Магниты в этих дисках были не новыми, их сняли с утилизированных накопителей, как просто закончивших свой срок службы, так и вышедших из строя. К слову, все эти диски были списаны из дата-центра Google.

Как оказалось (в принципе, удивляться здесь не приходится), диски работают отлично, не хуже, чем устройства, изготовленные из новых материалов. Технология переработки HDD была разработана нидерландской компанией Teleplan. Процесс весьма трудоемкий. Сначала диски помещаются в комнату с минимальным уровнем запыленности, где их разбирают, причем вручную. Из дисков извлекаются магниты и отправляются в Seagate. Далее компания их устанавливает в новые накопители, правда, лишь в том случае, если магниты еще можно использовать (т.е. их извлекли не из слишком уж устаревших морально устройств).

К сожалению, из-за трудоемкости процесса масштабировать утилизацию дисков сложно, если учесть, сколько времени, усилий и финансов используется для этого, то вполне вероятно, что просто новые диски выпускать дешевле. А проблема с HDD более чем актуальна — лишь в США каждый год списывают более 20 млн жестких дисков. Это огромная куча электронных отходов.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Один из пилотных проектов iNEMI включает удаление всей сборки стека головок, а также верхнего и нижнего магнитов. Источник: iNEMI

Правда, есть и альтернатива методу, предложенному Teleplan. Группа исследователей из Окриджской национальной лаборатории по атомной энергии предложила новый метод извлечения редкоземельных магнитов из дисков для повторного использования этих материалов. И это, к слову, полностью соответствует стратегии, разработанной Министерством энергетики США. Ведомство заявляет, что повторное использование редкоземельных элементов является первой линией обороны в деле защиты национальной безопасности.

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

После этого отрубленные элементы нагреваются до определенной температуры в специальной печи. Делается это для того, чтобы магниты потеряли свои магнитные свойства и легко отделялись. Предложенная методика позволяет обрабатывать в день до 7200 дисков. Извлеченные магниты могут использоваться вторично после восстановления магнитных свойств. Но их также без проблем можно пускать на переработку — и не только для изготовления новых магнитов, но и для получения редкоземельных элементов, необходимых для многих сфер науки и техники.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Редкоземельные оксиды извлекаются из магнитов, извлеченных из утилизированных жестких дисках, а затем формуются в металлические слитки, которые впоследствии преобразуются в постоянные магниты.

Извлеченное сырье перерабатывается путем измельчения (буквально в пыль). Далее из полученного субстрата извлекается магнитная фракция. Все это превращается в оксидный порошок, который служит исходным сырьем для создания новых магнитов. Urban Mining Company и производит магниты, которые используются не только в IT, но и других сферах, включая машиностроение. Стратегию использования вторичных материалов, как и говорилось выше, реализует Министерство энергетики США.

Источник

Управление производительностью вычислительных систем на примере RISC-серверов Sun

Производительность — главный показатель работоспособности системы. Не обладая необходимой производительностью, она не способна выполнять возложенные на нее задачи. И примеров тому можно привести массу: невозможность своевременно отреагировать на изменение конъюнктуры рынка из-за задержки аналитической обработки данных (OLAP), отказ в обслуживании клиента из-за перегрузки системы (процессинг), срыв сроков поставок (ERP) или подачи отчетов в фискальные органы и т. д. В результате сроки выполнения бизнес-задач могут оказаться сорванными, что в конечном итоге приведет к финансовым потерям компании.

На снижение производительности влияют многие факторы: от выхода из строя компонентов вычислительных средств до ошибки в проектировании. Однако, даже если система хорошо спроектирована, ее производительность может перестать удовлетворять требованиям бизнеса в случае их изменения: например, когда происходит незапланированный рост числа пользователей или объемов данных, появляются новые задачи и т. п.

Чтобы падение производительности не стало неприятным сюрпризом, ее уровень надо постоянно отслеживать и корректировать. Сделать это помогает методика управления уровнем сервиса (Service Level Management, SLM), следование которой позволяет держать в заданных рамках все показатели — не только производительности, но и готовности информационных сервисов ИС.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Рисунок 1. Процесс управления уровнем обслуживания.

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

Вопросы выбора показателей производительности системы, их измерения и анализа полученных данных рассматриваются далее на примере платформы SPARC/Solaris. В заключение статьи приводится ряд рекомендаций по оптимизации ОС Solaris для повышения производительности при работе с СУБД Oracle.

КАКИХ ЦЕЛЕЙ ХОЧЕТСЯ ДОСТИЧЬ

С момента появления вычислительной техники пользователи хотят, чтобы компьютеры работали быстрее. Но всегда ли нужно идти у них на поводу? Если сервер способен обработать 10 тыс. транзакций в секунду, много это или мало? На первый взгляд для банка, у которого всего 10 тыс. клиентов, такая производительность более чем достаточна, а для оператора мобильной связи с тем же числом абонентов вроде бы маловата. Однако если в банке одновременно с интерактивным обслуживанием клиентов сотня экспертов выполняет сложные аналитические задачи с использованием тех же финансовых транзакций, то сервер автоматизированной банковской системы (АБС) может не успеть выполнить запрос на обслуживание важного клиента, что грозит потерей денег — клиент предъявит иск или просто откажется от услуг банка. Напротив, если сервер биллинговой системы оператора мобильной связи не успеет обработать детальную запись о звонке абонента (Call Detailed Record, CDR), то он имеет возможность сделать это в следующую итерацию, поскольку коммутаторы сети мобильной связи обычно хранят CDR некоторое время.

Итак, 10 тыс. транзакций в секунду — это много или мало? Ответ зависит от того, выполнение каких задач возложено на сервер и какие требования при этом предъявляются. Например, в случае АБС банка сервер должен выполнить запрос клиента на осуществление финансовой транзакции не более чем за 30 с, а для биллинговой системы оператора мобильной связи требование может выглядеть иначе — сервер должен суметь обработать за 1 мин не менее 5000 CDR.

Если требования изначально не определены, то измерение производительности системы становится бессмысленным занятием. Требования обычно фиксируются в соглашении об уровне обслуживания (Service Level Agreement, SLA). SLA — это полноценный контракт между провайдером услуг и потребителем, который в наших примерах может быть заключен между службой ИТ банка и руководством банка, отделом эксплуатации биллинговой системы и службой биллинга. Он необходим для оценки уровня услуг ИТ и обеспечения управления этим уровнем. Как правило, SLA оговаривает такие параметры, как коэффициент готовности услуги (доступность), нормативы устранения сбоев, а также показатели производительности (Key Performance Indicator, KPI).

Зафиксированные в SLA требования (Service Level Objective, SLO) говорят о том, какую производительность системы необходимо поддерживать, а KPI позволяют установить, что производительность системы находится на должном уровне. (SLO для АБС банка и биллинговой системы уже были сформулированы выше.) Кроме того, в SLO указывают, как учитывается время обработки: в частности, для финансовых транзакций — это может быть интервал времени между отправкой запроса на выполнение транзакции и получением визуального подтверждения его выполнения. Для АБС банка KPI могут быть сформулированы как доля транзакций, время обработки которых превышает определенный порог, например 28 с. Если количество подобных финансовых транзакций вышло за заданный порог, например 5%, то можно говорить о падении производительности системы и следует принять меры к ликвидации данной ситуации. Для биллинговой системы KPI формулируются проще — как минимальное число CDR, обрабатываемых за 1 мин.

ЧТО ИЗМЕРЯТЬ?

К сожалению, использование KPI позволяет только фиксировать факт снижения производительности, но не раскрывает причины происходящего. На практике производительность грамотно спроектированной системы не должна падать при отсутствии каких-либо существенных изменений во внешних условиях функционирования, отказов оборудования или неумелого вмешательства администраторов в ее работу. Как правило, системы проектируются с запасом производительности и масштабируемости на случай увеличения нагрузок вследствие прироста объемов обрабатываемых данных и числа пользователей. Незапланированное резкое увеличение числа пользователей (в частности, в результате создания нового подразделения) или появление новых задач является существенным изменением внешних условий функционирования. Поэтому, если система стала медленнее работать, прежде всего надо выяснить, какие случились перемены. Как уже было отмечено, обычно KPI не позволяют определить, что могло повлиять на нормальную работу системы.

Кроме того, измерение параметров KPI не всегда возможно или удобно осуществлять в том виде, в каком они заданы в SLA. Обычно значение KPI зависит от производительности множества компонентов системы: сети, прикладного программного обеспечения и сервера. У каждого из данных компонентов существуют индикаторы производительности. Для сервера такими индикаторами служат загруженность процессорных мощностей, используемый объем оперативной памяти, число выполняемых процессов и др. KPI являются интегральным показателем, и зачастую формулу их расчета невозможно вывести из индикаторов производительности отдельных компонентов системы, особенно если последняя состоит из большого числа серверов, сетевых коммутаторов, дисковых массивов, коммутаторов Fibre Channel и т. д. В таком случае измеряют показатели производительности компонентов работающей системы, когда она обеспечивает требуемую производительность. Полученные значения используют как базовые (baseline) для сравнения с текущими показателями производительности компонентов при дальнейших контрольных замерах. Если конфигурация системы изменяется или претерпевает модернизацию, то определение базовых значений производится вновь.

Вместе с тем, открытым остается вопрос: какие показатели производительности отнести к базовым? Все измеряемые показатели попадают в одну из четырех категорий: производительность, время отклика/обслуживания, длина очереди и утилизация.

Производительность (throughput) — это объем работы, который может быть выполнен за указанный промежуток времени. Число транзакций в секунду, осуществляемых системой управления базами данных (СУБД), является одним из примеров единицы измерения производительности. Максимальная производительность — объем выполненной работы за указанный промежуток времени при 100-процентной загруженности ресурсов системы. Иногда производительность путают с пропускной способностью. Пропускная способность (bandwidth) — это максимальная теоретически достижимая скорость без учета накладных расходов (overhead). Например, у шины Fast Wide SCSI пропускная способность составляет 20 Мбайт/с, а максимальная производительность — 16 Мбайт/с вследствие накладных расходов на протокол SCSI.

Время отклика (response time) — время, которое необходимо для завершения той или иной работы, например выполнения транзакции СУБД. Латентность является синонимом, но обычно используется как характеристика протоколов.

Время обслуживания (service time) — время, затрачиваемое на выполнение запроса, оно отсчитывается с момента достижения запросом начала очереди. Если система свободна и, следовательно, длина очереди запросов равна нулю, то время отклика равно времени обслуживания.

Длина очереди (queue length) — число запросов, ожидающих обслуживания. Длинные очереди увеличивают время отклика, но не влияют на время обслуживания.

Утилизация (utilization) — процент ресурсов системы, необходимых для выполнения работы, например процент времени использования процессора от общего времени работы системы.

Приведенные показатели связаны следующими формулами:

service time = utilization/throughput

queue length = throughput * response time

Так какие же параметры системы необходимо измерять? Ответ вполне очевиден: те, которые в дальнейшем помогут выявить приводящие к потере производительности «узкие» места. Как уже говорилось ранее, в любой системе имеются три компонента, где могут возникать «узкие» места, — это сеть, прикладное ПО и сервер. Для каждого из них существует свой набор показателей, на основании которых оказывается возможным выявить проблемы с производительностью. Еще раз подчеркнем, что все эти показатели попадают в одну из четырех упомянутых ранее категорий: производительность, время отклика/обслуживания, длина очереди и утилизация.

Процесс анализа показателей производительности рассмотрим на примере платформы SPARC/Solaris. В ядре операционной системы в специальных счетчиках накапливается статистика о работе компонентов системы. Для отображения статистики функционирования различных компонентов сервера и операционной системы платформы SPARC/Solaris используются следующие команды:

/usr/bin/vmstat — статистика об использовании виртуальной памяти, обмене страниц физической памяти с диском (paging) и обобщенные показатели загрузки процессоров; /usr/bin/mpstat — детальная статистика о загрузке процессоров; /usr/bin/iostat — статистика о подсистеме дискового ввода/вывода и NFS; /usr/bin/netstat — статистика о работе сетевых интерфейсов.

В других системах UNIX, берущих свое начало от AT&T System V, для отображения статистики служат аналогичные команды. Так, в HP-UX 11i v1 — это vmstat, mpstat, iostat, netstat, причем они отображают практически ту же информацию, что и команды ОС Solaris. Однако методика анализа их результатов для ОС Solaris и для HP-UX различна в связи с отличиями во внутренних структурах указанных ОС.

Поиск «узких» мест, влияющих на производительность сервера, рекомендуется начинать с анализа статистики использования памяти. Зачастую недостаток памяти ошибочно диагностируется как медленный доступ к диску или нехватка процессорной мощности. Для получения статистики применяйте команду vmstat (см. Листинг 1). В первую очередь следует обратить внимание на значения в колонке sr (scan rate). Они показывают число страниц памяти, которые ядро операционной системы просматривало в попытке найти свободную страницу. Когда указанная величина в колонке sr возрастает, одновременно увеличивается значение в колонке po (page-outs), показывающее число страниц физической памяти, выгружаемых на диск в область swap. Если такая ситуация наблюдается постоянно, то серверу не хватает памяти для выполнения задач, и из-за этого падает производительность.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Листинг 1

При поиске «узких» мест нужно обратить внимание и на статистику загрузки процессоров. Детальную информацию можно получить с помощью команды mpstat (см. Листинг 2). Важными для анализа являются следующие показатели:

Если значения в колонке idl постоянно близки к нулю, значит, серверу не хватает процессорной мощности для выполнения задач. Обратное не всегда верно. Время, которое процессор тратит на обработку прерываний сетевого ввода/вывода (и ряда других), учитывается как idl, поскольку приоритет таких прерываний выше, чем приоритет прерываний таймера сбора статистики. В результате якобы бездействующий сервер (высокие значения idl) в действительности может быть занят обработкой сетевого трафика. Помимо описанной возможен и ряд других подобных ситуаций, когда необходимо учитывать значения приведенных показателей в комплексе, что отражено в Таблице 1. На Листинге 2 видно, что сложная вычислительная задача (idl=0) не мешает серверу справляться с нагрузкой — все остальные параметры в норме.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Листинг 3

Аналогично командам vmstat и mpstat, внимания заслуживает только часть показателей, выдаваемых командой iostat (см. Листинг 3). К ним относятся:

Если последние три показателя близки к нулю, то это означает, что серверные диски достаточно быстрые, а ввод/вывод оптимально распределен между контроллерами и не создает «узких» мест, т. е. «все в норме». На практике для диска, находящегося под нагрузкой, значения показателя asvc_t будут не нулевые, поскольку любому диску требуется некоторое время на исполнение запросов ввода/вывода.

К сожалению, встроенная в Solaris команда netstat выдает очень ограниченный набор информации (см. Листинг 4), на основании которой можно было бы сделать адекватные выводы о проблемах с производительностью сети. Нужно обратить внимание лишь на то, чтобы число ошибок (errs) и коллизий (colls) было близко или равнялось нулю.

Утилизация диска что это. Смотреть фото Утилизация диска что это. Смотреть картинку Утилизация диска что это. Картинка про Утилизация диска что это. Фото Утилизация диска что это
Листинг 4

Применение рассмотренных выше команд удобно при анализе функционирования одного-единственного сервера. Если же необходимо контролировать работу нескольких серверов и своевременно выявлять неполадки, то лучше воспользоваться развитыми средствами, в частности коммерческими пакетами Sun Management Center, HP OpenView или BMC PATROL.

Перечисленные продукты имеют развитый механизм задания правил, на основе которых они сообщают администратору о проблеме с производительностью (и не только) на контролируемых серверах. Детальное рассмотрение указанных продуктов выходит за рамки этой статьи.

Практический опыт создания и эксплуатации систем показывает, что наибольший выигрыш можно получить путем оптимизации не настроек сервера, а приложения. К сожалению, в силу ряда причин это не всегда возможно (например, из-за отсутствия исходного кода), поэтому еще одной точкой приложения усилий является оптимизация настроек такого программного обеспечения, как СУБД Oracle.

Но прежде, чем заниматься настройками, необходимо проанализировать статистику работы СУБД. С этой целью в Oracle используются специальные системные виды (View), названия которых начинаются с v$. Эти объекты представляют внутренние структуры Oracle, где накапливается статистика. Процесс накопления статистики должен быть включен, например, с помощью команды:

alter system set timed_statistics = true;

Для облегчения получения статистики в поставку Oracle входят два сценария: utlbstat.sql и utlestat.sql. Запуск utlbstat.sql инициализирует процесс сбора статистики и создания отчета, по окончании определенного промежутка времени необходимо запустить сценарий utlestat.sql, чтобы сгенерировать отчет о работе СУБД за этот период. Результат будет помещен в файл report.txt.

Детальное рассмотрение всех параметров СУБД ORACLE, которые необходимо проанализировать для выявления «узких» мест, опять же выходит за рамки данной статьи. (Более подробную информацию можно найти по указанным в «Ресурсах Internet» ссылках.)

ЧТО ПРЕДПРИНЯТЬ?

Как уже отмечалось вначале, рецептов по оптимизации системы на все случаи жизни не существует. К универсальным советам можно отнести только следующие очевидные рекомендации.

Относительно оптимизации производительности СУБД Oracle под управлением ОС Solaris можно дать следующие общие рекомендации.

Одним из «узких» мест в работе СУБД является ввод/вывод на диски. Встроенный в ОС Solaris механизм Kernel Asynchronous I/O (KAIO) позволяет сократить накладные расходы (перемещение блоков данных из SGA Oracle в кэш файловой системы и др.) при вводе/выводе данных Oracle на диски. Но для этого необходимо, чтобы файлы данных Oracle (datafiles) располагались на так называемых устройствах непосредственного доступа (raw device) OC Solaris. Это не всегда удобно, поскольку на raw device, где хранятся datafiles Oracle, файловая система отсутствует. Устранить данное неудобство позволяет опция Quick I/O файловой системы VERITAS (стандартная файловая система UFS в ОС Solaris имеет подобную опцию — Direct I/O, но та менее эффективна), она дает тот же эффект по устранению накладных расходов, но на файловой системе VxFS. Данная опция лицензируется в составе пакета VERITAS Database Edition for Oracle.

Переключение процессора с выполнения одного процесса на другой ведет к дополнительным нежелательным задержкам. Чтобы процессы Oracle не конкурировали между собой и с другими процессами, в многопроцессорной системе рекомендуется назначить им конкретные процессоров или группу процессоров, посредством команды pbind или psrset. Для более гибкого распределения вычислительных ресурсов сервера между процессами и управления ими рекомендуется воспользоваться программным средством Resource Manager, входящим в состав Solaris 9 OE.

Серверы Sun Fire моделей от F3800 до 15K имеют разные уровни латентности между компонентами. Это означает, что при доступе процессора к памяти, находящейся на другой процессорной плате, времени тратится больше, чем при доступе к памяти, размещенной на той же плате, что и сам процессор (практически архитектура NUMA). Часть процессов Oracle имеет свою «внутреннюю» память, и при этом все обращаются к общей — SGA. Чтобы оптимизировать процесс обращения к памяти, в Solaris 9 была включена функция Memory Placement Option. Эта опция в полном объеме работает для указанных серверов, начиная с редакции Solaris 9 12/02 OE. По возможности, рекомендуется использовать Solaris 9 названной или более поздней редакции. СУБД Oracle 9i «умеет» пользоваться данной опцией.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *