Определение качества
сети в почте Mail.Ru
Даниил Румянцев,
iOS Developer, Mail.Ru, myMail
плохая сеть
+
много траффика
=
плохой UX
Как определить хорошая ли сеть?
Network Connection Class
https://github.com/facebook/network-connection-class
Network Connection Class
• ConnectionClass_Unknown
• ConnectionClass_Poor
• ConnectionClass_Moderate
• ConnectionClass_Good
• ConnectionClass_Excellent
VS
ConnectionClass_PoorConnectionClass_Excellent
Ping
• Шлем 5 icmp-пакетов на старте
• Считаем время получения ответа и потерянные
пакеты
• ….
• PROFIT!
responsetime,sec
0
0,175
0,35
0,525
0,7
packets
0 10 20 30 40 50 60 70 80 90 100
CoreTelephony
CTRadioAccessTechnologyGPRS
CTRadioAccessTechnologyWCDMA
CTRadioAccessTechnologyHSDPA
CTRadioAccessTechnologyHSUPA
CTRadioAccessTechnologyCDMA1x
CTRadioAccessTechnologyCDMAEVDORev0
CTRadioAccessTechnologyCDMAEVDORevA
CTRadioAccessTechnologyCDMAEVDORevB
CTRadioAccessTechnologyLTE
2G
3G
LTE
Facebook
• Точный результат только при
тяжелом траффике
Ping
• Дает результат только
через 5 секунд
• Результат станет
невалидным при смене сети
CoreTelephony
• Работает только на сотовой
сети, при wi-fi бесполезен
Ping
Application start
Кеш по SSID или
типу соединения
CoreTelephony
или Moderate
Facebook
CompositeConnectionQualityHandler
facebook Ping CoreTelephony
Как мы это тестировали
p
Всем спасибо!
Вопросы?
d.rumiantsev@corp.mail.ru

More Related Content

PDF
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...
PDF
Альтернативная монетизация — краудфандинг, Каменев Игорь, основатель проекта ...
PPTX
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
PDF
«Управление логикой переходов между экранами приложения с помощью координатор...
PDF
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
PDF
«Как общаться и договариваться с заказчиками о проектной работе», Валентин Ша...
PPTX
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
PDF
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...
Альтернативная монетизация — краудфандинг, Каменев Игорь, основатель проекта ...
Введение в паттерн Schedulable object, Павел Осипов, руководитель разработки ...
«Управление логикой переходов между экранами приложения с помощью координатор...
«MVVM в Swift», Александр Зимин, независимый iOS-разработчик
«Как общаться и договариваться с заказчиками о проектной работе», Валентин Ша...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...

Viewers also liked (20)

PDF
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
PDF
«Пиринговый веб на JavaScript», Денис Глазков
PDF
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
PDF
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
PDF
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
PDF
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
PDF
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
PPTX
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)
PDF
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
PPTX
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
PDF
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
PDF
Profiling and optimizing go programs
PDF
Парсим CSS
PDF
Что надо знать о HTTP/2
PDF
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
PDF
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
PDF
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)
PDF
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
PDF
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
PDF
Семь тысяч Rps, один go
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
«Пиринговый веб на JavaScript», Денис Глазков
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)
Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От н...
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Profiling and optimizing go programs
Парсим CSS
Что надо знать о HTTP/2
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Семь тысяч Rps, один go
Ad

More from Mail.ru Group (20)

PDF
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
PDF
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
PDF
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
PDF
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
PDF
Управление инцидентами в Почте Mail.ru, Антон Викторов
PDF
DAST в CI/CD, Ольга Свиридова
PDF
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
PDF
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
PDF
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
PDF
WebAuthn в реальной жизни, Анатолий Остапенко
PDF
AMP для электронной почты, Сергей Пешков
PDF
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
PDF
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
PDF
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
PDF
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
PDF
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
PDF
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
PDF
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
PDF
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
PDF
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Управление инцидентами в Почте Mail.ru, Антон Викторов
DAST в CI/CD, Ольга Свиридова
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
WebAuthn в реальной жизни, Анатолий Остапенко
AMP для электронной почты, Сергей Пешков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Ad

Определение качества сетевого соединения в iOS-почте, Даниил Румянцев, разработчик приложения Почты Mail.Ru