faq по серверам, сетям, 1с и т. д.
  Задержка
 

 

Миф - низкая скорость из-за задержек.

Задержки имеют существенное значение только в интерактивных приложениях требующих изменения данных синхронно с удаленными в течении не более 300 миллисекунд. Обычно это исключительно игры. Большинство других приложений некритично к задержкам, хочу акцентировать внимание - это относится и к VoIP(IP-телефонии) - задержка по магистральным трансатлантическим каналам в США может составлять до 300ms, однако это не создает больших проблем. Скорость передачи данных зависит от времени передачи пакета между серверами, но существуют параметры в настройках операционных систем призванные устранить снижение скорости из-за большого времени передачи. А именно это размер "окна" TCP пакета. Принцип работы TCP/IP таков, что данные передаются "окнами" - которые являются блоками данных определенной величины, и каждый из этих блоков требует подтверждения. При увеличении задержки стандартный блок данных слишком мал, и соответственно увеличение времени передачи пакетов сильно снижает скорость обмена данными. Однако практически во всех современных операционных системах есть возможность увеличить стандартный размер "окна" до нужного, тем самым увеличив максимальную скорость передачи данных. Многие спутниковые провайдеры в рекомендациях к настройке имеют приложенные "патчи" или программы для коррекции размеров "окна" TCP, с их помощью большинство пользователей без проблем достигают скоростей 1 Мбит/с, и это не предел. Также существуют альтернативные протоколы и технологии, разработанные специально для работы через спутник, к примеру совместный проект "Satax", созданный зарубежной компанией для отечественного крупнейшего реселлера спутникового интернета

 Некоторые секреты оптимизации:

Увеличение скорости передачи информации

Оптимизация некоторых параметров системного реестра может ускорить TCP/IP подключение к Интернету. Это возможно, так как параметры, установленные по умолчанию в «Windows», не оптимизированы для модемного подключения. Все настройки вступают в силу после перезагрузки компьютера.

Оптимизация максмального размера TCP пакета (9x,Me)

Откройте ключ:

(9x,Me) [ HKEY_LOCAL_MACHINEEnumRootNetyyyyBindings ],

где «yyyy» подключ типа «0000, 0001...», в котором содержится параметр с именем «DeviceDesc» и значением «Контроллер удаленного доступа» .
Найдите в ключе «Bindings» параметр с именем MSTCPxxxx. Цифры после «MSTCP» — идентификатор Вашего контроллера удалённого доступа (ID). Запомните
эти цифры и откройте ключ:

(9x,Me) [ HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClassNetTransxxxx ],

где «xxxx» — найденный ранее ID.
Добавьте здесь новый параметр с именем «MaxMTU» (string — строковый) и значением равным «576», также добавьте параметр с именем «MaxMSS» (string — строковый) и значением равным «536».

«MTU» («Maximum Transfer Unit» — «максимальный передаваемый блок»). Передача данных в сети осуществляется пакетами. «MTU» — это размер пакета, который может передаваться в конкретной сети без дробления на ещё более мелкие фрагменты. При установке «Windows» это значение по умолчанию равно 1500 байт, что является оптимальным при скоростях соединения более 128000 В/sec. Реальная скорость Dial-Up соединения (модем и телефонная линия), по крайней мере, в три раза ниже и машрутизаторы, управляющие передачей этих пракетов, настроены, обычно на размер MTU, равный 576 байт. Таким образом, при попытке разделить 1500 на 576 получается, что после дробления каждый третий пакет будет иметь 228 байт балласта, что отрицательно скажется на скорости.

«MaxMTU» не обязательно должен быть равен «576», иногда хорошие результаты дают также значения:
«512, 552, 556» для «Dial-Up» и
«1006, 1024, 1064, 1152» для «ISDN».

«MaxMSS» («Maximum Segment Size» — «максимальный размер сегмента»). Каждый передаваемый по сети пакет (MaxMTU) состоит из блока данных (MaxMSS) и служебной информации, необходимой для работы маршрутизаторов. Эта служебная информация занимает в пакете 40 байт (20 байт IP и 20 байт TCP), то есть MaxMSS=(MaxMTU-40).

Оптимизация максмального размера TCP пакета (NT,2000,XP)

(NT,2000,XP) [ HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters ].

Добавьте здесь новый параметр с именем «MTU» (dword) и значением равным «0x00000240(576)». Смысл параметра такой же как и у «MaxMTU».

Оптимизация размера «Окна заполнения»

(9x,Me) [ HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDMSTCP ].

Добавьте здесь новый параметр с именем «DefaultRcvWindow» (string — строковый) и значением равным «4288».

«DefaultRcvWindow» (RWIN — «Receive WINdow» — «окно заполнения»). Это буфер данных (в байтах), заполнения которого ожидает Ваша система, прежде чем проявит активность. По умолчанию он равен «8192» и должен быть кратен параметру «MaxMSS». (Обычно, для лучшей эффективности модемного соединения кратность рекомендуется устанавливать равной 4-8, чем хуже качество связи, тем меньше значение.) Если кратность не соблюдается, RWIN автоматически округляется в большую сторону. При недостаточном размере этого буфера иногда происходит его переполнение, и поступающие пакеты отвергаются и теряются. Однако чрезмерно большой размер буфера также нежелателен, особенно на плохих линиях — при потере всего одного пакета в случае сбоя на линии будет повторно затребован не один потерянный пакет, а все пакеты из этого буфера, что займет некоторое время.

Оптимизация «Времени жизни пакета»

(9x,Me) [ HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDMSTCP ].

(NT,2000,XP) [ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters ].

Добавьте здесь параметр с именем «DefaultTTL» (string — строковый) и значением равным «128».

«DefaultTTL» («Time To Live» — «время жизни пакета»). Это время (в секундах), в течение которого возможно перемещение пакета по сети. Этот параметр хранится в зоне служебной информации каждого пакета (поле «Время жизни») и на узлах сети с каждой секундой уменьшается на единицу. Значение «TTL» также уменьшается на единицу при передаче с одного маршрутизатора на другой, даже если секунда ещё не прошла. Если передаваемый пакет находится на промежуточном узле сети, а время жизни истекло, пакет уничтожается. По умолчанию значение «DefaultTTL» — «32».

Для работы в «Internet» рекомендуется установить его равным «64» и, даже, «128» секунд.

Максимальный размер окна для приёма TCP пакетов

(NT,2000,XP) [ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters ].

Добавьте здесь новый параметр с именем «TCPWindowSize» (dword) и значением в байтах. Этот параметр определяет количество байтов, которые отправитель может передать, не получая подтверждения. По-умолчанию используется значение «0x00002238(8760)».

Рекомендуемые значения:

  • Для модема — «0x00002238(8760)»,
  • DSL, кабельный модем — «0x0002da00(186880)»,
  • T1 и выше — «0x0003ebc0(256960)».

Выборочная передача поврежденных данных

(2000,XP) [ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters ].

Добавьте здесь новый параметр с именем «SackOpts» (dword) и значением «1». Данная опция включает поддержку «Selective Acknowledgement» (SACK). Если пакет или ряд пакетов TCP потеряны, то получатель может сообщить отправителю, какие данные были получены, а какие нет.

Автоматическое определение размера TCP пакета

(9x,Me,NT,2000,XP) [ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters ].

Добавьте здесь новый параметр с именем «EnablePMTUDiscovery» (dword) и значением «1», чтобы автоматически определять размер «MTU». Если опция включена, то «Windows» сама подбирает оптимальное значение «MTU», однако процедура его вычисления для каждого соединения требует времени, что чуть тормозит работу при закачке небольших файлов и открытии страниц.

Увеличение максимального количества соединений с сервером

(2000,XP — IE5 и выше) [ HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings ].

Добавьте здесь новый параметр с именем «MaxConnectionsPerServer» (dword) и значением равным максимальному количеству соединений с сервером по спецификации HTTP 1.1 (по умолчанию — два), также добавьте параметр с именем «MaxConnectionsPer1_0Server» (dword) и значением равным максимальному количеству соединений с сервером по спецификации HTTP 1.0 (по умолчанию — четыре). Значения, обычно, подбираются экспериментальным путём. Чем выше скорость соединения, тем ощутимее будет эффект от настройки этих параметров. При скорости 26400 B/sec он практически незаметен.

Обнаружение «Чёрных дыр»

(9x,Me) [ HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDMSTCP ].

Добавьте здесь новый параметр с именем «PMTUBlackHoleDetect» (dword) и значением «0x00000001(1)». По умолчанию этот параметр отключён — «0x00000000(0)». Установка этого параметра разрешает протоколу TCP пытаться обнаружить никуда не ведущие маршрутизаторы и те, что не возвращают ICMP-сообщений о необходимости фрагментации при определении наилучшего MTU. Эта также, как и любая дополнительная процедура, может замедлять работу в Интернете.

Увеличение числа буферов переадресации сервера

(NT) [ HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanWorkstationParameters ].

Добавьте здесь новый параметр с именем «MaxCmds» (dword) и значением в диапазоне от «0 до 255», а также параметр с именем «MaxThreads» (dword) и значением равным значению «MaxCmds» и, наконец, параметр с именем «MaxConnectionCount» (dword) и значением в диапазоне от «0 до 65535» .

Конкретные значения подбираются экспериментальным путём.

«MaxCmds» — число буферов переадресации сервера, увеличение числа которых может увеличить сетевую производительность. По умолчанию — «15». Каждая дополнительная линия связи, которую Вы сконфигурируете, будет дополнительно занимать 1КБ памяти, но только тогда, когда Ваши программы фактически используют эту связь.

«MaxConnectionCount» — буфер для записи имен каналов. Значение по умолчанию — «16».

Оптмизация размера кэша NDI

(9x,Me) [ HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDNWLinkNdiparamscachesize ].

Измените здесь значение строкового параметра с именем «Default» (По умолчанию).

«NDI Cache» (Network Device Interface Cache) — кэш, в котором хранятся данные о маршрутах движения пакетов, по умолчанию его размер равен нулю.

Чтобы его задействовать наиболее оптимально, необходимо установить его размер равным «16» при модемном соединении или «32» при более скоростных подключениях.

Включение поддержки TCP окон больше 64Кб

(2000,XP) [ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters ].

Добавьте здесь новый параметр с именем «Tcp1323Opts» (dword) и значением «1», для включения опции. Рекомендуется для сетей с большой пропускной способностью

Уменьшение времени соединения

·  Щёлкните правой кнопкой мыши пиктограмму "Сетевое окружение» на «Рабочем столе», в появившемся контекстном меню выберите пункт «Свойства», в открывшемся диалоговом окне дважды щёлкните строку «Клиент для сетей Microsoft» и на вкладке «Общие» включите опцию "Быстрый вход» . Это позволит при входе в сеть не тратить время на поиск и подключение сетевых дисков (восстановление сетевых подключений), особенно если их не было вообще.

·  Дважды щёлкните «Мой компьютер» на «Рабочем столе» и откройте папку «Удалённый доступ к сети» . Щёлкните правой кнопкой мыши «Удалённое соединение», которое Вы используете для соединения с Интернетом, в появившемся контекстном меню выберите пункт «Свойства», в открывшемся диалоговом окне откройте вкладку «Тип сервера» . Скиньте флажок опции «Вход в сеть», которая подразумевает вход в локальную сеть, в данном случае, в локальную сеть Вашего провайдера, куда он Вас, разумеется, не пустит, поэтому не стоит тратить на это время.

Опцию «Сжатие данных» оставьте включённой, остальные — выключите.

В разделе «Допустимые сетевые протоколы» оставьте только «TCP/IP», так как остальные нужны только при наличии локальной сети, тем более что протокол «NetBEUI» теоретически позволяет подключиться к компьютеру без Вашего ведома.

·  Когда Вы вводите адрес сайта в адресную строку своего браузера, он, сначала, соединяется с DNS («Domain Name System» — «доменной системой имен»), которая преобразует этот адрес (имя) в IP-адрес компьютера (сервера), где этот сайт находится и, после этого, происходит соединение с искомым компьютером (сервером).

Кстати, более подробно это выглядит так:

  • DNS-клиент посылает локальному DNS-серверу рекурсивный запрос (DNS-сервер обязательно отвечает на рекурсивный запрос, посылая либо запрошенную информацию, либо сообщение об ошибке. При этом DNS-сервер не может перенаправить клиента к другому DNS-серверу), в котором просит определить IP-адрес для запрашиваемого узла (например, «win-da.by.ru»). Локальный сервер имен отвечает за распознавание имени и не может перенаправить клиента к другому DNS-серверу.
  • Локальный DNS-сервер просматривает свои зоны (так называемые «зоны ответственности» (zone of authority) — части пространства имен домена, за которые отвечает конкретный сервер имен. Сервер имен хранит IP-адреса для всех имен из зоны его ответственности и обслуживает все запросы клиентов к этим именам) и не находит зону, содержащую указанное имя домена. Тогда он посылает к корневому серверу имен итеративный запрос (на итеративный запрос DNS-сервер выдает наилучший ответ из имеющихся у него. В нем может содержаться разрешенное имя или ссылка на другой DNS-сервер) о запрашиваемом узле.
  • Корневой DNS-сервер, ответственный за корневой домен (зона ответственности сервера имен охватывает как минимум один домен, который и называют корневым доменом зоны (zone root domain)), возвращает IP-адрес сервера имен для домена верхнего уровня — «.ru».
  • Локальный DNS-сервер посылает DNS-серверу домена «.ru» итеративный запрос о запрашиваемом узле.
  • «DNS»-сервер домена «.ru» возвращает IP-адрес сервера имен, обслуживающего домен второго уровня («by.ru», в нашем случае) и так далее, в зависимости от количества уровней.
  • В конце концов, локальный DNS-сервер посылает клиенту IP-адрес запрашиваемого узла («win-da.by.ru», в нашем случае).

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

  • Использовать возможность кэширования IP-адресов. Для этого нужно создать в папке, в которой у Вас установлена «Windows» (обычно, [C:WINDOWS]), текстовый файл с именем «HOSTS» (для «Windows NT» — с именем «LMHOSTS», он также используется в «9х» при наличии локальной сети). Обратите внимание на отсутствие расширения. В него нужно внести IP-адреса компьютеров (серверов), на которых расположены посещённые Вами сайты.

Кстати, выглядеть он должен, примерно, так:

194.135.30.190 freesoft.kulichki.net #2002-04-01 01:19:59
195.239.216.26 freesoft.nsk.su #2002-03-12 04:53:11
217.23.144.17 freesoft.ru #2002-03-12 04:58:22
210.59.147.153 ftp.asus.com.tw #2002-07-19 00:21:57
212.123.225.148 ftp.asuscom.de #2002-07-19 02:44:45
195.170.248.210 ftp.kaspersky.com #2002-03-11 00:31:52
195.170.248.210 ftp.kasperskylab.ru #2002-03-12 03:24:37
и т.д.

После знака «#» идёт комментарий.
В директории «Windows» есть файл-образец (Sample) — [C:WINDOWSHOSTS.SAM] и [C:WINDOWSLMHOSTS.SAM]

При наличии этого файла в каталоге «Windows», Ваш «Internet Explorer» будет сначала обращаться к нему в поисках IP-адреса и лишь затем к DNS-серверу, что даст экономию времени.

Понятно, что вручную вносить IP-адреса дело неблагодарное, тем более что существуют программы, предназначенные специально для этого. Например, «Fastnet» (которая сама автоматически создаст файл «HOSTS») или, так называемый, локальный кэширующий DNS-сервер, например, «Naviscope».

  • Многие программы, предназначенные для сохранения и автономного просмотра посещённых веб-страниц, также кэшируют и IP-адреса. Например, «NetSonic» или «InterQuick».
  • Кроме того можно вводить вместо имени сервера сразу его IP.

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

Просто бизнес | Просто о сложном.



 
  Сегодня было уже 2 посетителей здесь!  
 
Этот сайт был создан бесплатно с помощью homepage-konstruktor.ru. Хотите тоже свой сайт?
Зарегистрироваться бесплатно