19. Почему так? В чем отличие от HelloWorld?
В двух аспектах
1. Почта содержит много страниц (сотни), а HelloWorld всего одну
2. Почта работает под гигантской нагрузкой – сотни тысяч HTTP RPS
20. Как эти аспекты влияют?
1. Чтобы браузер не ругался, надо отдавать по HTTPS ВСЕ ДАННЫЕ
2. SSL потребляет ресурсы процессора и память
21. Что мы делали
1. Отдаем по HTTPS ВСЕ ДАННЫЕ
- Дорабатывали баннерную систему (RB)
- Поддержали SSL везде, где можем
- Заменили все ссылки на протоколонезависимые в тоннах шаблонов
- Разработали прокси картинок для SSL там, где мы не можем
2. Выдерживаем нагрузку
- Оптимизация
- Тьюнинг настроек SSL
22. Баннерная система
- Поддержка SSL
- Переговоры с партнерами, чтобы поставляли SSLные пиксели
- Автозапрет на создание не SSL-контента в SSL-ready проектах
23. Поддержка SSL везде, где можем
- Почтовые веб-сервера (фронты)
- Сервера, отдающие почтовую статику
- Сервера логирования клиентских ошибок и клиентской
Диагностики (радары)
- Сервера веб-агента
- Сервера фотохостинга Моего Мира (для аватарок)
- Сервера, отдающие атачи и их превью
- Умная поддержка SSL на мобильных устройствах
- Замена ссылок на протоколонезависимые
- Перевод всех счетчиков на SSL (li.ru, top, tns)
24. Прокси картинок там, где не можем
- Очень быстрая (асинхронный ввод-вывод, один поток)
- Асинхронный DNS-лукап
- Хождение по редиректам
- Защита от злоумышленников (шифрование параметров запроса)
25. Оптимизация
- Оптимизация кода (отдаем больше процессора под терминацию SSL)
- Новый nginx
- Увеличили количество воркеров нашего сервера auth c 2 до 4
26. Тьюнинг настроек SSL и nginx
- Keepalive
- SSL-Cache (ускоряет SSL-Handshake)
- Оптимизация random (чтобы было меньше iowait)
- Увеличили proxy_buffers в nginx с 4К до 16К
- Изменили SSL Cypher – на первое место поставили RC4
- Увеличили количество воркеров nginx с 4 до 8
27. СПАСИБО!
Денис Аникин
Технический Руководитель Почты@Mail.Ru
anikin@corp.mail.ru