Неспроможність потокового Apple



Живий потік презентації iPhone 6 і Apple Watch від самого початку не працював. Багато людей, в тому числі мене, були проблеми перегляду. Перш за все, я побила хмарну службу Акамаї, але дослідження на сайті Apple показали, що найбільша проблема була, як вони створили Amazon S3 і деякі інші елементи сайту.

На відміну від попереднього живого потоку, цей час вони вирішили використовувати JSON, щоб додати міжактивність на сторінку і показати твітів, пов'язані з подією внизу сторінки. В результаті сторінки було оновлено кілька разів на секунду. У зв'язку з прийняттям рішення про використання JSON, сайт припинив кешування. Як правило, Apple використовує кешування від Akamai для таких трансляцій, але цей час неможливо було кешувати сторінку, яка призвела до сильної частоти завантаження сторінок і відображення відео потоку. І з яблука вставив відео на сторінку, сторінки гальмів призвело до відео гальмів. Акамаї не захоче прокоментувати питання, але судячи за кодом сторінки, вони все ще не змогли кешувати його. У зв'язку з цим я також змінив мій сафарі краплі, коли я спробував відкрити сторінку презентації на моєму iPad.

Через всі ці оновлення сторінок, гравець повинен штучно знизити якість відео, оскільки було занадто багато запитів на сервері. Крім того, Apple зробив помилку і віщає через Akamai відео з неправильним аудіо доріжки, тому перші 27 хвилин відео було в іноземній мові. Хтось з Apple зробив відео неправильно, і вони також мали десинхронізацію звуку і фотографії. Крім того, я думаю, що я зловив момент, коли Apple змушена перезавантажити кодування сервера відео один раз, після того, як почалася презентація, через це були помилки, як «не завантажити відео» і «не права доступу».

Вивчаючи метадані сторінки, ви можете встановити, що Apple проводить хмарний сервіс Amazon S3. Звісно, Apple розміщує вміст в одному пучку, майже не має запасу для зростання навантаження, і невірно налаштовується його. Amazon не прокоментував питання, але зрозуміло, що Apple переналаштувала сховище S3, що призводить до проблем продуктивності, оскільки всі запити пішли на одне місце.

Akamai був єдиним CDN, що використовується Apple. Це був показаний з різних куточків світу. І так як вони не мали можливості кешувати сторінку трансляції, швидкість сторінки пішла вниз. Якщо ви не можете кешувати сторінку на периферичному сервері хмарного сервісу, всі запити надсилаються на центральний сервер, який втрачає весь сенс розподіленої мережі. На графіку нижче, отриманий з сторонніх Cedexis, показує зниження доступності серверів Akamai в Західній Європі від 100% до 96,5% при введенні.

За даними, отримані з різних джерел, на пікі, трансляція відеопрезентації займала канал 6-8 Tbps. Для порівняння, Кубок світу був на піку 6.8 Tbps. Так не було надзвичайного навантаження CDN.

Підсумок: відео кодування, мовлення, javascript, відеоплеєр, єдиний сервер на S3 і постійні рефракції сторінок призвели до численних завдань презентації. Не можна було б відлякувати все на CDN, але так як ви можете бачити, це не була основною причиною – просто дія була погано запланована і проведена.

Джерело: habrahabr.ru/post/236905/