Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Badoo — это большая социальная сеть с более чем 180 млн. пользователей. Большинство новых фич в нашей компании мы предварительно оцениваем посредством A/B тестирования. Вот уже примерно год мы используем собственный высоконагруженный фреймворк тестирования, при этом по моему мнению он очень прост, понятен, и не требует огромных ресурсов на разработку и поддержку. В докладе я расскажу вам о том, почему мы пришли к собственному решению, его архитектуру и принципы работы. Я уверен, каждый из вас может сделать что-то подобное для своего проекта и начать принимать более обоснованные решения.
Тезисы:
* Как мы раньше тестировали
* Почему мы сделали свой инструмент
* Архитектура: API, граф. интерфейсы, транспорт, скрипты, БД
* Структура теста
* Основные правила А/Б тестирования
* Оценка результатов, примеры отчетов
* И заключительная часть про то, что от человека с головой полностью не избавиться
Для кого доклад:
Для разработчиков и техн. менеджеров соц. сетей, сайтов объявлений, блогов с рассылками, проектов, продающих что-то через e-mail расслыки, разных коммьюнити-сайтов, банков и вообще проектов, где взаимодействие с каждым клиентом долгосрочное.
Сложность:
Несмотря на то, что конференция называется Highload++, я уверяю, что представленную здесь архитектуру может потянуть проект с посещаемостью в 1000 чел в день и тремя программистами в штате. Закодить все, что здесь рассказано на PHP займет меньше недели одного человека. А результат, между прочим, пожно вполне изменрять в живой прибыли.
Как провести технический аудит сайта. Е. АраловSiteclinic
Как провести технический аудит сайта:
- какие технические ошибки негативно влияют на индексацию и ранжирование сайта;
- какие технические проблемы приводят к снижению трафика;
- как найти все эти ошибки и устранить их;
- + несколько кейсов из нашей практики.
Автор презентации - Евгений Аралов.
Сайт нашей компании: http://siteclinic.ru/
Наш блог: http://siteclinic.ru/blog/
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн. Сергей Аверин, Badoo.
Доклад рассказывает о реально примененных способах оптимизации производительности API компании Badoo для собственных десктоп-приложений: как специфика «много постоянных соединений/однотипные запросы/большая нагрузка» повлияла на стратегию оптимизации производительности.
Что было сделано:
• Планирование архитектуры изначально (fault-tolerance, адаптивные апдейты и тайм-ауты, отказ от попыток восстановления после ошибок для единичных команд).
• Переехали с redis на handlersocket.
• Rate-limiting запросов к демонам.
• Синхронизация записей.
• Асинхронность.
• Записи при достижении порога изменения параметров.
• Профилирование кода, анализ потребления CPU, времени ответа.
• Статистика, статистика и еще раз статистика.
• Pconnect.
Доклад будет интересен:
• системным архитекторам,
• server-side разработчикам.
Badoo — это большая социальная сеть с более чем 180 млн. пользователей. Большинство новых фич в нашей компании мы предварительно оцениваем посредством A/B тестирования. Вот уже примерно год мы используем собственный высоконагруженный фреймворк тестирования, при этом по моему мнению он очень прост, понятен, и не требует огромных ресурсов на разработку и поддержку. В докладе я расскажу вам о том, почему мы пришли к собственному решению, его архитектуру и принципы работы. Я уверен, каждый из вас может сделать что-то подобное для своего проекта и начать принимать более обоснованные решения.
Тезисы:
* Как мы раньше тестировали
* Почему мы сделали свой инструмент
* Архитектура: API, граф. интерфейсы, транспорт, скрипты, БД
* Структура теста
* Основные правила А/Б тестирования
* Оценка результатов, примеры отчетов
* И заключительная часть про то, что от человека с головой полностью не избавиться
Для кого доклад:
Для разработчиков и техн. менеджеров соц. сетей, сайтов объявлений, блогов с рассылками, проектов, продающих что-то через e-mail расслыки, разных коммьюнити-сайтов, банков и вообще проектов, где взаимодействие с каждым клиентом долгосрочное.
Сложность:
Несмотря на то, что конференция называется Highload++, я уверяю, что представленную здесь архитектуру может потянуть проект с посещаемостью в 1000 чел в день и тремя программистами в штате. Закодить все, что здесь рассказано на PHP займет меньше недели одного человека. А результат, между прочим, пожно вполне изменрять в живой прибыли.
Как провести технический аудит сайта. Е. АраловSiteclinic
Как провести технический аудит сайта:
- какие технические ошибки негативно влияют на индексацию и ранжирование сайта;
- какие технические проблемы приводят к снижению трафика;
- как найти все эти ошибки и устранить их;
- + несколько кейсов из нашей практики.
Автор презентации - Евгений Аралов.
Сайт нашей компании: http://siteclinic.ru/
Наш блог: http://siteclinic.ru/blog/
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
История развития проекта с точки зрения клиентских технологий - от веб-сайта к появлению мобильных клиентов и смещению фокуса к mobile-first разработке. Общие черты нашей архитектуры и их отличия от стандартных решений.
Единый протокол общения с приложениями iOS/Android/WindowsMobile/MobileWeb/Web и особенности реализации для JavaScript платформ (десктопные и мобильные браузеры).
Изменение процесса разработки и подходов к реализации нового функционала для переключения на mobile-first стратегию.
SEO в WordPress. Ответы Павла Карпова на часто задаваемые вопросы.Pavel Karpov
Переходить ли на HTTPS? Внедрять ли семантическую разметку? Как выгоднее использовать страницы вместо записей? Ответы на эти и другие вопросы содержатся в презентации.
Как правильно составлять title и description, чего делать нельзя, какая разница в составлении title и description для продвижения в Яндекс и Google и много других полезных практических вещей.
Презентация Никиты Простякова
Основные тезисы:
Фильтр за переоптимизацию;
Признаки переоптимизации на сайте;
Как устранить переоптимизацию;
Кейс по выходу сайта из-под фильтра Яндекса
На вебинаре мы рассмотрели самые распространенные ошибки которые НЕ нужно делать при переезде сайта. Разобрали какие действия и в какой последовательности следует выполнять, чтобы сохранить наработанный авторитет сайта в глазах поисковых систем.
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
История развития проекта с точки зрения клиентских технологий - от веб-сайта к появлению мобильных клиентов и смещению фокуса к mobile-first разработке. Общие черты нашей архитектуры и их отличия от стандартных решений.
Единый протокол общения с приложениями iOS/Android/WindowsMobile/MobileWeb/Web и особенности реализации для JavaScript платформ (десктопные и мобильные браузеры).
Изменение процесса разработки и подходов к реализации нового функционала для переключения на mobile-first стратегию.
SEO в WordPress. Ответы Павла Карпова на часто задаваемые вопросы.Pavel Karpov
Переходить ли на HTTPS? Внедрять ли семантическую разметку? Как выгоднее использовать страницы вместо записей? Ответы на эти и другие вопросы содержатся в презентации.
Как правильно составлять title и description, чего делать нельзя, какая разница в составлении title и description для продвижения в Яндекс и Google и много других полезных практических вещей.
Презентация Никиты Простякова
Основные тезисы:
Фильтр за переоптимизацию;
Признаки переоптимизации на сайте;
Как устранить переоптимизацию;
Кейс по выходу сайта из-под фильтра Яндекса
На вебинаре мы рассмотрели самые распространенные ошибки которые НЕ нужно делать при переезде сайта. Разобрали какие действия и в какой последовательности следует выполнять, чтобы сохранить наработанный авторитет сайта в глазах поисковых систем.
Проблемы и пути их решения при командной разработке проектовАгентство AlterEGO
– Кому нужна командная разработка?
– Что делать в команде?
– Решение реальных задач, распределение ответственности
– Командная разработка на 1С-Битрикс
– Миграции БД
– Проблемы и пути их решения
Jelastic - гибридная платформа как сервис(PaaS) для компаний- разработчиков ПО на Java, Ruby, .NET, ASP.NET, PHP, Node.JS и Docker. Позволяет строить автомасштабируемые, отказоустойчивые среды для приложений, управлять множеством сред для разработки и тестирования
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
Эта презентация расскажет простым языком о том, что за технология Python, какие у нее сильные и слабые стороны, кто ее использует и для каких проектов она подходит.
Serghei Iakovlev "Chaos engineering in action"Fwdays
Let's talk about what chaos engineering is and how this discipline can be applied in projects where PHP is used as the main language.
Among other things, we will cover the following topics:
What problems does chaos engineering solve?
What are the solutions exist?
How to develop your own solution?
What is a controlled failover?
A little about ZendEngine and what tools are out of the box?
A bit about chaos design.
A bit about the code leading to chaos.
Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
26. Использование веб-серверов (операционных систем) По данным lexa.ru Тип сервера Доля в марте 2008 Доля в марте 2007 Доля в марте 2006 Apache 72% 58% 81% в т.ч. Apache 2.x 15.9% 11.3% 9.4% в т.ч. Apache 1.x 28% 47.3% 63.1% в т.ч. Russian Apache 5.1% 11.4% 18% Nginx 18.5% 22.7% 9.8% IIS 8.0% 5.8% 7.0% в т.ч. IIS6 7.3% 4.3% 4.2% в т.ч. IIS5 0.7% 1.45% 2.7%
33. Обычный сайт CMS Unix + PHP Unix + Perl Unix + Ruby Windows + .Net Стоимость разработки (ФОТ) Низкая Низкая Средняя Средняя Высокая Стоимость поддержки Низкая Низкая Высокая Средняя Средняя Стоимость программного обеспечения Низкая 0 0 0 Высокая Стоимость необходимого железа Средняя Низкая Низкая Средняя Высокая
36. Длительность и сложность различных типов проектов* * Очень грубо и очень ориентировочно Длительность Техническая сложность Корпоративный сайт 1-2 человеко-месяца Низкая СМИ 2-4 человеко-месяца Низкая СМИ с элементами UGC 3-5 человеко-месяцев Средняя Интернет-магазин 2-12 человеко-месяцев Средняя Фотохостинг 6-16 человеко-месяцев Средняя Блогосфера 6-20 человеко-месяцев Высокая Видеохостинг 6-20 человеко-месяцев Высокая Социальная сеть 8-20 человеко-месяцев Высокая Сайт знакомств 8-20 человеко-месяцев Высокая Онлайн игра 1-3 человеко-лет Высокая Поисковая система 3-6 человеко-лет Высокая
37.
38.
39. Оптимальный тип команды для разных видов проекта Рекомендуемая команда Корпоративный сайт Внешняя команда, фрилансеры СМИ Внешняя команда СМИ с элементами UGC Внешняя команда Интернет-магазин Внешняя команда Фотохостинг Внешняя команда, внутренняя команда Блогосфера Внешняя команда, внутренняя команда Видеохостинг Внешняя команда, внутренняя команда Социальная сеть Внешняя команда, внутренняя команда Сайт знакомств Внешняя команда, внутренняя команда Онлайн игра Внутренняя команда Поисковая система Внутренняя команда
40.
41. π Волшебное число, на которое надо умножать срок, выставленный программистами
42. Насколько можно доверять оценкам программистов? Вопрос Правильный ответ Сколько времени заложено на отладку и тестирование? Сравнимо с временем, заложенным на разработку проекта Когда Вы покажете мне первую версию сайта? Примерно в середине проекта Сколько специалистов будет работать над моим проектом? Прикиньте из таблицы “ Длительность и сложность различных проектов ” Будут ли специалисты совмещать работу над моим проектом еще с чем-то? Нет Сколько времени заложено на внедрение и отладку верстки? Не менее 2-3 недель для любого типа проекта
44. Хостинг Вид хостинга Ориентировочная стоимость Виртуальный хостинг 20-50 долларов в месяц Арендованный серверный парк (dedicated) 150-500 долларов за сервер в месяц, в зависимости от конфигурации Собственный серверный парк ( colocation) Покупка сервера (от 2000-3000 долларов разово) и аренда порта (50-100 долларов в месяц). Собственный дата-центр Хм…
45. Оценка потребности в хостинге Размер серверного парка Корпоративный сайт Виртуальный хостинг СМИ Виртуальный хостинг СМИ с элементами UGC Виртуальный хостинг, выделенный сервер Интернет-магазин Виртуальный хостинг, выделенный сервер Фотохостинг Выделенные севера Блогосфера Выделенные севера Видеохостинг Выделенные севера Социальная сеть Выделенные севера Сайт знакомств Выделенные сервера Онлайн игра Выделенные сервера Поисковая система Выделенные сервера, собственные дата-центры
49. Обычный сайт : стоимость поддержки CMS Unix + PHP Unix + Perl Unix + Ruby Windows + .Net Стоимость разработки (ФОТ) Низкая Низкая Средняя Средняя Высокая Стоимость поддержки Низкая Низкая Высокая Средняя Средняя Легкость и скорость обновления Высокая Средняя Средняя Высокая Средняя Стоимость программного обеспечения Низкая 0 0 0 Высокая Стоимость необходимого железа Средняя Низкая Низкая Средняя Высокая