Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
20.04.2024
Размер:
34.23 Mб
Скачать

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

E

 

 

 

 

 

 

C

E

 

 

 

 

 

X

 

 

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

d

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

 

i

 

 

F

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

o

P

D

 

 

 

 

 

 

 

o

 

 

 

NOW!

r

 

 

 

NOW!

r

 

 

 

 

 

 

ХАКЕР.PRO

 

 

 

 

 

 

 

 

 

 

 

to>>BUY

 

 

 

 

 

to BUY

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

o

w Click

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

e

 

 

 

p

df

 

 

 

e

 

 

 

 

 

g

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ульяна Смелая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выжать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

максимум

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тонкая настройка производительности серверных версий Windows

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Win2k3 и Win2k8 по умолчанию оптимизированы под стандартную сетевую

 

 

 

 

 

 

 

 

 

 

 

 

 

среду. Но если серверную ОС надлежащим образом настроить (например,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

под требования компании), то это благоприятно отразится на каждом ас-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пекте работы сети, начиная от самого оборудования и заканчивая пользова-

 

 

 

 

 

 

 

 

 

 

 

 

телями, подключенными к серверу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Анализируем причину

всего леса (подробности смотри в статье «В лабиринте AD» в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Любая внештатная ситуация, в том числе и снижение производительнос-

этом же номере, — Прим. ред.). Так мы разгрузим основной КД и снизим

 

 

 

 

 

 

 

 

 

 

 

 

ти сервера, требует тщательного анализа. Не собрав всей информации,

нагрузку на Сеть (в том числе и на внешний канал, если для соединения

 

 

 

 

 

 

 

 

 

 

 

 

 

можно нагородить дел. Возьмем такой случай. Контроллер домена (КД)

между офисами используется интернет).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уже не справляется со своими обязанностями — пользователи подолгу

Узкие места могут возникать по нескольким причинам:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

регистрируются в системе или не могут зайти в сетевую папку. В зави-

•системныересурсысервераилисетиисчерпалисвоивозможности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

симости от топологии Сети, вариантов решения может быть несколько.

— как правило, требуется наращивание или модернизация;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Например, можно модернизировать железо, перераспределить нагрузку

•отдельныесистемыилиучасткисетинагруженынеравномерно— требу-

 

 

 

 

 

 

 

 

 

 

 

между серверами (в том случае, когда КД выполняет еще и другую задачу)

ется перераспределение ресурсов;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или же снизить нагрузку на основной КД за счет установки еще одного

• ресурсиспользуетсявмонопольномрежиме— возможно, потребуется

 

 

 

 

 

 

 

 

 

 

 

 

 

КД в отдельном подразделении компании. При использовании Win2k8 в

замена программы на аналог, запуск ее только по требованию или в перио-

 

 

 

 

 

 

 

 

 

 

 

 

удаленном офисе есть вариант установить контроллер домена только для

ды низкой загрузки;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чтения (RODC). Тогда в случае компрометации сервера или банальной

• неправильнаянастройка— необходимо изменение параметров.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кражи оборудования можно не бояться за нарушение функционирования

Теперь разберем некоторые моменты подробнее.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

140

xàêåð 11 /119/ 08

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Ищем бутылочное горлышко

Производительность систем и сервисов, то есть время, за которое они выполняют некоторую задачу, зависит от ресурсов процессора и памяти, емкости и производительности дисковых накопителей и пропускной

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

ВновойWin2k8иWin2k3,котораяещедолгобудетверойиправдойслужить насерверах,системымониторинганесколькоотличаются,ноненастолько, чтобынеразобратьсяприсменесистемы.Диспетчерзадач,вызываемый по<Ctrl+Alt+Del>(вWin2k8нужнобудетвыбратьвменюещеиStartTask Manager)или<Ctrl+Shift+Esc>,позволяетвовкладкеPerformanceувидеть состояниеосновныхсистемныхресурсов(CPU,ОЗУ)иСети(вовкладке Networking).Вобеихсистемахможнооценитьвкладотдельногопроцессав общуюпотерюпроизводительности.Еслиинформациинедостаточно,добав-

ляемсчетчикипроизводительности.Дляэтогодостаточноперейтивовкладку «Processes»ивыбратьвменюView—SelectColumns,послечегоустановить флажкинапротивнужныхпунктов.Поумолчаниюактивировановсегодва счетчика:CPUUsage(загрузкаЦП)иMemory—PrivateWorkingSet(Memory UsageвWin2k3,Использованиепамяти).Названиянекоторыхсчетчиковв системахотличаются,норазобратьсянесложно.

ВWin2k3 для наблюдения за производительностью системы в штатную поставку входит «Монитор Производительности» (вызывается через Старт Администрирование Производительность, perfmon.msc), который выводит показания активных счетчиков в виде графиков, диаграмм или таблиц. Ведется история событий, помогающая отследить все изменения. При достижении порогового значения можно, например, отправить сообщение админу — в общем, выполнить действие. Подробности о «Мониторе Производительности» и основных счетчиках смотри в статье «Поставь сервер на счетчик», опубликованной в X_11_2007.

НасайтеMicrosoftдляWin2k3доступноещеодноэффективное,хотяималоиз- вестноесредствоанализапроизводительности—ServerPerformanceAdvisor V2.0(SPA).Спомощьюэтойутилитыможнособратьинформациюонастройках, данныесосчетчиковсодногоилинесколькихсерверов,отслеживатьсобытия (EventTracing).Порезультатамработыполучимудобныедлячтенияианализа отчетыопроизводительности,содержащиепредупрежденияирекомендации поустранениюнеполадок.ВSPAимеетсяболее90предварительнонастроенныхгруппколлекторов.Причемсамыевостребованныеуженастроены!Например,коллекторSystemOverviewсодержитосновныесистемныесчетчики:CPU usage,Memoryusage,занятыефайлыиTCP-клиенты,top-потребителиCPU,

атакжесчетчикидляосновныхсерверов—контроллеровдомена,файловых службAD,IIS,DNS,TerminalServices,SQLидр.

ВWin2k8контрользаосновнымипараметрамисистемывозложенна

ReliabilityandPerformanceMonitor(RPM),которыйвобралвсебяфункции отдельныхприложений,доступныхвWin2k3.Запуститьегоможнонесколькимиспособами:изменюAdministrativeTools,нажатиемклавишиResource MonitorвовкладкеPerformanceвTaskManager,выбравпунктвменю DiagnosticвServerManagerиливведявконсолиperfmon.exe.Вглавном окнеRPMувидимчетыреграфика,выводящиеинформациюозагрузке CPU,Disk,MemoryиNetworkвреальномвремени.Чутьнижерасположены таблицысподробнойинформацией,разбитойпоэтимжегруппам.Вкаждой показанпроцессисвязанныеснимданные(PID,объемОЗУ,загрузкаCPU, ResponseTimeдисковыхопераций,количествопереданныхипринятыхсетевыхпакетовипрочее).Зачастуюдостаточноодноговзгляданаграфикии таблицу,чтобыоценитьобстановкуипринятьрешение.Ноиэтоещеневсе. «Монитор Производительности» находится в меню Performance Monitor. По умолчанию активирован только один счетчик Processor Time, но достаточно выбрать в контекстном меню Add Counter, как откроется одноименное окно, в котором можно выбрать нужный счетчик. Полный список охватывает все параметры системы и сервисов. Следующее меню, хотя и не связано с оценкой производительности, — тем не менее, очень полезно при поиске неисправностей. Речь идет о Reliability Monitor («Монитор Надежности»). Справа от графика выводится индекс ожидания появления проблемы

System Stability Index («Системный Индекс Устойчивости»). График Stability

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

>> ХАКЕР.PROto BUY

 

 

 

m

w Click

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Убираем лишние протоколы

Index помогает быстро найти дату, когда было замечено первое появление проблемы (уменьшился System Stability Index). В поле System Stability Report показаны детали возникшей проблемы.

Два меню Data Collector Sets и Reports выступают в роли удобного аналога SPA. Так, в первом из них содержатся шаблоны коллекторов, которые могут быть использованы с любой программой, предназначенной для сбора данных. Выполнив, например, LAN Diagnostics или System Performance (то есть любой коллектор или группу), в соответствующем подменю в Reports получим полный отчет.

Тюнинг системы

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

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

после каждого изменения повторяем наблюдение в течение некоторого времени, достаточного для сбора статистической информации;

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

Среди советов встречаются такие, как отключение «лишних» сервисов и проверка запланированных заданий, но в Win2k8 изначально запущено только то, что действительно нужно. Поэтому эти советы больше актуальны для ранних версий Windows.

Оптимизация сети

Сетевая подсистема в Win2k3/Win2k8 (как, впрочем, и в любой другой ОС) является многоуровневой. Глубокий тюнинг следует производить на каждом уровне, начиная от драйвера и NDIS (спецификация интерфейса сетевых драйверов) и заканчивая уровнем приложений. Начнем «снизу». Вызываемсвойстваадаптераиизучаемактивныепротоколы.Любой протоколгенерируетнекоторыйтрафик,поэтомудажевнебольшойсети

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

xàêåð 11 /119/ 08

141

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

w Click

to BUY

 

>>

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

ХАКЕР.PRO

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

32bitvs64bit

Учитывая,что32 битныепроцессоры,можносказать,уходятсосцены,

Win2k3—в Boot.ini,авWin2k8командой:

а32или64версииОСстоятодинаково,использование64 битнойархи-

 

тектурынасерверахвыглядитпредпочтительнее.Крометого,приложе-

> bcdedit /set IncreaseUserVA 3072

ния,оптимизированныепод64 битнуюархитектуру,показывают,как

 

правило,большуюпроизводительность.Исключениеможетбытьлишь

Кслову,64 битныйпроцессв64 битнойОСможетиспользоватьдо8Тб

принесовместимостиприложенияс64 битнойОС.Такжев64 битных

ОЗУ.Ещеодинвариантвыделения32 битномупроцессудо4Гбпамяти

системахотсутствуютнекоторыеограничения,которыемогутбыть

в32-и64 битныхверсияхОС—компиляцияпрограммысфлагом

существенными.Например,в32 битныхОСневозможноиспользовать

IMAGE_FILE_LARGE_ADDRESS_AWARE.

памятьобъемомболее3,5Гб(с3,5до4Гбзанятыподадресацию).Плюс,

C16 битнымиприложениямиситуацияобстоитнапорядокхуже.

каждый32 битныйпроцессможетиспользоватьнеболее2ГбОЗУ.Хотя

64 разрядныеверсииОСснимиработатьнемогут,азапускв32 битной

вWin2k3иWin2kAdvancedServerпредусмотренафункциярегулировки

системеиз-заспецификиработыприведеткобщемупадениюпроизво-

ОЗУ4GT(4 gigabytetuning)—онапозволяетразделитьпространство

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

памятипроцессанадвечасти:3Гбвыделяетсянапамятьприложения

насовременнуюверсиюпрограммы,либозапускатьнаотдельном

и1Гб—насистемнуюпамять.Этофактическиснимаетограничение.

компьютере.Благо,такиеприложения,какправило,нетребовательны

Включается4GTустановкойключа/3GBвпараметрахзагрузчика.В

кресурсам.

 

нет).Параллельновключаемснифериотлавливаем«лишние»

 

пакеты,определяяихисточник.Еслирасположитьболеебыс-

 

трыйиличастоиспользуемыйпротоколвначалесписка,тоэто

 

позволитувеличитьпроизводительность.

 

ЛокальныефайлыHOSTS(дляTCP/IP)иLMHOSTS(NetBEUI),хра-

info

нящиеадресаиименасистем,помогаютуменьшитьколичество

• Если расчеты пока-

запросовнаразрешениеимен.Этинастройкиможнопроизвести

зывают, что 100 Мбит

каквручную,такизайдявсвойстваTCP/IPвнастройкахсетевой

будет недостаточно, то

карты,изатемвыбравAdvanced.Распространятьизменения

подумай о гигабитной

вэтихфайлахможновнебольшихсетяхвручную,авAD—при

карте. Но подключать

помощиполитик.ПрисутствиеDNS-иWINS-серверовтакже

Gigabit Ethernet в

способноуменьшитьколичестволишнихзадержек.

обычный PCI-слот не-

Кстати, новая концепция ролей в Win2k8 приносит свои

целесообразно. Лучше

плоды: в настройках Сети после установки системы ничего

остановить свой выбор

лишнего не включено, а новые алгоритмы настройки и

на PCI-X, PCIe x8 и

оптимизации требуют меньше телодвижений со стороны

выше.

администратора. Например, автоматическая настройка TCP

 

Receive Window Auto-Tuning динамически изменяет размер

• Желательно настро-

принимающего буфера TCP, используемого для хранения

ить Сеть так, чтобы

входящих данных, тем самым повышая пропускную способ-

вынести в отдельную

ность, скажем, при передаче больших файлов на высокос-

подсеть системы,

коростных каналах (поэтому ключ реестра TcpWindowSize

используемые одной

в Win2k8 игнорируется). Средство Compound TCP (CTCP)

группой пользовате-

увеличивает количество одновременно отправляемых

лей или формирующие

данных — ну, и так далее. Впрочем, кое-что нам оставили и

большой трафик (это

для ручной настройки.

базы данных и файло-

Нажав кнопку Configure в свойствах адаптера, получаем

вый сервер).

во вкладке Advanced доступ к ряду настроек (их количество

 

зависит от конкретного адаптера). Например, для файлового и

• Для перераспре-

FTP сервера рекомендуется задействовать следующие опции:

деления рабочей

IPv4, TCP и UDP Checksum offload, Segmentation offload и

нагрузки можно вос-

TCP offload engine (TOE). Поддержка последнего включается

пользоваться распре-

следующим образом:

деленной файловой

 

системой (о том, как

> netsh int tcp set global chimney = enabled

настроить DFS, читай в

 

 

z_12_2007).

Для веб-сервера и сервера базы данных желательно акти-

 

вировать еще и Receive-side scaling (RSS). Но если сетевой

 

адаптер не справляется с нагрузкой, — наоборот, пробуем

 

по одному отключать все offload настройки. В Link Speed &

 

Duplex указывается режим работы адаптера (по умолчанию

 

он выбирается автоматически), а в Transmit/Receive Buffers

 

— буфер приема и передачи. В целях экономии ресурсов

размер буфера по дефолту установлен в минимальное или среднее значение. При больших нагрузках это чревато потерями пакетов. Если адаптер позволяет вручную изменить размер буфера, то увеличиваем, не задумываясь.

ПараметрInterruptModerationпоумолчаниюустановленв Adaptive.Поигравшисьснастройками,можнопопробовать выбратьприемлемыйрезультатмеждупроизводительностью СетиинагрузкойнаCPU.ЕслинасерверенесколькоCPUисетевыхкарт,товозможнапривязкаCPUксетевомуадаптеру.Это положительноскажетсянапроизводительностиСетиисистемызасчетуменьшенияколичества«лишних»прерываний. Конечно, это не все, что может сделать админ для разгрузки Сети. Например, для настройки драйвера http.sys, который используется IIS, есть целая ветка реестра:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\

Services\Http\Parameters

Что-то можно сделать и на прикладном уровне. Например, в ISA Server реализована функция сжатия данных, передаваемых по протоколу HTTP. Правда, за меньший трафик придется платить большей нагрузкой на CPU. В медленных сетях пропускная способность повышается на 30%. Также уменьшается задержка при передаче информации, хотя нагрузка на процессор не увеличивается более чем на 20%. Для разгрузки сер-

вера терминалов в Computer Configuration — Administrative Templates — Windows Components — Terminal Services

— Terminal Server можно уменьшить глубину цвета и размер рабочего стола, установить сжатие RDP, отключить обои и т.д.

Дисковая подсистема

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

Кое-чтоможносделатьисамому.Поумолчаниюфайлподкачки равен1.5объемаОЗУирасположеннасистемномдиске. Последнийобычносильнозагружен,ктомужеподвержен фрагментации.Поэтому,еслиимеетсянесколькодисков, создаемфайлподкачкинакаждом.ДляэтоговControlPanel

142

xàêåð 11 /119/ 08

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

ХАКЕР

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

.PROBUY

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

Добавляем счетчик в Performance Monitor

 

 

 

 

 

 

 

 

 

Тонкая настройка сетевой карты

 

 

 

 

 

SystemвыбираемAdvancedSystemSettingиполучаемзнакомое

Установка в 0 ключа CountOperations позволит отключить не-

 

окноSystemProperties(«Свойствасистемы»).Нажимаемво

которые счетчики, что также повлияет на производительность

 

вкладкеAdvancedвполеPerformanceкнопкуSetting,снова

в лучшую сторону:

 

щелкаемAdvanced,азатемкнопкуChange.Впоявившемся

 

 

 

 

 

окнеснимаемфлажок«Automaticallymanagepagingfileforall

 

 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\

 

driver»иуказываем,накакихдискахиразделахследуетсоздать

 

 

Session Manager\I/O System\CountOperations

 

файлподкачки.Приэтомследуетпомнить,чтоиспользование

 

 

 

 

 

 

 

 

 

 

несколькихразделоводногодискадляфайлаподкачки,мягко

Установка в 1 (REG_DWORD) ключа DontVerifyRandomDrivers

 

говоря,нецелесообразно.Своплучшеразмещатьнаразделахс

запрещает тестирование и проверку некорректно работающих

links

меньшейбуквой,накоторых,какправило,скоростьповыше.

драйверов:

Подробные инструк-

По умолчанию Windows записывает данные блоками по 64 Кб,

 

 

 

 

ции по 4GT смотри

но жесткие диски и приложения могут использовать блоки

 

 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\

в статье Q171793

других размеров. Данные в этом случае придется записывать

 

 

Session Manager\Memory Management\

«Сведения о регули-

на несколько секторов, что снижает производительность. В

 

 

DontVerifyRandomDrivers

ровке ОЗУ для при-

состав Win2k8 и Win2k3 SP1 входит программа Diskpart, пред-

 

 

 

 

ложений с помощью

 

 

 

 

назначенная для создания разделов диска. С ее помощью

В Win2k8 используется сложный алгоритм, индивидуально

функции 4GT» (http://

можно задать другое смещение. Пользоваться программой

управляющий приоритетом I/O. Если для экспериментов ты

go.microsoft.com/

просто. Для запуска в командной строке набираем diskpart.

захочешь его отключить, установи в 0:

fwlink/?LinkId=43549).

exe. Далее командой «List Disk» выводим список дисков,

 

 

 

 

 

выбираем нужный диск — «Select Disk 1», создаем раздел

 

 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\

 

«Create Partition Primary Align=64» и присваиваем ему букву

 

 

Control\DeviceClasses\{Device

 

(«Assign Letter=D»). Помни, что Diskpart уничтожает данные,

 

 

GUID}\DeviceParameters\Classpnp\

 

поэтому предварительно создай резервную копию!

 

 

IdlePrioritySupported\I/O Priorities

 

Также стоит отключить индексацию файлов для (якобы)

 

 

 

 

 

 

 

 

 

 

быстрого поиска и компрессию диска (если взведен флажок

Чтобы запретить обновление даты последнего обращения к

 

«Compress this drive to save disk space»). И, конечно же, не за-

файлу, устанавливаем в 1 (REG_DWORD) ключ:

 

бываем о периодической дефрагментации (Свойства диска

 

 

 

 

warning

 

 

 

 

Tools Defragment Now). В подменю Shadow Copies находят-

 

 

HKLM\System\CurrentControlSet\Control\

ся настройки теневых копий. Если резервирование произво-

 

 

FileSystem\NtfsDisableLastAccessUpdate

Утилита Diskpart унич-

дится другими средствами, то для повышения производитель-

 

 

 

 

тожает данные.

 

 

 

 

ности их можно отключить или изменить алгоритм работы.

Это только основные параметры. А подробную информацию

Не забудь предва-

Не помешает знать и о некоторых параметрах реестра (они

по настройке дисковой подсистемы можно найти в докумен-

рительно создать

подходят и для Win2k3). Так, параметр NumberOfRequests,

те «Disk Subsystem Performance Analysis for Windows» на

резервную копию!

зависимый от драйвера сетевой карты, позволяет задать

сайте Microsoft.

 

количество запросов, ускоряя работу за счет распараллели-

 

 

 

 

 

вания. Драйвер сам устанавливает оптимальное значение, но

Точность хирурга

 

рекомендуется установить его в диапазоне от 32 до 96.

Повышение производительности сервера — это сугубо инди-

 

 

 

видуальная операция, которую нужно производить с точнос-

 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\

тью хирурга, контролируя каждый этап. Но ничего сложного

 

Services\MINIPORT_ADAPTER\Parameters\

здесь нет! Потратив некоторое время, ты неизменнополучишь

 

DeviceN\NumberOfRequests (REG_DWORD)

результат.Акакойименно,—зависиттолькооттебя.z

 

 

 

 

 

 

 

 

xàêåð 11 /119/ 08

143

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

E

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

F

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХаКер.Pro

 

w Click

to>>BUY

 

 

 

 

 

 

 

m

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

.c

 

 

 

 

p

 

 

 

g

 

 

 

 

 

 

df

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сергей «grinder» яреМчуК

/ GriNDer@ua.fm, Tux.iN.ua /

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Óниверсальныé наблþäатель

rrdtool:удобныйинструМентМониторингасети

Мониторинг сети и аппаратных ресурсов входит в обязанности любого администратора. Только постоянное наблюдение может выявить узкие места и предотвратить возможные проблемы. Предлагаю закатать рукава и настроить все самостоятельно. Настало время узнать, почему набор утилит RRDTool так не любят новички.

готовыерешения–ненашМетод

Инструмент RRDTool (Round Robin Database tool) предназначен для хранения, обработки и отображения любых данных, изменяющихся во времени (например, сетевой трафик, пропускная способность сети, загрузка процессора и ОЗУ, температура и т.д.). По сравнению с MRTG, RRDTool имеет более мощные средства сбора информации и создания графиков. Вся инфа хранится в кольцевой базе данных, ячейки которой задействуются циклически, – в итоге, размер БД остается постоянным. Заложенные алгоритмы усредняют результат; таким образом, можно охватить больший промежуток времени при малых размерах баз. Хотя именно по этой причине RRDTool нельзя использовать там, где нужны точные результаты (к примеру, в биллинговой системе). За большую гибкость в работе приходится платить и отсутствием единого конфигурационного файла, и некоторой сложностью в настройках. Но эту проблему стараются решить за счет использования различного рода дополнений, список которых можно найти на странице oss.oetiker.ch/rrdtool/rrdworld/index. en.html.

установкаrrdtool

RRDToolимеетсяврепозитарияхбольшинствадистрибутивовLinux ипортахBSD-систем.ЧтобыустановитьRRDToolвFree/OpenBSD, достаточноввести:

#cd /usr/ports/databases/rrdtool

#make install clean

Команда«sudoapt-cachesearchrrdtool»вDebian/Ubuntuвыведетне тольконазваниенужногопакета,ноибольшойсписокприложений,являющихсяфронтэндами.ВдальнейшемработатьбудемвUbuntu8.04, новсесказанное,заисключениемособенностейустановкизависимос- тей,касаетсяидругихдистрибутивовLinuxи*nix-систем.

Наданныймоментактивноразвиваетсяветка1.3.x,аврепозитории нампредлагают1.2.19-1ubuntu1(sudo apt-cache show rrdtool | grep -i version),поэтомупроизведемустановкуизисходных текстов.Сначалаинсталлируемпакеты,требуемыедлякомпиляциии удовлетворениязависимостей:

144

xàêåð 11 /119/ 08

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

ХаКер

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

.ProBUY

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

По окончании конфигурирования скрипт выдает текущие установки

$ sudo apt-get install build-essential \ libpango1.0-dev libxml2-dev

$ sudo apt-get build-dep rrdtool

Затемскачиваемираспаковываемархивссорцами:

$ wget -c http://oss.oetiker.ch/rrdtool/pub/rrdtool. tar.gz

$ tar xzvf rrdtool.tar.gz

$cd rrdtool-1.3.3

Вдефолтномрежимеустановкапроизводитсяв/usr/local/ rrdtool-1.3.3.Этонескольконеудобно,поэтому:

$ ./configure --prefix=/usr/local/rrdtool

Поокончаниипроцессаконфигурированияполучаемитоговуютабли- цу.Внимательнопросмотриполяс«no»,вдругскриптненашелчто-то важное.Есливсевпорядке,выполняемстандартнуюсборку:

$ make

Просмотр доступных идентификаторов объекта SNMP

проектированиеисозданиебазыданных(rrdtoolcreate);

получениепоказанийсчетчикаиобновлениеинформациивбазе

(rrdtoolupdate);

созданиеграфиков(rrdtoolgraph).

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

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

$ mkdir /usr/local/rrd

Новуюбазусотворимприпомощи«rrdtoolcreate»:

$ sudo make install

$ sudo rrdtool create /usr/local/rrd/bandwidth.rrd \

 

--start N DS:in:COUNTER:600:U:U DS:out:

Проверитьправильностьустановкиоченьпросто.Вподкаталоге share/rrdtool/examples находитсярядготовыхскриптов:

$ ls /usr/local/rrdtool/share/rrdtool/examples/ 4charts.pl cgi-demo.cgi perftest.pl shared-demo.pl bigtops.pl minmax.pl piped-demo.pl stripes.pl

Запустимодинизних:

$ sudo ./shared-demo.pl

Послевыполненияскриптавтекущемкаталогепоявятсядвафайлас расширениемrrdидварисунка.Копируемрисункивкорневойкаталог веб-сервера(илиоткрываемвовьювере):

$ cp shared-demo* /var/www/

Теперьзаходимнастраницуhttp://localhost/shared-demo1.pngисмот-

римрезультат.Еслирисуноксгенерирован,значит,всеработает.

настраиваеМrrdtool

ВсяработасRRDToolпроизводитсяприпомощиоднойутилиты, котораятакиназывается–rrdtool.Утилитаимеет13параметров,оп- ределяющих,чемонасейчасбудетзаниматься(полнуюинформацию онихможнонайтивсправочнойстраницеrrdtool(1)).Вбольшинстве случаевтребуетсяпройтитриэтапа:

COUNTER:600:U:U \

RRA:AVERAGE:0.5:1:432

Выглядит малопонятно, но сейчас мы это поправим. Первым аргументом команды является имя базы. По умолчанию файл будет создан в текущем каталоге, но лучше привыкать использовать полный путь (в скриптах, естественно, можно подставлять переменные). Параметр «--start N» указывает на время создания базы. Время в базе сохраняется в Unix-формате (от 01-01-1970). Параметр N (от Now) показывает на текущее время, но его можно представить в виде «20081001 12:10». Подробности по всем вариантам установки времени смотри в rrdfetch(1). Чтобы задать интервал отсчета времени, в команде можно использовать параметр ‘--step’ с указанием времени в секундах (по умолчанию, 300 секунд). Источник данных описывается параметром DS (data source). В одной базе может храниться информация сразу о нескольких источниках. Вторым аргументом после DS идет название источника. Имя не должно превышать 19 символов [a-zA-Z0-9_]. В примере создано два источника in и out, в которых и будем хранить информацию о входящем и исходящем трафике.

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

GAUGE–всчетчиксохраняетсясчитанноезначениебезизменений;

COUNTER–предполагается,чтоэтотсчетчиквсегдаувеличивается. Значениесохраняетсяввиде«единицавсекунду»,тоестьтекущее

xàêåð 11 /119/ 08

145

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХаКер.Pro

w Click

to

>>BUY

 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

$ rrdtool info /usr/local/rrd/bandwidth.rrd

 

 

 

 

 

Есливпроцессеэксплуатациивыяснилось,чтопараметры

 

 

базыданныхподобранынеудачно(например,выбрано

 

 

малоеколичествоячеек),тоничегострашноговэтомнет.

info

 

ЧтобыизменитьразмерRRA,используй«rrdtoolresize»;

•СтатьюоCactiсмотри

 

дляизменениялюбогопараметраDSприменяется«rrdtool

в z_09_2007.

 

tune».

 

 

Базаесть,теперьеенужночем-тонаполнить.

•НазваниеDSисточни-

 

 

кадолжносостоятьиз

 

байтикивкопилку

символов[a-zA-Z0-9_]

 

Какдоговорились,RRD-базубудемзаполнятьприпомощи

ибытьнеболее19

Информацияозагрузкеканала,собраннаяприпомощиRRDTool

SNMP.Устанавливаемнужныепакеты:

знаков.

 

 

 

 

$ sudo apt-get install snmp snmpd

 

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

 

 

Послеустановкиунасужеестьготовыйфайлsnmpd.conf,

 

предыдущим,разделенноенаколичествовремени.Для

 

этогосчетчикаобрабатываетсяпереполнение.

настроенныйнавыдачуданныхтолькодляlocalhost.Он

 

•DERIVE–подобенпредыдущему,ноегозначениеможет

намподходит,поэтомунетнеобходимостивыполнятько-

 

уменьшаться;переполнениенеобрабатывается;

манду«sudo snmpconf -i».Копируемеговнадлежащее

 

ABSOLUTE–используетсядлясчетчиков,значение

местоиперезапускаемдемон:

 

которыхобнуляетсяприкаждомсчитывании;вячейкуза-

 

 

писываетсясчитанноезначение,поделенноенаинтервал

$ sudo cp –v /usr/share/snmp/snmpd.conf /etc/

 

времени;

snmp/

 

COMPUTE–виртуальнаяячейка,хранящаярезультат

$ sudo /etc/init.d/snmpd restart

 

выполненияформулызначенийиздругихячеек.

 

 

Смотримсписокдоступныхидентификаторовобъекта

 

Теперь,думаю,понятно,почемубылвыбранименно

 

COUNTER.Подсчитываяданныеотрафике,мыбудемзнать

(objectidentifier,OID).Здесьпараметр«–v1»указываетна

 

загрузкуканала.

версиюпротокола,а‘-c’–накомьюнитидлядоступа:

dvd

Значение 600 после поля счетчика устанавливает так

 

На прилагаемом

называемый heartbeat – максимально допустимый

$ snmpwalk -v 1 -c public localhost

к журналу диске

интервал (в секундах) между считываниями (реко-

 

Наспокаинтересуютсетевыеинтерфейсы,поэтомувывод

ты найдешь набор

мендуется двойной '--step '). Он показывает, как

скриптов для обра-

часто должна заполняться ячейка (при превышении

можемсократить:

ботки и визуализации

этого интервала пропущенные значения заполняются

 

данных, поступающих

значением *UNKNOWN*). И, наконец, два последних

$ snmpwalk -v 1 -c public localhost interfaces

с источника беспере-

поля предназначены для указания минимального и

 

Ищемнумерациюсетевыхкарт,котораяописываетсяпри

бойного питания APC

максимального значения параметра. При превышении

Smart-UPS.

этих чисел значение будет установлено в *UNKNOWN*.

помощиIF-MIB::ifDescr:

 

Если определить эти цифры невозможно, то так и пишем

 

 

– “U” (то есть UNKNOWN).

IF-MIB::ifDescr.1 = STRING: lo

 

ПараметрRRA(roundrobinarchives)определяетколичес-

IF-MIB::ifDescr.2 = STRING: eth0

 

твоячеекдлякаждогоDS(наDSможетбытьнесколько

IF-MIB::ifDescr.3 = STRING: eth1

 

RRA),атакжефункцию,показывающую,каквычислять

 

 

Намнужналишьпоследняяцифрапараметра.Впримере

 

значениеячейки.Функцииконсолидациимогутбыть:

 

AVERAGE–среднееарифметическоевсехотсчетов;

видим,чтоинтерфейсуeth0соответствуетцифра2,аeth1

 

MINиMAX–максимальноеиминимальноезначение;

–3.Текущиепоказателисчетчиковвходящегоиисходяще-

 

TOTAL–суммавсехотсчетов;

готрафикапоказанысоответственновпараметрахIF-

 

LAST–последнийполученныйотсчет.

MIB::ifInOctets и IF-MIB::ifOutOctets:

 

Вверсии1.2дополнительнокосновнымфункциям

 

 

добавленыещенесколькоспециализированных,обеспе-

IF-MIB::ifInOctets.1 = Counter32: 444010

links

чивающихэкспоненциальноесглаживаниепоалгоритму

IF-MIB::ifInOctets.2 = Counter32: 34402149

• Самую свежую

Холта-Винтерса–HWPREDICT,SEASONAL,DEVSEASONAL,

IF-MIB::ifInOctets.3 = Counter32: 0

версию RRDTool

DEVPREDICTиFAILURES.

 

можно найти на сайте

Число 0.5 показывает на достоверность – то есть число

IF-MIB::ifOutOctets.1 = Counter32: 444010

проекта – oss.oetiker.

отсчетов со значением *UNKNOWN*, после превыше-

IF-MIB::ifOutOctets.2 = Counter32: 2797708

ch/rrdtool/.

ния которого ячейка также принимает значение «U». В

IF-MIB::ifOutOctets.3 = Counter32: 5726

 

качестве значения должно быть использовано число в

 

• Список фронтэн-

Получитьзначениедляeth0можноприпомощикоманды

диапазоне 0-1.

дов найдешь на

Последниедвецифрыопределяютшаг(количество

snmpget,добавиввкачествепоследнегоаргументаOID.

странице oss.oetiker.

первичныхточек,которыеформируютточкуданных,

Дополнительныйпараметр '–Oqv' позволяетсократить

ch/rrdtool/rrdworld/

поступающуювархив)и,собственно,числоячеек.Базасоз-

вывод,оставивтолькозначения:

index.en.html.

дана,просмотретьинформациюонейможноприпомощи

 

 

команды:

$ snmpget -v 1 -c public -Oqv localhost \

 

 

 

146

xàêåð 11 /119/ 08

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Следим сразу за тремя серверами

IF-MIB::ifInOctets.2 IF-MIB::ifOutOctets.2 35816758 3962688

Командадлязанесенияданныхвтаблицувобщемслучаевыглядиттак:

rrdtool update file.bandwidth.rrd время:значениеDS1[:

значениеDSn]

Пишем:

$ sudo rrdtool update /usr/local/rrd/bandwidth.rrd N:\ 'snmpget -v 1 -c public -Oqv localhost IF-MIB::

ifInOctets.2':\

'snmpget -v 1 -c public -Oqv localhost IF-MIB:: ifOutOctets.2'

Вывод«rrdtoolinfo»показывает,чтоданныевбазеизменились.Если всенормально,даемпланировщикууказание,чтобыонзапускалэту командукаждые5минут.

$SuDocRonTab-e

0-55/5 * * * * /usr/local/rrdtool/bin/rrdtool update ...

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

$ ifconfig eth0 | grep "RX bytes"| awk -F: \ '{print $2}' | awk '{print $1}'

36888337

$ ifconfig eth0 | grep "TX bytes" | awk -F: \ '{print $2}' | awk ' {print $1}'

47806191

Все,–базанаполняетсязначениями.Переходимкнаписаниюскрипта дляпостроенияграфиков.

строиМграФик

Командадлясозданияграфиковдовольнолегкадляпонимания,хотя вскриптахонаобычновыглядитпугающеиз-забольшогоколичества возможныхзначений.Послеработы«rrdtoolgraph»будетсгенерирован толькографическийфайл;html-оберткудляегопоказавбраузерепри- детсярисоватьсамому.Дляудобствасоздадимскриптbandwidth-graph. shтакогосодержания:

$SuDonanobanDWIDTh-GRaph.Sh

#!/bin/sh

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

>> ХаКер.Proto BUY

 

 

 

m

w Click

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

/usr/local/bin/rrdtool graph \ /usr/local/rrd/bandwidth.png \

-a PNG -h 125 -v "Данные о загрузке eth0" \ 'DEF:in=/usr/local/rrd/bandwidth.rrd:in:AVERAGE' \ 'DEF:out=/usr/local/rrd/bandwidth.rrd:out:AVERAGE' \ 'CDEF:kbin=in,1024,/' \

'CDEF:kbout=out,1024,/' \ 'AREA:in#00FF00:Загрузка In' 'LINE1:out#0000FF:Загрузка Out\j' \

'GPRINT:kbin:LAST:Последнее значение In\: %3.2lf кБ-

сек'

'GPRINT:kbout:LAST:Последнее значение Out\: %3.2lf

кБсек\j'

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

В скрипте не указаны параметры '--start' и '--end'. С их помощью можно задать время начала и конца интервала, который попадет на график. Если они опущены, то будет выведен график за прошедшие сутки. Временной промежуток также влияет на масштаб графика. Размеры рисунка можно установить принудительно при помощи '–w' (--width) и '–h' (--height), указав значение в пикселях. Тип файла задает параметр '–a', в качестве значения можно использовать PNG|SVG|EPS|PDF. Заголовок рисунка можно оформить горизонтально '–t' или вертикально '–v'. Параметр DEF указывает на то, какие данные мы будем извлекать из RRA-записи. Затем идет имя переменной, которое будет использовано в графиках. Далее — практически все, как при «rrdtool create»: имя файла, извлекаемый параметр и функция консолидации.

А вот CDEF позволяет производить действия с извлеченными параметрами. Сюда записывается выражение в обратной польской записи (смотри блок-врезку). В данном случае значение in и out делится на 1024, результат (килобайты) записывается в kbin и kbout.

Параметры AREA и LINE показывают метод вывода указанного параметра на графике. В результате in будет показан зеленым сплошным цветом (#00FF00), а out — синей (#0000FF) полосой. Последним значением идет легенда, то есть описание параметра. Чтобы легенду напечатать под графиком, используем \j (justify).

Функция GPRINT выводит данные мониторинга. Обрати внимание: чтобы показать последнее значение параметра, вместо AVERAGE используется LAST! Теперь делаем скрипт исполняемым и запускаем:

$ sudo chmod +x bandwidth-graph.sh

$sudo ./bandwidth-graph.sh

Врезультатевкаталоге /usr/local/rrd долженпоявитьсяфайл bandwidth.png.

ничегосложного

Каквидишь,ничегосложноговRRDToolнет.Этооченьгибкаяипонятнаявработепрограмма.Посидевнемногонадскриптами,можно аналогичнымобразомстроитьграфикипоостальнымданным,выдаваемымдемономSNMPилилюбымидругимиутилитами.z

Обратнаяпольскаянотация(Обратнаяпольскаязапись,Постфикс- наянотация,Польскаяинверснаязапись,Полиз)—формазаписи математическихвыражений,вкоторойоперандырасположеныперед знакамиопераций.Так,выражению«kbin=in,1024,/»соответствуетkbin=in/1024.Удобнотем,чтопозволяетизбавитьсяотскобок, содержащихсяввыражении.

xàêåð 11 /119/ 08

147

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to BUY

 

>> units

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЖаННа «MeHoVUSHka» КоНдратьева

/ mehovuShechka@yaNDex.ru /

тайНые

зНаКи

ВНешНости

за Кулисами, или что мы прЯчем за ВНешНостью?

Собеседник еще не произнес ни слова, а ты уже многое о нем знаешь.

И это вовсе не байка из разряда «я — ясновидец», просто знание психологии внешности помогает если и не увидеть человека насквозь, то, по крайней мере, составить о нем верное представление.

Для некоторых людей умение составлять правильное

представление о других — профессиональная необходимость. Например, для педагогов, врачей или продавцов.

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

рактера. Как же они это делают, и есть ли таким способностям научное обоснование?

три типа телосложения

Первая попытка найти взаимосвязь между телосложением и характером принадлежит немецкому психологу и психиатру Эрнесту Кречмеру. Он обследовал огромное количество человек, произвел

148

xàêåð 11 /119/ 08

Соседние файлы в папке журнал хакер