Содержание
- 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. Скачать презентацию































Двигатель внутреннего сгорания
Химическая промышленность
Использование компьютерных технологий в начальной школе
Производство корундовой броне-керамики в АО УАПО
Маршрут помощи детям с ограниченными возможностями
Бидермейер, бидермайер (нем. Biedermeier), стилевое направление в немецком и австрийском искусстве 1810–1840-х гг. Название получило позже,
Презентация на тему Электрические явления
Александр Николаевич Островский. Колумб Замоскворечья
Земля наш дом
Презентация на тему 8 Марта
Маковельская Инна Николаевна
Проекты ВПН
Рабелок Оптимальная Рабелок натрия 20мг форма выпуска Рабелок натрия 10мг
Повторение сложения и вычитания в пределах 100 и таблицы умножения
Конференция CyberMarketing 2011
Russia at War 1941 1945
Воспитательная работа с детьми девиантного поведения и проблемными семьями
Псалом 56. Святорусская редакция
Презентацияурока по экономической и социальной географии мира
СD DVD Blue Ray Flash как носители информации
Вязаные игрушки
Государственная Дума РФ
Налогообложение на доходы иностранных лиц. Антиофшорное регулирование
Акварель Составлено доцентом кафедры изобразительного искусства СыктГУ Торлоповой Натальей Геннадьевной 2006
Политика и власть
Права и обязанности граждан
Сообщение по биологии на тему «Утконос» Ученика 7В класса школы №5 Бережняка Никиты
Воспитание культурно-гигиенических навыков у детей средней группы детского сада