- Процес оптимізованої доставки оновлень
- Умови роботи нової технології
- Як налаштувати оптимізацію доставки
- Параметри (нова панель управління)
- групові політики
- Дискусія і опитування
Наша команда-партнер Artmisto
28 липня Microsoft почала доставку Windows 10 на мільярд ПК . Обсяг трафіку страхітливий, але далі буде простіше, тому що в новій ОС доставка оновлень і збірок Windows оптимізується за допомогою технологій P2P.
Думаю, ви прекрасно знайомі з технологією децентралізованої закачування P2P (Peer to Peer). Ви відкриваєте в клієнті .torrent або посилання-магніт, а бажаний файл завантажується дрібними фрагментами з інших комп'ютерів. У Windows 10 доставка оновлень і нових збірок працює приблизно так само.
Microsoft вже опублікувала в довідці FAQ за новою технологією, але технічних подробиць там практично немає. Тому сьогодні я копицю трохи глибше і поділюся з вами результатами своїх спостережень і експериментів.
Процес оптимізованої доставки оновлень
На стороні клієнта робота покладена на службу оптимізації доставки (DoSvc), що працює під парасолькою мережевих служб в рамках процесу svchost.exe. Служба запускається при старті системи в відкладеному режимі.
Серверну сторону складають сервіси Windows Update і CDN (мережі доставки контенту), які можуть бути і сторонніми. Так, Microsoft відома співпрацею з компанією Akamai, що володіє серверами по всьому світі і зв'язками з безліччю локальних провайдерів, що прискорює доставку файлів на клієнтські ПК.
Я зобразив на діаграмі процес отримання оновлень при стандартних налаштуваннях системи. Тут багато стрілок, і нижче я поясню їх суть.
збільшити малюнок
- При перевірці оновлень ваш ПК (в центрі) звертається до служби Windows Update на серверах Microsoft.
- Windows Update повертає вашому комп'ютеру список доступних оновлень і призначає джерела їх доставки: CDN і найближчі ПК в Інтернеті (наприклад, комп'ютери в мережі вашого провайдера).
- Ваш ПК починає отримувати фрагменти файлів від CDN, а також комп'ютерів в Інтернеті і вашої локальної мережі. На відміну від CDN, з окремими комп'ютерами йде двосторонній обмін фрагментами, як в торрент.
Після закачування контрольна сума кожного фрагмента перевіряється на клієнті. Припустимо, на діаграмі вище планшет в Інтернеті пішов в сон і припинив роздачу. Всі фрагменти, що не докачати з цього пристрою, будуть відкинуті і завантажені заново з інших ПК або CDN.
Фрагменти файлів невеликі, тому витратами трафіку при сходженні з роздачі можна знехтувати. На зображенні ви бачите очима Fiddler доставку інсайдерської збірки фрагментами по 1Mb (втім, тут все вони тягнуться з серверів Microsoft).
збільшити малюнок
Умови роботи нової технології
Довідка не дає повної картини, тому наведені нижче відомості засновані в тому числі на результатах моїх експериментів і здоровому глузді. Простіше перерахувати ситуації, в яких оптимізація доставки не працює:
- на лімітних підключених щоб уникнути витрати трафіку. Це написано в довідці.
- При роботі пристрою від батареї, оскільки фонова роздача споживає ресурси ПК, а як наслідок - садить батарею. Експериментами це нелегко визначити, але після кількох спроб у мене є всі підстави вважати, та й здоровий глузд підказує.
- При нестачі місця на диску. Якийсь обсяг даних кешируєтся локально з метою подальшої роздачі. Цікаво, що в попередніх збірках у ряду користувачів кеш помилково розростався до непристойності. Знову ж, мої експерименти не дали однозначної відповіді, але логічно припустити, що розробники передбачили сценарій з відсутністю вільного простору.
- У Windows 10 Mobile (?). Це виключно моє припущення. Смартфони по своїй натурі мобільні і далеко не завжди підключені до Wi-Fi, так і заряд батареї треба економити. Тому я дуже здивуюся, якщо P2P буде працювати в мобільній ОС.
Як налаштувати оптимізацію доставки
Після установки функція включена і налаштована на максимальне прискорення закачування.
3 хвилини тому включив планшет, скачав оновлення на дефендер і з'ясувалося, що збірка вже завантажена. Ось чудеса з цим delivery optimization.
- Roman (@rlinev) June 29, 2015
Творці Windows передбачили тонке налаштування в новій панелі управління і за допомогою групових політик.
Параметри (нова панель управління)
Зазвичай, я даю пошуковий запит, але поки пошук російською мовою в параметрах працює дуже погано.
- Відкрийте Параметри → Оновлення та безпеку → Центр поновлення Update
- Натисніть Додаткові параметри, потім Виберіть, як і коли отримувати оновлення.
Тут ви можете тонко налаштувати доставку, виключивши з рівняння комп'ютери в Інтернеті, або повністю відключити нову можливість.
До честі Microsoft, пояснення нових можливостей вельми докладні. Ці ж параметри можна налаштувати в реєстрі, як ви побачите нижче.
групові політики
Тут є нестиковка. Відповідно до щойно випущеним довідником політик Windows 10 , Політики нового компонента повинні бути в адміністративних шаблонах за адресою Windows Components \ Delivery Optimization (Компоненти Windows \ Оптимізація доставки). Але я їх там не бачу ні в англійській, ні в російській версії збірки 10240. Можливо, в систему забули покласти шаблон політики.
Так чи інакше, всі політики прописуються в реєстрі. В даному випадку - в розділі:
HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ DeliveryOptimization
У довіднику перераховані п'ять політик, які задаються параметрами DWORD.
- DODownloadMode - це фактично еквівалент налаштувань в параметрах. Він приймає значення:
- 0 - оптимізація доставки повністю відключена
- 1 - комп'ютери в локальній мережі
- 2 - комп'ютери в локальній мережі, а також в зазначеному домені або групі. Цією настройки немає в графічному інтерфейсі. Стандартну поведінку - P2P в локальній мережі і домені, в який входить ПК. Але можна вказати конкретний SID домену або GUID групи (див. DOGroupId нижче), тим самим чітко контролюючи список ПК, що беруть участь в обміні файлами.
- 3 - ПК в локальній мережі і ПК в Інтернеті
- DOGroupId - ідентифікатор GUID групи, до якої належить ПК. Ви можете використовувати цей параметр для:
- обмеження числа ПК, що беруть участь в P2P, в домені з великою кількістю користувачів
- створення єдиної групи комп'ютерів, що беруть участь в P2P, в філіях з різних доменів / локальних мереж
- MaxUploadBandwidth - максимальна швидкість віддачі в KB / s
- MaxCacheSize - максимальний розмір кешу в процентах від обсягу диска
- MaxCacheAge - максимальний термін зберігання кожного фрагмента в кеші
Використовуючи три останніх параметра, ви можете призначити окремі ПК організації в якості основних сидов з великим довгограючим кешем і максимальною швидкістю віддачі.
Дискусія і опитування
Зіткнувшись з необхідністю доставляти на мільйони ПК величезні дистрибутиви, Microsoft впровадила в Windows 10 нову і дуже цікаву технологію. Доставку виправлень теж не варто скидати з рахунків - прискорений цикл розробки, напевно, позначається на якості, що виливається в більшу кількість випущених оновлень.
Буквально пару днів назад по Інтернету прокотилася хвиля новин, пов'язаних з оптимізацією доставки, причому їх тон був негативним. Критика зводилася до того, що Windows 10 витрачає трафік і щось відправляє в Інтернет без попиту ( «з коробки» функція включена).
Так, добре було б запитати користувачів, але не дуже зрозуміло, як це зробити ненав'язливо. В голову приходить хіба що настройка параметрів при установці, але більшість обирає рекомендовані і не бачить подробиць. А якщо спочатку відключити оптимізацію доставки, то і сенсу в новій функції ніякого не буде - переважна більшість людей ніколи не дізнається про неї і не включить.
А що ви думаєте про цю технологію? Напишіть в коментарях, як ви налаштуєте оптимізацію доставки! Опитування, як зазвичай, дасть кількісний розклад.
PS Пара моментів по темі оновлень:
Результати голосування загублені в зв'язку з припиненням роботи веб-сервісу опитувань.