Как добиться высокой производительности сети
Когда речь идет о настройке производительности и оптимизации Windows NT, основное внимание обычно уделяется NT Server. Хотя необходимость оптимизации NT Server не подлежит сомнению, не менее важно обеспечить приемлемую производительность и рабочей станции. Чего хорошего в быстрых серверах, если клиентские рабочие станции, подключенные к этим серверам, работают еле-еле? Скорее всего для выполнения своей повседневной работы вы используете NT Workstation и постоянно ищите пути увеличения сетевой производительности рабочей станции. Я подготовил перечень наиболее эффективных, с моей точки зрения, методов увеличения сетевой производительности и настройки рабочих станций с NT. Эти методики очень легко реализовать и они могут помочь вам увеличить сетевую производительность со своих настольных клиентов NT.
Суровые сервисы
Больше — не всегда значит лучше. Чем больше серверов и приложений вы используете одновременно, тем медленнее будет работать ваша система. Каждое приложение отнимает память у ОС и увеличивает нагрузку на процессор. Вероятно, вы уже проконтролировали и ограничили число пользовательских приложений, которые запускаются во время сеанса работы (например, удалив необязательные приложения из группы Startup), но не забудьте столь же критично оценить список фоновых сервисов, которые используются в вашей рабочей станции (то есть сервисов, которые утилита NT Setup автоматически устанавливает при инсталляции NT).
Вы можете улучшить сетевую производительность, проверив список сервисов своей рабочей станции NT и удалив необязательные сервисы, расходующие важные системные ресурсы. Деинсталлируйте сервисы в апплете Services в Control Panel. Выберите сервис, который вы хотите удалить, затем укажите на Startup и выберите опцию Disable в диалоговом окне Startup Type. К примеру, сервисы Computer Browser и Server на вашей рабочей станции — первые кандидаты на отключение.
Сервис Computer Browser. Многие пользователи считают, что для просмотра сети их рабочие станции требуют использования сервиса Computer Browser. Мне приходилось встречать людей, уверенных в том, что отключение этого сервиса в первую очередь скажется на возможностях просмотра информации в Internet. Сервис Computer Browser — это компонент сервисов анализа ресурсов сети, используемых Windows NT. Однако, этот сервис берет на себя серверные компоненты операций просмотра сети Windows и отвечает за участие в выборах браузера (то есть в определении, какая машина в сетевом сегменте является основным браузером для данного протокола), регулярно извещая о сервере машины, выбранные в качестве основных для сегмента и для домена браузеров и составляя список доступных серверов в сети.
Вы можете отключить сервис Computer Browser на большинстве клиентов NT, поскольку он не влияет на способность системы получать от основных браузеров сегмента списки ресурсов сети. Отключение этого сервиса не только уменьшает число потенциальных основных браузеров в сетевом сегменте, тем самым сокращая объем трафика при выборах браузера, но и может помочь стабилизировать процесс просмотр сети с целью обеспечения согласованности списков ресурсов сети, создаваемых при просмотре. Хотя рабочие станции NT не участвуют в этой конкурентной борьбе браузеров, от чего так страдали более ранние версии Windows, рабочие станции NT могут безосновательно считать, что они являются основными браузерами. Списки просмотра ресурсов сети в обязательном порядке должны поддерживаться на ваших серверах NT, поэтому они являются единственными машинами, где этот сервис должен быть включен. (Более подробную информацию о настройках браузеров см. врезку «Оптимизация сервиса Computer Browser».
Сервис Server. Сервис Server в операционной системе NT представляет собой компонент сетевых служб NT Server Message Block (SMB или иначе Common Internet File System, CIFS). Этот сервис имеет критически важное значение для большинства серверов NT, особенно для серверов файлов, но на рабочих станциях NT, которые выполняют роль сетевых клиентов, сервис Server нужен далеко не всегда. Хотя этот сервис расходует память, ресурсы процессора и сетевые ресурсы вашей рабочей станции, отключение сервиса Server не приводит к освобождению большого объема оперативной памяти. Однако, пользователи небольших компаний или потребительских станций Windows NT, доступ которых в Internet осуществляется не через межсетевой экран, получат немалые преимущества от такой модификации. Отключение сервиса Server делает практически невозможным проникновение нарушителей, стремящихся получить доступ к файлам или записям Registry на вашей рабочей станции, поскольку этот сервис управляет совместным использованием данных ресурсов. Однако, при отключении сервиса Server, пользователи не могут совместно использовать системные ресурсы, такие как файлы и печать, а администраторы теряют возможность получить удаленный доступ к Registry на этой машине.
Получите ли вы преимущества от отключения сервисов, зависит от конфигурации вашей сети и ваших требований. В Таблице 1 перечислены потенциально ненужные сервисы рабочей станции NT, которые можно отключить, чтобы увеличить производительность вашей рабочей станции.
Удаление протоколов
Экран 1: Удаление необязательных протоколов. |
Как и в случае с сервисами на рабочей станции, использование необязательных протоколов приводит к нерациональной трате системных ресурсов и снижению сетевой производительности. Установите только те протоколы, которые требуются рабочей станции для функционировании в вашей сетевой среде. (Для того, чтобы добавить или удалить протоколы, нажмите кнопки Add или Remove во вкладке Protocols апплета Network на Control Panel, как показано на Экране 1). Вы можете определить единый протокол в качестве стандартного для всей сети в том случае, если для обеспечения интероперабельности вашей сети дополнительные протоколы не требуются (например, как в гетерогенных сетях, которые содержат операционные системы, не поддерживающие протокол IP). Однако иногда шлюзы позволяют определить в качестве стандартного для гетерогенной сети один общий протокол. Например, сервисы Gateway Services for NetWare в NT Server обеспечивают интероперабельность Novell NetWare без IPX, а Microsoft SNA Server предлагает совместимость SNA Hosr без Data Link Control (DLC). Протокол TCP/IP обычно является наилучшим кандидатом на роль единого протокола, поскольку он обеспечивает хорошую производительность и интероперабельность с несколькими ОС и Internet, и вы можете использовать его в среде глобальной сети. Кроме того, большинство сетевых серверов печати поддерживают TCP/IP (например, платы HP JetDirect), поэтому вы можете отказаться от других протоколов для обеспечения связи с сетевыми принтерами.
Еще одна причина сокращения числа протоколов в сети состоит в том, что просмотр ресурсов сети выполняется отдельно для каждого протокола, то есть, если вы используете три сетевых протокола (к примеру, NetBEUI, TCP/IP и IPX), то приходится трехкратно выбирать браузер. В некоторых случаях разные машины могут выступать в роли основных браузеров для различных протоколов в одном и том же сетевом сегменте. И, как следствие, все эти просмотры увеличивают уровень нагрузки в сети, чего можно избежать.
Экран 2: Просмотр сетевых привязок. |
На первый взгляд возможность сократить число протоколов, используемых в сети, выглядит очень заманчиво, но как быть в ситуации, когда необходимо поддерживать в сети несколько протоколов? Ничего страшного. Вы можете оптимизировать производительность даже в многопротокольной среде. Чтобы убедиться, что вы используете оптимальную конфигурацию сети, обратитесь к вкладке Bindings апплета Networks на Control Panel. Эта вкладка определяет функциональность и порядок отдельных сетевых протоколов и наборов сервисов в NT. Хотя некоторые сервисы и протоколы не могут быть привязаны к конкретному протоколу или типу сетевой платы (к примеру, DLC не может работать с сетевыми платами RAS), зачастую на вашей рабочей станции для каждого установленного сервиса определено несколько привязок, в том числе привязки для нескольких сетевых плат и протоколов. Для того, чтобы просмотреть сетевые привязки для сервиса, протокола или сетевой платы, вы можете обратиться к вкладке Bindings, как показано на Экране 2. Для каждой указанной сетевой платы можно определить порядок приоритетов, который NT использует для обслуживания конкретных сетевых сервисов и протоколов данной платы и указать, активирована ли конкретная привязка. (Хотя вы можете подключать или отключать отдельные привязки в каждом из представлений (отдельно для сервисов и протоколов), изменить порядок приоритетов отдельных привязок разрешено только в представлениях all services и all protocols).
Во вкладке Bindings определите, какие протоколы вам необходимы и для каких плат, а также проанализируйте возможность отключить все необязательные привязки. Помимо плат для локальной сети во вкладке Bindings перечислены виртуальные сетевые платы, созданные RAS. На рисунке перечислены платы RAS и DUN как записи Remote Access WAN Wrapper. Отключите отдельные сетевые привязки для плат, которым не требуется конкретный протокол или сервис. Например, если в своей локальной сети вы используете TCP/IP и NetBEUI, но для коммутируемых соединений RAS вам требуется только NetBEUI, отключите привязку NetBEUI для платы локальной сети. Удаление необязательных привязок упростит конфигурацию вашей сети и поможет уменьшить избыточный сетевой трафик.
Последний и самый экстремальный способ оптимизировать производительность протоколов и привязок в многопротокольной среде — это установить несколько сетевых плат или одну многопортовую сетевую плату для каждого адаптера и оставить только один транспортный протокол, привязанный к каждому адаптеру. При выборе для протокола сетевой платы или порта сетевой платы, убедитесь, что на данной плате не возникнет никаких конфликтов с трафиком другого протокола. Однако я рекомендую этот метод только в том случае, если вы устанавливаете сетевые платы для различных сетевых сегментов. Если вы устанавливаете сетевые платы для одного и того же сетевого сегмента, может возникнуть конфликт имен NetBIOS, поскольку различные адаптеры локальной сети регистрируют одно и то же имя NetBIOS рабочей станции.
Если вы решите не отключать необязательные сетевые привязки, то по крайней мере убедитесь, что каждая из них занимает правильное место в списке привязок. Решите, какие протоколы вы обычно используете на адаптере и измените порядок протокольных привязок так, чтобы он отражал выбранные приоритеты.
Используйте представление all services для того, чтобы выяснить, какие протоколы вы используете чаще всего, поскольку это представление позволяет вам увидеть все три уровня сетевых привязок: сервисы, протоколы и сетевые платы. Вы также можете использовать представление all protocols для оптимизации порядка сетевых плат для каждого протокола; однако это представление не включает в себя привязки, относящиеся к сервисам. Управление порядком привязок для протоколов и сервисов поможет обеспечить оптимальную обработку сетевого трафика в NT и гарантировать, что преимущественное право имеют самые важные для вас протоколы и сетевые платы.
Определите место для NetWare
Обычно поддержка дополнительных протоколов в NT нужна в том случае, если рабочая станция NT установлена в сети, где используются две операционные системы: NT и NetWare. Вы можете сконфигурировать рабочую станцию с помощью компонента Client Services for NetWare операционной системы NT или предлагаемой компанией Novell программы переадресации запросов (редиректора) для NetWare. Если на вашей рабочей станции установлены несколько редиректоров (например, редиректор SMB по умолчанию для сетевой деятельности Microsoft и клиентский редиректор NetWare), то NT необходимо указать приоритетный порядок передачи имен для каждого редиректора. Чтобы установить этот порядок, нажмите на кнопку Network Access Order на вкладке Sevices апплета Networks на Control Panel (эта кнопка появляется только в том случае, если присутствует несколько редиректоров).
Экран 3: Изменение порядка приоритетов сетевого доступа в NT. |
Multiple Universal Naming Provider (MUP) передает запросы на разрешение имен сначала одному сетевому редиректору, а затем другому, с учетом порядка, который вы определяете в диалоговом окне Network Access Order, представленном на Экране 3. В частности, когда вы используете имя, удовлетворяющее требованиям Uniform Naming Convention (UNC) (к примеру, BIGSERVERAPPS), чтобы указать сервер или совместно используемый ресурс, NT должна решить, какому из редиректоров первому переслать это имя. Если вы вручную не сконфигурировали, какому из редиректоров NT отдает приоритет, то NT может передать запрос на разрешение имени самой неподходящей из доступных сетей. Если вы используете одну из сетей чаще, чем другую, и NT передаст запрос менее используемой сети, возникнет задержка, поскольку NT передает запрос на разрешение имен первой сети, ждет, пока истечет установленное время ответа, только после этого передает запрос второй сети. Эта ситуация усугубляется, если обе сети, NT и NetWare, вы используете одинаково часто и в диалоговом окне Network Access Order сеть NT указана первой. NetWare быстро отвечает на запрос о разрешении имен, а время, отведенное на обработку аналогичных запросов в сетях Microsoft может достигать 13 секунд. Так что, в том случае, если сети NT и NetWare используются с одинаковой частотой, укажите NetWare в списке первой.
Вдобавок, диалоговое окно Network Access Order позволяет назначить различным редиректорам приоритеты при обращении с запросом, связанном с ресурсами файлов или печати. Использование подобной конфигурации может дать вам реальное преимущество, если, к примеру, ваша компания перевела свои серверы файлов на NT, но все очереди печати остались в сети NetWare. Более подробную информацию о порядке редиректоров в списке можно найти в статье «Connectivity Delay with Multiple Redirectors Installed» (http://www. support/microsoft.com/support/kb/articles/ q171/3/86.asp). Кроме того, Service Pack 4 (SP4) тоже касается вопросов увеличения производительности, связанных с изменением порядка редиректоров.
На производительность вашей рабочей станции влияет и то, как вы используете команду Net Use для определения соответствия ресурсов (например, в сценариях регистрации) в сети NT и NetWare. Ниже приводится команда Net Use, по умолчанию, имеющая следующий синтаксис:
net use :где drive — это имя локального диска, для которого вы определяете соответствие, server — это сервер NT или NetWare, а resource — ресурс или разделяемый объект, соответствие которого вы определяете. Однако, этот синтаксис определяет формат команды Net Use, ориентированный на требования Microsoft. В результате, этот синтаксис вызывает серьезные задержки в тех случаях, когда вы запускаете сценарий регистрации на рабочей станции, где редиректор Microsoft в диалоговом окне Network Access Order указан первым, но соответствие определено для ресурсов в обеих сетях. В этой ситуации использование следующего альтернативного формата команды Net Use может значительно сократить время, которое требуется рабочей станции на получение соответствующих ресурсов NetWare.
net use : :
где drive — это имя локального диска, для которого вы определяете соответствие, server — это сервер NetWare, а resource — это том NetWare, соответствие которого вы определяете. При использовании этого формата команды Net Use редиректор NT «понимает», что вы планируете послать запрос редиректору NetWare и туда его и передает.
Увеличьте пропускную способность кэш-памяти
Вы можете также увеличить производительность за счет оптимизации системной кэш-памяти NT. NT использует системную кэш-память для кэширования сетевого ввода/вывода или файлового ввода/вывода. Таким образом, вы можете оптимизировать производительность за счет увеличения размера системной кэш-памяти на рабочей станции, которая выполняет ресурсоемкий сетевой ввод/вывод. Вы можете легко увеличить системную кэш-память на машине с NT Server, указав на Properties и выбрав Maximize для опции File Sharing во вкладке Services в апплете Network на Control Panel. Этот выбор изменяет значение Registry и указывает NT, что следует отдать предпочтение резервированию кэш-памяти перед резервированием оперативной памяти в системных процессах. (Более подробную информацию об этих изменения в Registry можно найти в статье «Set Sail for Uncharted NT Performance», сентябрь 1997 год). Однако, если вы попытаетесь использовать этот метод для увеличения размера системной кэш-памяти в системе NT Workstation, вы обнаружите, что опция Properties для сервиса Server не доступна.
Чтобы увеличить зарезервированную кэш-память на вашей рабочей станции, в Regestry измените значение ключа HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlSessionManagerMemory-Management LargeSystemCache типа REG_DWORD с 0 на 1. При одинаковой тестовой нагрузке, с помощью специальной утилиты определите параметры производительности сети до и после внесенных изменений. (Более подробную информацию об этом процессе можно найти во врезке «Утилиты для определения производительности»). Это изменение может не только не улучшить, но даже ухудшить производительность. К примеру, в системах, в которых практически нет свободной памяти, увеличение размера системной кэш-памяти может усилить интенсивность обмена страниц диска, что негативно скажется на производительности.
Пользуйтесь AutoPilot
Хотя изменение конфигурации сети и подсистем NT может привести к росту производительности, этот процесс пугает пользователей, не знакомых с внутренней структурой NT и работой с Registry. Предлагаемый компанией MCSB Technology модуль AutoPilot P/SA (http://www.MSCD.com) представляет собой программную утилиту, которая динамически настраивает среду NT так, чтобы всегда поддерживать максимальную производительность. AutoPilot P/SA использует алгоритмы нечеткой логики и нейронных сетей для анализа всех аспектов вашей операционной системы и аппаратного обеспечения. Я отметил это преимущество такого решения, установив AutoPilot P/SA на сервере приложений с высокой нагрузкой. Этот продукт абсолютно необходим администраторам и опытным пользователям, которые хотят выжать каждую каплю производительности из своих систем NT.
Выберите себе производительность
В данной статье я рассказал о методах, которые вы можете использовать для того, чтобы помочь увеличить сетевую производительность ваших систем NT Workstation. Хотя дразумеваемая конфигурация NT Workstation и обеспечивает хорошую производительность, за счет простых изменений вы можете ее значительно увеличить.
Об авторе
Син Дейли — сертифицированный инженер Microsoft и президент iNTellinet Solutions — интеграторской и консалтинговой компании, занимающейся вопросами сетей. Дейли ведет рубрику в журнале Windows NT Magazine и является автором книг Optimazing Windows NT (IDG Books) и Migrating to Windows NT 4.0 (29th Street Press). С ним можно связаться по адресу sean@ntsol.com.
Оптимизация сервиса Computer Browser |
Для избыточности я бы рекомендовал в каждом из сетевых сегментов всегда иметь по крайней мере две машины, на которых работает сервис Computer Browser. Если сегмент не содержит по крайней мере двух серверов Windows NT, назначьте рабочую станцию NT в качестве резервного основного браузера. Чтобы сервер появился в списке просмотра, но не рассматривался как потенциальный сервер-браузер (то есть, чтобы создать сервер, не выполняющий просмотр сетевых ресурсов), в Regestry измените значение ключа HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBrowserParametersMaintain-ServerList типа REG_SZ и значение по умолчанию «Auto». Если это значение равно «No», тогда машина будет использоваться как сервер, не выполняющий просмотр, но при этом будет сообщать о себе основному браузеру сегмента. Если вы устанавливаете это значение в «Yes», тогда машина будет действовать как сервер-браузер и участвовать в выборе серверов-браузеров. Чтобы увеличить производительность одной или нескольких систем NT в сетевом сегменте, измените в Regestry ключ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBrowserParametersIsDomainMaster типа REG_SZ и значение по умолчанию «False». Если это значение равно «True», то машина станет предпочтительным основным браузером. Наконец, вы можете скрыть машину, чтобы она не попала в списки ресурсов сети, набрав следующую команду в командной строке: net config server /hidden:yes Эта команда устанавливает в Regestry ключ HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesLanman-Server ParametersHidden в 1. К машине будут обращаться как к сетевому серверу, но пользователям придется вручную ввести имена и пути к серверу и его совместно используемым ресурсам в формате Uniform Naming Convention (UNC) — машина не появится в списках ресурсов сети. После того, как вы сделали эти изменения, вы должны перезапустить сервис Server или перезагрузить машину. Кроме того, может потребоваться более 50 минут на то, чтобы машина была удалена из списка ресурсов сети из-за политики окончания срока действия сервисов просмотра сети в Windows. |
Таблица1: Потенциально необязательные сервисы NT Workstation | ||
Сервис | Функция | Причины отключения |
Computer Browser | Позволяет системе использоваться в качестве основного браузера и участвовать в выборах браузеров. | Вы не хотите, чтобы машина рассматривалась в качестве потенциального основного браузера в сетевом сегменте. |
Server | Реализует серверный компонент SMB (или иначе CIFS) в системе NT. | Вы не хотите совместно использовать ресурсы печати или файлы на машине или нет необходимости поддерживать удаленный доступ к Registry. |
Alerter | Посылает административные предупреждения получателям, указанным в диалоговом окне Alerts апплета Server на Control Panel. | Вам не нужна эта машина для пересылки административных уведомлений. |
Messenger | Посылает и получает сообщения, которые появляются на консоли получателя. | Вам не нужна эта машина для рассылки или получения сообщений, появляющихся на консоли. |
Remote Access Autodial Manager | Уведомляет систему об использовании DUN удаленных сетях. | Вы не заинтересованы в установке коммутируемых соединений соединений и хотите, чтобы пользователи вручную инициировали соединения DUN. |
Утилиты определения производительности |
Чтобы определить, повлияло ли изменение конфигурации системы на сетевую производительность, вы должны иметь возможность определить параметры производительности своей системы. Для тестирования сетевой производительности клиента и сервера существует множество различных утилит, от базовых программ до высокоуровневых механизмов тестирования, которые предоставляют широчайший диапазон возможностей тестирования и генерации отчетов, ориентированных на конкретные приложения. Среди недорогих и простейших решений можно отметить утилиты ServerBench и NetBench компании Zigg-Davis (http://www.zdbop.com). С другой стороны, вы можете приобрести семейство продуктов Dynameasure компании Bluecurve (http://www.bluecurve.com), в состав которого входят продукты для тестирования емкости серверов файлов и печати, а также серверов, работающих с Microsoft Exchange Server, SQL Server и Oracle. Хотя Dynameasure стоит довольно дорого, этот пакет обеспечивает достаточно возможностей, чтобы удовлетворить требования даже самого вдумчивого администратора, занимающегося настройкой производительности. |