Как настроить сжатие трафика

Содержание
  1. Наши советы помогут существенно понизить расход трафика мобильных устройств
  2. Как снизить потребление трафика – анализ проблемы
  3. Сократите лишнюю передачу данных в фоновом режиме
  4. Снижение расхода трафика – контроль за автозапуском
  5. Как потреблять меньше трафика – сжатие данных
  6. Снизить расход трафика – оптимизируйте музыкальные приложения
  7. Как потреблять меньше трафика – YouTube на диете
  8. Как потреблять меньше трафика – загрузите мультимедиа
  9. Снижение расхода трафика – навигация в автономном режиме
  10. Обновления приложений под контролем
  11. Как потреблять меньше трафика – порядок в приложениях
  12. Проверьте, что синхронизирует Android
  13. Android 7 – экономия трафика – радикальное решение
  14. Как делается оптимизация трафика
  15. Сжатие и дедупликация
  16. Дедупликация для шифрованных каналов
  17. Дедупликация для мобильных сотрудников
  18. Кто делает эти оптимизаторы?
  19. Подключение оптимизатора
  20. Ускорение TCP
  21. Оптимизация приложений
  22. Типовая схема подключения
  23. Результат (пример)
  24. Линейки железа
  25. Сколько стоит по прайсу?
  26. Еще элементы Riverbed:
  27. Для кого внедрял конкретно я:

Наши советы помогут существенно понизить расход трафика мобильных устройств

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

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

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

Вот 12 способов ограничить потребление трафика в смартфоне на Android. Что важно: все примеры, названия и позиции в меню получены с «чистого» Google Android 7.0 – самой популярной (по данным сайта Developers.android.com) в настоящее время версии этой системы.

Читайте также:  Пульт для телевизора lg не работает колесико

Как снизить потребление трафика – анализ проблемы

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

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

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

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

Сократите лишнюю передачу данных в фоновом режиме

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

Может случиться так, что приложение не предлагает такого варианта, однако это не означает, что Вы бессильны. Эту функцию вы найдёте в самом Android. Просто перейдите в меню НастройкиПриложения, а затем выберите интересующую программу. Здесь Вы можете отключить опцию Разрешение на фоновые данные (это запретит приложению подгружать данные в фоновом режиме через сотовую сеть, они будут загружаться только при подключении к сети Wi-Fi).

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

Снижение расхода трафика – контроль за автозапуском

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

Очевидным виновником является приложение Facebook – меню, позволяющее отключить функцию AutoPlay, Вы найдете в Настройках программы (там удастся точно определить, в какой ситуации видеозапись может автоматически начать воспроизведение). Тоже самое можно сделать в приложениях Twitter, Instagram или Snapchat.

Рекомендуем просмотреть их настройки – изменение этой опции может действительно значительно помочь в снижении потребления данных.

Более того, используя этот совет, вы не рискуете вообще ничем – каждый клип Вы всё ещё сможете запустить самостоятельно.

Как потреблять меньше трафика – сжатие данных

Ещё один пожиратель пакета интернет-трафика – браузер. Это также можно легко исправить. В самом популярном на платформе Android браузере Google Chrome есть инструмент под названием Экономия данных. Достаточно войти в настройки программы и активировать его.

Это приведёт к тому, что смартфон будет перенаправлять трафик через сервера Google, на которых он будет сжат и адаптирован для мобильных устройств – Google обещает, что благодаря этому веб-серфинг будет не только дешевле, но и гораздо быстрее и безопаснее (за счет дополнительного сканирования на наличие вредоносных программ).

Не нужно себя ограничивать только браузером Chrome, аналогичные решения есть также в Opera Mini. Разработчики оснастили это браузер стандартной функцией сжатия, как традиционных веб-страниц и видео-роликов, так и при загрузке файлов.

Снизить расход трафика – оптимизируйте музыкальные приложения

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

Самый простой способ справиться с этим – скачивать через Wi-Fi любимые песни для прослушивания в автономном режиме. Однако, не все могут и хотят использовать эту опцию (хотя бы потому, что не имеют достаточно места в памяти устройства), поэтому стоит искать альтернативные решения.

В случае Google Play Музыка следует заглянуть в меню Настройки | Качество сети. Стоит поэкспериментировать с имеющимися там настройками и проверить, действительно ли мы должны иметь высокий уровень качества звука.

Подобные функции вы найдете в других программах для прослушивания музыки, таких как Spotify (Настройки | Качество Музыки), Pandora или Deezeer. Так что стоит присмотреться к мультимедийным программам, установленным в телефоне и убедиться, что ни одна функция не потребляет больше данных, чем это нужно.

Как потреблять меньше трафика – YouTube на диете

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

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

Как потреблять меньше трафика – загрузите мультимедиа

Сервисы, предлагающие трансляцию звука и видео, доступные по подписке, являются одними из самых полезных услуг, доступных для пользователей мобильных устройств. Фактом, однако, является то, что их использование связано с расходом огромного количества трафика. Поэтому, если только это возможно, стоит подумать о предварительной загрузке – когда ваш смартфон подключен к сети Wi-Fi – музыки, которую вы собираетесь слушать, или видео, которые вы хотите посмотреть.

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

Это также относится и к YouTube – если у вас есть активная подписка на Google Premium, вы можете скачивать фильмы, доступные на сайте, для последующего просмотра (а если подписки нет, стоит рассмотреть использование приложения предлагающего подобную функцию – в магазине Google Play их очень много).

Снижение расхода трафика – навигация в автономном режиме

GPS-навигация, доступная в рамках Google Map, поглощает огромное количество трафика, однако, если это приложение регулярно сопровождает вас в дороге, загружаемые из сети данные могут принести реальную пользу. Тем более, что приложение предлагает навигацию в автономном режиме – достаточно запустить приложение, имея беспроводное подключение, спланировать маршрут, указать нужный путь, а затем нажать Сохранить на случай проблем с подключением на трассе.

Если вы сохраните больше таких маршрутов, вы можете их потом удобно управлять с помощью меню Карты в автономном режиме в Настройках.

Обновления приложений под контролем

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

Чтобы избежать этого, достаточно открыть вкладку Настройки и изменить их так, чтобы обновления загружались только тогда, когда устройство подключено к сети Wi-Fi.

Как потреблять меньше трафика – порядок в приложениях

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

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

Проверьте, что синхронизирует Android

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

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

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

Android 7 – экономия трафика – радикальное решение

В последней версии Android, носящей номер 7, было применено ещё одно интересное решение – несколько радикальное, но, в то же время очень эффективное. Это функция Экономия трафика (Data Saver), которая блокирует для большинства приложений возможность использования мобильной передачи данных, если приложение не является в настоящее время активным, то есть не используется владельцем мобильного устройства.

Однако, это средство бывает настолько «агрессивным», что в какой-то степени ограничивает функциональность устройства (путём блокировки получения уведомлений, предупреждений и т.д.), однако, эффективность в снижении потребления трафика поражает.

Источник

Как делается оптимизация трафика


«КПД» стандартного WAN – всего около 10%

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

  • Во-первых, передается очень много (до 60–70% канала) избыточной информации, которая так или иначе уже запрашивалась.
  • Во-вторых, канал загружен «болтливыми» приложениями, рассчитанными на работу в локальной сети, — они обмениваются короткими сообщениями, что негативно сказывается на их производительности в канале связи.
  • В-третьих, сам протокол TCP изначально создавался для локальных сетей и отлично подходит для малых задержек RTT и при отсутствии потерь пакетов в сети. В реальных каналах при потерях пакетов скорость сильно деградирует и медленно восстанавливается за счет больших RTT.

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

Сжатие и дедупликация

Первая проблема уже описана: в канале передается очень много избыточных дублирующихся данных. Самый яркий пример — это Citrix-ферма, в которой работают филиалы какого-нибудь банка: в отдельно взятом офисе одни и те же данные могут запрашивать 20–30 разных машин. Соответственно, канал можно было бы спокойно разгрузить на 60–70% за счет дедупликации.

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

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

Алгоритм работы дедупликации следующий:

  1. Филиал делает запрос в ЦОД;
  2. Сервер отправляет данные в офис;
  3. До того, как попасть в канал связи, данные проходят через оптимизатор на стороне ЦОДа;
  4. Оптимизатор сегментирует данные и дедуплицирует их. Данные разбиваются на блоки, каждый из которых получает короткое название — ссылка на блок;

  • Ссылки и блоки данных сохраняются в локальном хранилище — так называемом словаре;
  • Ссылки и блоки данных передаются на оптимизатор в филиале. Но перед отправкой оптимизатор ЦОДа сжимает данные по алгоритму. В итоге данных не становится больше даже при первой (холодной) передаче данных;
  • Оптимизатор филиала восстанавливает сжатые по алгоритму данные, полученные из ЦОДа, строит свой локальный симметричный словарь соответствий (блок данных — ссылка), убирает из данных ссылки и отправляет исходные данные клиенту;
  • Теперь любые данные, проходящие через оптимизаторы филиала или ЦОДа, будут проверяться на наличие дуплицированных данных. Если будет обнаружено соответствие с блоком, находящимся в словаре, то этот блок сырых данных будет заменен короткой ссылкой. Известный (уже переданный) блок не передается.
  • Остается добавить, что словарь постоянно обновляется и, благодаря специальному алгоритму, в словаре остаются самые востребованные блоки данных.

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

    Еще одна проблема заключается в том, что скорость TCP ограничена размером окна (TCP Windows Size). Размер окна — объем данных, передаваемых отправителем до получения подтверждения от получателя. При этом для передачи уплотненного трафика требуется меньше раз передавать TCP Windows Size, что ведет к увеличению скорости передачи.

    Итак, еще раз, это работает так:

    • Устройство А дедуплицирует трафик.
    • Устройство Б собирает «полную картину» из своего локального хранилища.
    • Оба этих устройства работают симметрично.
    • Оба этих устройства никак не влияют на инфраструктуру и конфигурирование всего того, что лежит за ними, то есть просто включаются в разрыв канала, например, на выходе из дата-центра и входе в региональный офис компании.
    • Устройства никак не ограничивают связь с узлами, где таких устройств нет.

    Дедупликация для шифрованных каналов

    Шифрованный канал явно хуже подходит для сжатия и дедупликации, то есть практической пользы от работы с уже шифрованным трафиком почти нет. Поэтому оптимизаторы включаются в разрыв до устройства шифрования: ЦОД отдает данные оптимизатору, оптимизатор отдает на шифровку (например, в защищенный VPN-канал), на той стороне трафик расшифровывается и отдается оптимизатору на месте, а тот уже отдает их в сеть. Это штатная функция «коробочек-оптимизаторов», и все это происходит без снижения рисков компрометации трафика.

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

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

    Кто делает эти оптимизаторы?

    Мы используем решения компании Riverbed. Эта компания была основана в 2002 году, а в 2004 году представила свою первую модель оптимизаторов для каналов связи. Продукты и решения Riverbed, включая оптимизацию WAN-сетей, управление производительностью, доставку приложений и ускорение работы хранилищ данных, дают возможность ИТ-специалистам увеличивать производительность и управлять ею. Оптимизаторы очень просто интегрировать в сеть. Самый простой способ — установка «в разрыв» со стороны LAN до маршрутизатора или VPN-шлюза.


    Конкурентные решения. Компания Riverbed в 2013 году заняла 50% рынка сегмента WAN-оптимизации.

    С точки зрения коммерческого директора заказчика, это несколько коробок, которые после простого включения в сеть ускоряют медленные каналы в 2–3 раза и снижают загрузку каналов от 2 раз. За это их любят почти все!

    Подключение оптимизатора

    Самый простой и надежный способ — «в разрыв» между граничным маршрутизатором и коммутатором ЛВС. Если оптимизатор выходит из строя, он замыкает контакты интерфейсов LAN и WAN — и трафик просто проходит через него, как через обычный кросс-кабель. Соответственно, видя неоптимизированный трафик, оптимизатор на той стороне также просто пропускает его через себя без обработки.

    Соответственно:

    • Связь филиала с оптимизатором и ЦОДа с оптимизатором – трафик оптимизируется.
    • Связь филиала без оптимизатора и ЦОДа с оптимизатором – оптимизатор ЦОДа просто прозрачно пропускает трафик без изменений.
    • Связь филиала с оптимизатором и ЦОДа с оптимизатором при выходе любого из оптимизаторов из строя – трафик просто не сжимается и ходит «как есть».

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

    Ускорение TCP

    Скорость работы TCP ограничена размером окна. Окно — это количество информации, которое сервер может отправить клиенту до получения подтверждения о получения.

    Стандартное поведение TCP выглядит так:

    • медленный разгон соединений, размер TCP-окна увеличивается;
    • при потерях пакетов — резкое падение в скорости (уменьшение окна в 2 раза);
    • и снова медленное ее увеличение (увеличение окна);
    • снова потери пакетов и проседание полосы и так далее.


    Оранжевая «пила» на графике – стандартное поведение TCP

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

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

    Вот ряд режимов, доступных для ускорения TCP:

    • режим HighSpeed TCP — здесь скорость достигает максимума куда быстрее, чем при обычной работе с TCP. При потерях он не так низко и не так сильно проседает, как стандартный TCP;
    • режим MaxTCP — использует 100% полосы без замедлений. Пакет теряется — замедление не происходит. Однако этот режим требует настройки правил качества обслуживания QoS для определения ограничений доступной полосы пропускания, которую может занимать MX-TCP трафик;
    • режим SCPS — разработан специально для спутниковых каналов связи. Здесь полосы не ограничиваются, как в MaxTCP. SCPS отлично адаптируется к плавающим характеристикам спутниковых каналов.

    Оптимизация приложений

    Многие приложения «болтливы», то есть могут отправить до 50 пакетов тогда, когда достаточно одного. Как я уже говорил, это следствие проектирования под локальные сети, а не под работу через каналы «дальней» связи. С использованием оптимизаторов число проходов туда-обратно уменьшается более чем в 50 раз.

    Вот как это выглядит:

    Оптимизаторы выступают в роли прозрачных прокси на седьмом уровне для ряда самых распространенных прикладных протоколов.

    Оптимизатор ЦОДа выступает в роли клиента по отношению к серверу. Оптимизатор филиала выступает в роли сервера по отношению к клиентам. Таким образом, неэффективное, «болтливое» общение приложений остается в локальной сети. Между оптимизаторами обмен сообщениями приложения происходит в более подходящем для каналов связи виде — уменьшается количество сообщений.

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

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


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

    Типовая схема подключения

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

    Результат (пример)


    Зеленый – WAN-трафик. Синий – LAN-трафик. Без оптимизатора Riverbed они были бы одинаковыми.


    Выделенная колонка показывает процент сжатия по TCP-портам.

    Линейки железа

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

    Младшая модель подходит даже для маленького интернет-магазина: она от 1 мегабита в секунду и 20 каналов. А флагман поддерживает до 150 000 одновременных открытых соединений на каналах 1,5 гигабита в секунду. Если этого недостаточно, используется балансировщик Inteceptor. Кластеры из балансировщиков и оптимизаторов позволяют работать с каналом до 40 гигабит в секунду с открытым одновременно 1 миллионом соединений.

    Сколько стоит по прайсу?

    Младшая модель — примерно от 100 тысяч рублей, устройство для средних ЦОД — 1,1 млн рублей, для крупных ЦОДов — от 5,5 млн рублей. При этом цена достаточно сильно меняется в зависимости от конкретных схем использования, плюс могут быть скидки, поэтому названные числа сугубо примерные, лучше уточняйте по почте (она есть в конце топика). Окупаемость таких решений для среднего и крупного бизнеса просчитать достаточно легко, просто прикинув, что у вас освободится от 30 до 60% канала (опять же, конкретный показатель с точностью до 10% я смогу назвать по почте в зависимости от типа утилизации канала), а пользователи не будут жаловаться на тормоза приложений.

    Еще элементы Riverbed:

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

    Для кого внедрял конкретно я:

    Я не имею права называть всех заказчиков, но могу сказать, что решение Riverbed для оптимизации трафика использовалось для:

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

    Источник

    Оцените статью