Эффективное использование реестра

октября 12 2009 by admin in Администрирование

Теперь, зная о функциях манипулирования данными системного реестра, вы можете приступить к изучению работы этих функций в серверных приложениях. Реестр хранит сведения о конфигурации сервера, но иногда администратор может использовать его для передачи серверу требований к конфигурации.
Большинство серверов реализовано в виде служб, которые не обладают видимым пользовательским интерфейсом. Независимо от методов разработки существуют веские причины исключить из сервера пользовательский интерфейс. В таких случаях, как правило, создается дополнительное простое приложение, позволяющее настроить службу. Такая программа сохраняет в реестре сведения о конфигурации, которую служба оттуда может считать. При этом должна существовать возможность запуска приложений администрирования как дистанционно, так и локально, кроме того, они должны выполняться в Microsoft Windows 95 или 98.
При разработке служб и приложений администрирования нужно следовать определенным правилам, позволяющим использовать реестр наиболее эффективно.
Сервер должен обращаться к реестру как можно реже. Системный реестр — совместно используемый ресурс, следовательно, доступ к нему должен быть последовательным. Недопущение параллельного доступа к реестру обеспечивает система. При каждом вызове функции, имеющей дело с реестром, существует опасность того, что вызывающему потоку придется ждать, пока другой поток завершит свою работу с реестром. Такое положение вещей может снизить производительность приложения, часто обращающегося к реестру. Поэтому ваш сервер должен получать свои параметры при запуске и, возможно, считывать их заново по запросу программы администрирования. Большинство служб требует своего останова и повторного запуска, чтобы новые параметры вступили в силу, однако это не обязательно.
Сервер не должен опрашивать реестр в поисках изменений. Система предоставляет средства уведомления служб о внесенных в реестр изменениях (см. раздел «Уведомления об изменениях в реестре»). Поэтому ваша служба должна использовать для определения изменений конфигурации именно этот механизм, а не периодические проверки реестра.
Избегайте передачи через реестр информации о событиях или производительности. Ваши службы и приложения администрирования должны избегать внесения в постоянные разделы реестра сведений о событиях или производительности. Для мониторинга производительности служит непостоянный раздел HKEY_PERFORMANCE_DATA.