Содержание
- 2. Кэширование Время отклика сервера – важный фактор для пользователей. Для сложного сайта генерация одной страницы ~
- 3. Кэш Кэш встречается везде: ЦП, жесткий диск, магнитола в машине, буферы ОС, … Успех кэша в
- 4. memcached Большая хэш-таблица в памяти, доступная через сетевой протокол. Операции: get/set/del «Атомарность» incr/decr cas/add/replace append/prepend Brad
- 5. Общая схема кэширования
- 6. Архитектура memcached Никаких вычислительно сложных операций. Все операции – O(1). Никаких нитей – асинхронный ввод/вывод. Время
- 7. Потеря ключей Ограниченность объема памяти, выделенного memcached. Истек срок жизни ключа. Отказ сервера или процесса memcached.
- 8. Применение memcached «Можно потерять»: кэширование выборок БД; вычислительно сложные значения. «Не хотелось бы потерять»: счетчики посетителей,
- 9. Задачи Формирование ключа кэширования. Кластеризация memcached. Счетчики и атомарность. Как избежать одновременного перестроения кэшей. Сброс группы
- 10. Ключ кэширования Ключ – строка ограниченной длины. По параметрам выборки должен однозначно определяться ключ. При изменении
- 11. Кластеризация memcached Зачем: увеличение объема кэша; обеспечение некоторой отказоустойчивости; распределение нагрузки. Как распределить ключи?
- 12. Распределение ключей Необходима функция: f(ключ)=номер_сервера «Стандартный вариант» по модулю: f(ключ)=crc32(ключ)%кол-во_серверов Consistent hashing:
- 13. Атомарность операций memcached не обеспечивает операций блокировки. Обычные операции get/set не обеспечивают атомарности. Самые простые атомарные
- 14. Счетчики в memcached Пример: счетчик просмотров в реальном времени. число просмотров аккумулируется и сохраняется в БД;
- 15. Счетчик онлайнеров 450 580 434 497 101 503 0 1 2 3 4 5 Текущий изменяемый
- 16. Одновременное перестроение кэшей Пусть есть кэш с большим количеством обращений на чтение. В какой-то момент истекает
- 17. Решение проблемы Храним ключи кэшей без ограничения по времени. В значение кэша записываем реальное время жизни
- 18. Пример Обращаемся за кэшем, например ‘user_info_id_159’ Сравниваем срок годности с текущим временем. Кэш «протух» → необходимо
- 19. Пример Пытаемся заблокироваться по ключу user_info_id_159_lock. Не удалось получить блокировку: ждём снятия блокировки; не дождались: возвращаем
- 20. Блокировки в memcached Первый вариант: get/set блокировка get(lock) ? 1 → locked set(lock, 1, small_timeout) …
- 21. Сброс группы кэшей Один и тот же объект часто входит в несколько разных выборок, а значит
- 22. Тэгирование кэшей Тэг – это имя и версия группы кэшей. Версия – монотонно увеличивающееся число. Сброс
- 23. Тэгирование кэшей В memcached вместе с данными кэша отправляем номера версий всех тэгов, которые были актуальны
- 24. Пример Было: Записали в кэш: tag1 → 25 tag2 → 63 срок годности: 2008-10-07 21:00 данные
- 25. Пример tag2++
- 26. Пример Стало: Лежит в кэше: tag1 → 25 tag2 → 64 срок годности: 2008-10-07 21:00 данные
- 27. Версия тэга и слейвы БД Удачный вариант версии – текущее время: монотонно увеличивается; при потере значения
- 28. Статистика memcached Команда stats позволяет получить различную статистику по работе memcached. «Обычная статистика»: процент хитов по
- 29. slab-аллокатор Баланс между внутренней фрагментацией и эффективностью использования памяти. Эффективные O(1) алгоритмы. Набор slab’ов под блоки
- 30. Статистика slab-аллокатора
- 31. Отладка memcached Проблемы плохо воспроизводятся в локальном/тестовом окружении. Отладка возможна только в реальном времени (без остановок).
- 32. Дополнительные вопросы memcached как способ межпроцессного/межъязыкового взаимодействия; Кэширование memcached («кэширование кэша»): в теле процесса, в локальном
- 34. Скачать презентацию































Число 1 и цифра 1
Психологическая готовность обучающихся к сдаче экзаменов
Нарисовать свою картину к технике кляксография любым способом
Тест руки
Геометрия. Подобие треугольников.
Финансовая система в посткризисной экономике
моу "Средняя общеобразовательная школа №1" г. Светогорска
Олігархічні моделі румунського медіа ринку
EVENT MARKETING
Фрикционные передачи и вариаторы
Декоративная косметика для ногтей
База отдыха Добрый вечер
Московский метрополитен
Бег на средние дистанции. Техника бега
Послы гостеприимства
Zumba Gold. Танцуя, мы худеем. Заряжаемся позитивом
Копирование образцов искусства Средних Веков
Ядерное оружие
Рюкзак в будущее 3+2
ВЕДЕНИЕ И СОПРОВОЖДЕНИЕ БУХГАЛТЕРСКОГО И НАЛОГОВОГО УЧЕТА
Литературная настольная игра
Финансовые пирамиды
Проблемы безопасного обращения с медицинскими отходами
Правда или ложь
волшебник
成功之路 (第六课)
ПОСТРОЕНИЕ ГЕОЛОГИЧЕСКОГО РАЗРЕЗА ПО ГЕОЛОГИЧЕСКОЙ КАРТЕ (ГОРИЗОНТАЛЬНОЕ ЗАЛЕГАНИЕ).
Интернет и урок физической культуры в школе