Windows. Железо. Интернет. Безопасность. Программы
  • Главная
  • Интернет
  • Оптимизация работы оборудования. Виртуализация серверов - системы для оптимизации затрат купить любой конфигурации подбор параметров и стоимость выбор по цене и расчет Настройка видов URL-страницы

Оптимизация работы оборудования. Виртуализация серверов - системы для оптимизации затрат купить любой конфигурации подбор параметров и стоимость выбор по цене и расчет Настройка видов URL-страницы

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

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

Проект Server Optimization актуален в случаях:

  • отсутствия централизованной системы хранения и восстановления данных;
  • проблем с производительностью SQL-серверов;
  • проблем в работе приложений;
  • отсутствия системы обеспечения отказоустойчивости дата-центра;
  • оценки готовности и целесообразности миграции ИТ-инфраструктуры в облака;
  • отсутствия общего понимания состояния инфраструктуры баз данных и виртуальной среды.
    Управляйте серверной средой эффективнее:
    Технический аудит инфраструктуры баз данных SQL
    Обнаружение проблем настройки серверов «Тонкая» настройка SQL-сервера – непростая задача даже для администратора баз данных с достаточным опытом работы. Мы проведем исчерпывающий анализ настроек системного уровня, таких как настройки памяти по умолчанию, партиционирование, параллельные сессии, кэширование, диски, настройки резервного копирования и др.

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

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

    Анализ логов ошибок и обнаружение критических проблем Логи ошибок – основной источник информации о работе базы и проблемах в приложениях, использующих эту базу. Нашими специалистами разработан собственный инструментарий для анализа проблем и поиска методов их устранения. Как правило, любой проект обязательно содержит анализ логов серверов БД, на основе чего даются рекомендации по оптимизации. 

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

    Создание отказоустойчивой архитектуры Разработка архитектуры базы с режимом работы 24x7 с временем простоя не более 2 часов в год предполагает увеличение количества серверов, детальную проработку программной части и исключение единой точки отказа. Мы поможем решить подобную задачу, а кроме того, вы получите политику резервного копирования и восстановления как исполняемого кода БД, так и всех данных.

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

    Оптимизация баз данных для работы с конкретными приложениями Мы проводим оптимизацию и настройку базы данных MS SQL и Oracle для работы бизнес-приложений, таких как системы управления документооборотом, системы управленческого учета, портальные решения и др. При выполнении работ мы руководствуемся рекомендациями поставщиков программного обеспечения по настройке ПО, а также собственным опытом оптимизации БД под различные виды пользовательской нагрузки.

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

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

    Получите точный расчёт проекта у наших или узнайте, как провести обследование без затрат с вашей стороны при поддержке вендора.

  • Необходимость оптимизации серверной операционной системы

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

    4. Обновление Операционной Системы Unix

    1. В нижней правой стороне панели видим значок Менеджера обновлений. Нажимаем на него мышкой

    Рисунок 20

    2. Как и любая, уважающая себя и своих пользователей, современная система, Linux Mint 14 запросит ввести административный пароль для внесения изменений в систему. Введите его и нажмите на ОК:


    Рисунок 21

    3. Последует проверка репозиториев на наличие новых версий программ и пакетов для Linux Mint 14:


    Рисунок 22

    Этот процесс закончится открытием Менеджера обновлений со списком обновленных пакетов:


    Рисунок 23

    Все обновляемые пакеты подразделяются по уровням, поэтому, думаю, напомнить будет о этих уровнях не лишне


    Рисунок 24

    4. После того, как мы выбрали все, что хотели обновить (или оставили все пункты отмеченными), нажимаем на кнопку "Установить обновления":


    Рисунок 25

    5. Менеджер обновлений Linux Mint 14 уведомит и покажет информацию о тех обновлениях, что будут установлены

    Рисунок 26

    После того, как вы согласитесь, начнется процесс получения и обновления Linux Mint 14 до актуального состояния


    Рисунок 27

    После окончания обновления в нижней части Менеджера вы увидите вот такое сообщение

    Рисунок 28

    Означает, что ваша система не требует обновления и все программы в ней актуальны.

    Организация рабочего места

    Для улучшения рабочего места необходимо предпринять следующие меры:

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

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

    3. Расположение часто используемых вещей не должно приводить к долгому нахождению в какой-либо искривленной позе;

    4. Освещение рабочего места не должно вызывать блики на экране монитора. Нельзя ставить монитор рядом с окном, так чтобы вы одновременно видели и экран и то, что находится за окном;

    5. .При работе с клавиатурой, угол сгиба руки в локте должен быть прямым (90 градусов);

    6. При работе с мышкой кисть должна быть прямой, и лежать на столе как можно дальше от края.

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

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

    В производственных помещениях оптимальные условия труда определяются в основном температурой в сочетании с влажностью и движением воздуха. Оптимальными условиями являются температура 20-220 С, относительная влажность воздуха 30-60%, скорость его движения не выше 0,2 м/с. Для рабочей зоны эти параметры определяются с учетом времени года, категории работ, количества выделяемого в помещении тепла. Главными причинами развития утомляемости и снижения работоспособности человека являются шум и вибрация. Они раздражают органы слуха, вызывают утомляемость человека и могут привести к функциональным изменениям в центральной нервной системе, системе кровообращения и т.д. Различные физические и химические факторы действуют одновременно, при этом их взаимное влияние на человека может усиливаться или ослаблятся.

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

    Оптимизация операционной системы (FreeBSD)

    • Переход на 7.х является полезным для многоядерных систем, так как можно использовать новый ULE 3.0 Scheduler и jemalloc. Если вы применяете систему legacy 6.x и она не справляется с нагрузками, то самое время произвести переход на 7.х.
    • Переход на 7.2 позволит увеличить KVA, оптимизировать по-дефолту sysctl и применять superpages. Уже готовится новый FreeBSD 8.0, который поможет значительно увеличить производительность.
    • Переход на amd64 даёт возможность увеличить объёмы KVA и Shared Mem больше 2Gb. Необходимо создать условия для развития сервера, ведь базы данных постоянно увеличиваются и требуют больших размеров.
    • Разгрузка сетевой подсистемы во FreeBSD поможет оптимизировать сервер. Этот процесс можно произвести в два этапа: тюнинг параметров ifconfig и настроек sysctl.conf/loader.conf. На этапе подготовки следует проверить возможности сетевой карты. Драйверы от Яндекса помогут увеличить скорость благодаря задействованию нескольких потоков, они часто применяются для многоядерных процессов. Для третьесортной сетевой карты лучшим решением станет polling’e. Последняя обновлённая версия тюнинга FreeBSD 7 поможет решить поставленную задачу.
    • FreeBSD и огромное количество файлов замечательно работают благодаря кешированию имён файлов в директории. Поиск по хеш-таблице поможет быстро найти необходимый файл. Хотя максимальное количество памяти около 2Мб, можно её увеличивать пока vfs.ufs.dirhash_mem это позволяет.
    • Softupdates , gjournal и mount options – это новые терабайтные винты, которые обладают прекрасной производительностью. При отключении электропитания их fsck займёт очень много времени, поэтому можно использовать softupdates или производить журналирование через gjournal.

    Оптимизация фронтэнда (nginx)

    Этот вид можно отнести в преждевременной оптимизации, хотя он поможет увеличить общий response time сайта. Среди стандартных оптимизаций стоит обратить внимание на reset_timedout_connection; sendfile; tcp_nopush и tcp_nodelay.

    • Accept Filters – это технология, которая даёт возможность передавать информацию от ядра к процессу в случае прихода новых данных или получения валидного http запроса. Эти фильтры помогут произвести разгрузку сервера при огромном количестве соединений.
    • Кеширование в nginx характеризуется гибкостью, и производится от fastcgi или от proxy backend’ов. Каждый сможет по-умному использовать кеширование в своём проекте.
    • AIO является очень полезным при некоторых специфичных нагрузках на сервер, ведь он сохраняет response time, в то время как уменьшается число воркеров. Новые версии nginx дают возможность использовать тандем aio с sendfile.

    Оптимизация бэкэнда

    • APC – это фреймворк, который позволяет уменьшить нагрузку благодаря кешированию скомпилированного кода в ОП. APC locking стоит обновить, так как он может тормозить и вместо APC многие начинают применять eAccelerator. Стоит произвести замену locking на spinlock или pthread mutex. Значение APC hints стоит поднимать при огромном количестве.php файлов или при частом кешировании в APC user cache. APC fragmentation является признаком того, что вы применяете APC не по назначению. Он не может самостоятельно заниматься удалением записей по TTL или LRU.
    • PHP 5.3 поможет увеличить прирост производительности, поэтому стоит обновить версию PHP, хотя список deprecated функций может напугать многих.

    Оптимизация базы данных

    Идей по улучшению работы MySQL есть очень много в интернете, ведь каждый веб-проект рано или поздно сталкивается с ограничениями объёма памяти, диска или процессора. Поэтому простые решения не помогут справиться с проблемой, стоит уделить больше времени профайлерам (dtrace, systemtap и oprofile), а также задействовать большое количество дополнительного программного обеспечения. Необходимо не только в совершенстве уметь использовать индексы, производить их сортировку и группировку, но также знать, как это всё функционирует внутри MySQL. Также необходимо знать преимущества и недостатки разных storage engine, понимать Query cache и EXPLAIN.

    Существует несколько способов оптимизации MySQL, причём даже без изменений кодов, ведь половину тюнинга сервера можно осуществлять в полуавтоматическом режиме с помощью утилит tuningprimer, mysqltuner и mysqlsla.

    • Переход на 5.1 даёт много преимуществ, среди которых стоит выделить оптимизацию оптимизатора, Partitioning, InnoDB plugin и Row based replication. Для ускорения работы сайта некоторые экстремалы уже тестируют версию 5.4.
    • Переход на InnoDB даёт много преимуществ. Он совместим с ACID, поэтому любая операция производится с помощью всего одной транзакции. Он имеет row-level locking, который даёт возможность одновременно читать и записывать много потоков изолированно друг от друга.
    • Встроенный кеш MySQL – Query Cache является достаточно сложной для понимания, поэтому многие пользователи его используют нерационально или отключают. Для него больше не означает лучше, поэтому не стоит доводить эту подсистему до максимума. Query Cache является распараллеленной, в результате при использовании больше восьми процессов она будет только тормозить весь процесс, а не способствовать уменьшению времени загрузки сайта. Содержимое этой подсистемы, которое относится к определённой таблице, аннулируется при изменениях в этой таблице. Это означает, что Query Cache даёт положительный результат только при использовании грамотно составленных таблиц.
    • Индексы могут быть вредными как для SELECT (при их отсутствии), так и для INSERT/UPDATE (при наличии лишних). Индекс, которым уже не используется, всё равно занимает память и тем самым замедляет изменения данных. Чтобы справиться с этой проблемой, стоит воспользоваться простым SQL запросом.

    PostgreSQL

    Система Postgres является достаточно разносторонней, ведь она относится к классу Enterprise и на ней прекрасно работает Skype, но в то же время её можно установить даже на мобильный телефон. Среди доступных 200 параметров, 45 из них являются основными и отвечают за тюнинг.

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

    • Индексы PostgreSQL всегда на первом месте, в том время как у MySQL они занимают всегда последние позиции и это можно объяснить тем, что у PostgreSQL индексы обладают огромными возможностями. Программист должен прекрасно ориентировать в таких индексах, и знать когда и какой следует использовать, как GiST, GIN, hash и B-tree, а также partial, multicolumn и on expressions.
    • pgBouncer и его альтернативы необходимо в первую очередь устанавливать на сервер с базой данных. Без наличия пулера соединений, каждый запрос создаёт отдельный процесс, который используется оперативную память. Вроде ничего страшного, но при создании более 200 соединений даже очень мощный сервер с трудом справляется с обработкой информации. pgBouncer помогает справиться с этой проблемой.
    • pgFouine является незаменимой программой, так как её можно смело назвать аналогом mysqlsla на php. В тандеме с Playr она может осуществлять оптимизацию запросов в сложных условиях на staging серверах.

    Разгрузка базы данных

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

    • SphinxQL можно использовать в качестве MySQL сервера. Для этого только нужно создать sphinx.conf, а также записи для indexer в cron и произвести переключение на другую базу. При этих действия даже нет необходимости изменять код. Переход на SphinxQL поможет повысить скорость и качества поиска, а также забыть о MyISAM и FTS.
    • Не-RDBMS хранилище позволяет не применять реляционную БД. Можно остановить свой выбор на Hive или Oracle. База данных key-value благодаря своей скорости применяет выборки из реляционных баз для дальнейшего кеширования. Владельцы крупных проектов на PHP, могут использовать отличную возможность opcode cache для хранения всех custom данных. С его помощью можно надёжно сохранить даже перемены глобального значения, ведь они занимают мало места и практически не занимают память, а также скорость выборки значительно повыситься. Если для большого проекта блок глобальных перемен записать только на одну машину, то трафик вырастает, и она начинает сильно тормозить. Для решения этой проблемы необходимо хранить глобальные переменные в opcode cacher’e или произвести клонирование переменных по всем серверам и в алгоритме consistency hashing прописать исключения.
    • Кодировки относятся к действенным методам разгрузки базы данных. Стоит отметить, UTF-8 – это прекрасный выбор, но на русском языке она занимает очень много места, поэтому для одноязычного контингента сначала следует подумать о рациональном использовании кодировки.
    • Асинхронность поможет уменьшить время реакции приложения или сайта, а также существенно понизить нагрузку на сам сервер. Batch запросы производятся намного быстрее, чем привычные одиночные. Для огромных проектов можно использовать сообщения RabbitMQ, ApacheMQ или ZeroMQ, а для малых можно задействовать всего лишь cron.

    Дополнительные приложения для проведения оптимизации

    • SSHGuard или его альтернатива является стандартной практикой для ssh. Анти-брутфорсы помогают создать надёжную защиту сервера от нападок ботов.
    • Xtrabackup от Percona – это прекрасный инструмент для бэкапа MySQL, который обладает большим количеством настроек. Но идеальным решением всё же стоит назвать клоны в ZFS, ведь они создаются очень быстро, а чтобы произвести восстановление БД, достаточно изменить пути к файлам в конфигурации мускула. Клоны позволяют произвести восстановление системы с нуля.
    • Перенос почты на другой хост позволит спасти трафик и IOPs, если ваш сервер просто засыпают спамами.
    • Интеграция со сторонним программным обеспечением поможет произвести оптимизацию mysql сервера. Например, для обмена сообщениями можно использовать связку smtp/imap, которая не займёт много памяти. Для создания чата достаточно использовать основу jabber сервера с javascript клиентом. Эти системы, которые созданы на основе адаптеров к готовым продуктам, отличаются прекрасной возможностью масштабирования.
    • Мониторинг – это очень важная составная часть, ведь невозможно осуществлять оптимизацию чего-либо без детального анализа. Необходимо следить за метриками производительности, свободными ресурсами и задержками, в этом поможет Zabbix, Cacti, Nagios и другие инструменты. Web Performance Test позволяет вычислить скорость загрузки сайта или проекта, поэтому очень помогает при мониторинге. При настройке performance сервера, помните, что только тщательный анализ поможет устранить все возникшие проблемы и произвести оптимизацию.

    Не поняли половины из написанного — не беда.

    ", направление "Системы передачи данных".

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

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

    Централизация ресурсов и данных демонстрирует вышеописанные преимущества, но есть различные «подводные камни», которые должны иметь в виду организации, планирующие оптимизировать IT-инфраструктуру. Одна из проблем, с которой они столкнутся, это − снижение производительности приложений. Популярность распределенной модели вычислений была в основном обусловлена необходимостью держать IT-ресурсы как можно ближе к пользователям распределенной сети, чтобы обеспечить максимальную производительность. Консолидация серверов в центре изменяет схему распределения ресурсов на прямо противоположную и поэтому производительность многих приложений ухудшается.

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

    Глобально, такие решения оптимизации WAN могут сократить расходы организаций несколькими способами:

      уменьшить стоимость пропускной способности каналов связи. Фактически, организации смогут обойтись без приобретения дополнительной пропускной способности, что является для многих компаний ключевым условием при старте проектов по внедрению WAN-оптимизаторов;

      консолидировать инфраструктуру в центре обработки данных. Компании смогут убрать из удаленных офисов значительную часть IT-инфраструктуры (файловые и почтовые серверы, серверы распространения ПО, порталы SharePoint, ленточные накопители и т. п.) без потерь в производительности и управляемости;

      упростить инфраструктуру удаленного офиса. Некоторые производители предлагают в своих устройствах программную платформу, которая позволяет пользователям размещать некоторые, оставшиеся после консолидации ЦОД, сервисы (например, сервер печати, сервер DHCP, файловые сервисы) непосредственно на устройстве оптимизации. Это дает возможность еще больше сократить эксплуатационные расходы.

    Что же представляет собой WAN-оптимизация? Решение оптимизации функционирования сетевых приложений использует клиент-серверную архитектуру и сессионный принцип работы сетевых приложений. Основная его задача — оптимизация сессий приложений. По сути, это совокупность устройств для улучшения работы приложений, устанавливаемых в центре и в каждом региональном (локальном) офисе компании. Они пропускают через себя весь трафик, «перехватывая» и оптимизируя рабочие сессии приложений.

    Существует некоторое количество производителей, предлагающих решения в области оптимизации передачи трафика по протяженным WAN-каналам. К наиболее известным из них на российском рынке относятся компании Riverbed (с продуктом SteelHead), Cisco (продукт WAAS), Juniper (продукт WXC) и BlueCoat (продукт ProxySG).

    Процесс оптимизации предлагаемого ими оборудования основан на примерно одинаковых механизмах, к которым относится компрессия данных, кэширование, оптимизация работы TCP-протокола и оптимизация логики функционирования самих бизнес-приложений.

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

    Механизмы компрессии способны ускорить передачу данных за счет повышения информативности передачи информации в единицу времени. Чаще всего, данные, передаваемые по сети, представлены в неоптимальном формате и имеют неоправданно большой объем. Сейчас, при активном использовании в разработке приложений, например, языка XML или других языков представления информации в текстовой форме, нет нужды заботиться о представлении данных. Это повышает скорость и простоту разработки, но одновременно приводит к тому, что по сети передаются, по сути, неструктурированные данные, внося в трафик большие объемы избыточности.

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

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

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

    Важным отличием от обычных кэширующих устройств является тот факт, что оптимизаторы разбивают информацию на части/блоки и уже их сохраняют на жесткий диск. Это интересно с той точки зрения, что если мы изменим часть информации в заново передаваемом файле (например, вставим слайд или картинку в документ), то будет передано именно изменение, а не весь файл целиком. Механизмы динамического разбиения передаваемой информации на блоки и отслеживание изменений являются проприетарными и не подлежат разглашению. Если говорить об особенностях работы, то производители используют 2 подхода. Отличительной чертой первого из них является его унифицированность, т.е. при передаче одного файла в разные филиалы в центральном оптимизаторе будет сохранена всего одна копия файла для всех удаленных устройств оптимизации. Во втором случае пространство жесткого диска динамически разбивается пропорционально количеству удаленных офисов (удаленных оптимизаторов), и в случае передачи одного файла всем филиалам аналогичная копия будет отражена в каждом сегменте жесткого диска, «отвечающему» за свой филиал.

    Очевидно, что механизм кэширования работает в паре с механизмом компрессии. Именно благодаря этим двум механизмам, производители оптимизаторов показывают красивые графики, где уровень оптимизации может достигать 150-200Х. Нам удавалось получать такие же данные при многократных пересылках одного и того же объемного файла данных, поскольку после первой передачи он сохранялся в кэш устройств и далее передавались лишь килобайты ссылок, указывающих на место файла в жестком диске. Здесь сразу возникает логичный вопрос - каков объем жесткого диска и можно ли к оптимизаторам подключать внешние хранилища? Некоторые производители как-то упоминали о возможности появления такого рода оборудования, (но оно уже будет предназначено исключительно для установки в ЦОД).

    Механизмы TCP-оптимизации работают на транспортном уровне. Это основное «поле битвы» производителей оптимизаторов до того, когда они стали «взбираться» на уровни выше (прикладной). Транспортный протокол TCP разработан в 1980 г., и сегодня не претерпел серьезных изменений, тогда как технологии передачи данных серьезно изменились. При потере пакетов стандартный TCP-протокол резко снижает скорость - практически вдвое, и ее увеличение от этого уровня в дальнейшем происходит линейно и небольшими шагами. Поэтому, даже сравнительно небольшой уровень потери пакетов (2-3% потерь считается нормальным), приводит к частым и резким потерям скорости работы сети.

    Оптимизированный протокол TCP при возникновении потери снижает скорость не в 2 раза, а всего на несколько процентов, а при одиночной потере пакетов скорость снижается совсем незначительно. Получается, что решение оптимизации функционирования сетевых приложений увеличивает в первую очередь скорость передачи информации. Максимальное заполнение всей полосы каналов передачи данных обеспечивается улучшенным порядком работы протокола TCP.

    Механизмы оптимизации уровня приложений предлагают ускорение работы самих бизнес-приложений через WAN-каналы. Именно реализация некоторых протоколов в популярных продуктах, к сожалению, далека от совершенства. В частности, протокол CIFS (Common Internet File System), активно использующийся в сетях Microsoft, создает избыточный объем служебных сообщений (подтверждение доставки, готовность устройств и т.п.). В локальной сети эти излишки не вносят существенной задержки во время отклика, но в распределенной сети становятся значимыми. Устройства оптимизации умеют обрабатывать большую часть малозначимых сообщений локально, без передачи через WAN, уменьшая объем трафика и сокращая время отклика ряда функций сетевых приложений, таких как сетевая печать, доступ к файловым сервисам, и т.п. Собственно, на сей день как раз в этой области и происходит конкурентная борьба у производителей. К наиболее часто оптимизируемым протоколам следует отнести CIFS, NFS, MAPI, Video, HTTP, SSL и Windows printing. Этот «джентльменский набор» присутствует в портфеле почти любого производителя, а вот оптимизируют их по-разному.

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

    Нетрудно догадаться, что все оптимизаторы работают с TCP-based приложениями, а значит остальной трафик проходит сквозь, без оптимизации. То же самое можно сказать и про шифрованный трафик (исключение, пожалуй, составляет SSL - многие оптимизаторы могут «порвать» сессию, произвести оптимизацию трафика, и обратно зашифровать).

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

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

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

    Наиболее часто встречаемое решение по оптимизации - это, конечно, Cisco WAAS. Хороший маркетинг вендора, неплохое решение и стратегия развития делают свое дело. С появлением серии доступных и надежных WAVE позиция Сisco еще сильней укрепилась.

    Решение WXC от Juniper отличается тем, что весь трафик упаковывается в UDP-туннель, т.е. оптимизация происходит над всем трафиком. В таком подходе, безусловно, есть свои преимущества. К ним я бы отнес достаточно высокое «среднее по больнице» значение оптимизации над всем трафиком (на основе тестирования у одного крупного заказчика).

    Riverbed пришел в Россию не так давно, но активно развивает партнерскую сеть. Имеет веские преимущества перед решениями конкурентов (напр., грамотный механизм кэширования, оптимизация приложений), но высокая цена за решение пока мешает росту его популярности.

    Резюмируя все вышесказанное, хочется отметить, что WAN-оптимизация - решение интересное, довольно прозрачное для бизнеса, но, к сожалению, пока еще не получившее большой востребованности в российских компаниях. На основе внедрений получалось добиться уменьшения трафика в среднем в 2-3,5 раза и значительно ускорить отклики приложений. К примеру, у одного нашего заказчика, на спутниковых линиях, было сохранено порядка 20 часов откликов при месяце тестирования. А нашей компании внедрение данного решения позволило достигнуть двукратной экономии при оплате сетевого трафика, а также увеличить скорость работы корпоративных приложений в среднем в 1,7 раза. При этом срок возврата инвестиций в проект составил всего 3 месяца.

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

    Лучшие статьи по теме