Секреты Фейсбука: как выдержать 50 миллионов запросов в секунду
Представляем Вам выступление на HighLoad++ директора по инженирингу компании Facebook Роберта Джонсона (Robert Johnson), отвечающего за разработку программного обеспечения для масштабирования и производительности.
Данные в Facebook растут с невероятной скоростью. Каждый день регистрируется больше чем полмиллиона человек, а 150 миллионов существующих пользователей продолжают добавлять новые записи. Скорость чтения данных также увеличивается, в данный момент это более чем 50 миллионов произвольных запросов в секунду. Построение системы, способной справляться с этими требованиями, является настоящей проблемой. О некоторых уроках, которые извлекла компания Facebook в процессе решения этой проблемы и будет доклад Роберта.
Один из критических компонентов системы — кластер memcached. Мы будем обсуждать способы, которыми Facebook поддерживает его производительность и надежность (только представьте трафик к этому кластеру!). Некоторые из этих методов относятся к прикладному слою, такие как кластеризация данных и анализ паттернов доступа. Другие на системном уровне, такие как "dynamic throttling of network traffic and modifications to the kernel’s network stack" (мы не рискнули перевести).
Также мы поговорим об оптимизации интерпретатора PHP, например — уменьшении стоимости инициализации большого объекма кода. Ну и, напоследок, масштабирование MySQL до десятков терабайт.
Роберт раскроет результаты того или иного вида оптимизации и их влияние на масштабирование и на производительность системы.