Кэш зачем нужен: Зачем процессорам нужен кэш и чем отличаются уровни L1, L2, L3

Содержание

Что такое кэширование и как оно работает | AWS

Узнайте о различных отраслях и примерах использования кэширования

Мобильные технологии

Мобильные приложения – это сегмент рынка, который растет с невообразимой скоростью, учитывая быстрое освоение устройств потребителем и спад в использовании традиционного компьютерного оборудования. Практически для каждого сегмента на рынке, будь то игры, коммерческие приложения, медицинские программы и т. д., есть приложения с поддержкой мобильных устройств. С точки зрения разработки создание мобильных приложений очень похоже на создание любых других приложений. Вы сталкиваетесь с теми же вопросами на уровнях представления, бизнеса и данных. Несмотря на разницу в пространстве экрана и инструментах для разработчиков, общей целью является обеспечение качественного взаимодействия с клиентом. Благодаря эффективным стратегиям кэширования ваши мобильные приложения могут обеспечивать такой уровень производительности, которого ожидают ваши пользователи, масштабироваться до любых размеров и сокращать общие затраты.

AWS Mobile Hub – это объединенная консоль для удобного поиска, настройки и использования облачных сервисов AWS, предназначенных для разработки и тестирования мобильных приложений, а также мониторинга их использования.

Интернет вещей (IoT)

Интернет вещей – это концепция сбора информации с устройств и из физического мира с помощью датчиков и ее передачи в Интернет или в приложения, которые принимают эти данные. Ценность IoT заключается в способности понимать собранные данные в режиме, близком к реальному времени, что в конечном счете позволяет системе и приложениям, принимающим эти данные, быстро реагировать на них. Возьмем, к примеру, устройство, которое передает свои GPS-координаты. Ваше приложение IoT может предложить интересные места, которые находятся поблизости от этих координат. Кроме того, если вы сохранили предпочтения пользователя устройства, то можете подобрать наиболее подходящие рекомендации для этого пользователя.

В этом отдельном примере скорость ответа приложения на полученные координаты критически важна для достижения качественного взаимодействия с пользователем. Кэширование может сыграть в нем важную роль. Интересные места и их координаты можно хранить в хранилище пар «ключ – значение», например в Redis, чтобы обеспечить их быстрое получение. С точки зрения разработки вы можете запрограммировать свое приложение IoT, чтобы оно реагировало на любое событие, если для этого существуют программные средства. При создании архитектуры IoT необходимо рассмотреть некоторые очень важные вопросы, в том числе время ответа при анализе полученных данных, создание архитектуры решения, масштаб которого охватывает N устройств, и экономичность архитектуры.

AWS IoT – это управляемая облачная платформа, которая позволяет подключенным устройствам просто и безопасно взаимодействовать с облачными приложениями и другими устройствами.

Дополнительные сведения: Managing IoT and Time Series Data with Amazon ElastiCache for Redis

Рекламные технологии

Современные приложения в сфере рекламных технологий особо требовательны к производительности. Примером важной области развития в этой сфере является торг в режиме реального времени (RTB). Это подход к трансляции рекламы на цифровых экранах в режиме реального времени, основанный на принципе аукциона и работающий со впечатлениями на самом подробном уровне. RTB был преобладающим способом проведения транзакций в 2015 году, учитывая то, что 74,0 процента рекламы было куплено программными средствами, что в США соответствует 11 миллиардам долларов (согласно eMarketer Analysis). При создании приложения для торгов в режиме реального времени важно учитывать то, что одна миллисекунда может решать, было ли предложение предоставлено вовремя, или оно уже стало ненужным. Это значит, что нужно крайне быстро получать данные из базы. Кэширование баз данных, при использовании которого можно получать данные о торгах за считанные доли миллисекунды, – это отличное решение для достижения такой высокой производительности.

Игровые технологии

Интерактивность – это краеугольный камень каждой современной игры.

Ничто так не раздражает игроков, как медленная игра и долгое ожидание реакции. Такие игры редко становятся успешными. Мобильные многопользовательские игры еще требовательнее к производительности, потому что информацию о действии одного игрока необходимо предоставлять другим игрокам в режиме реального времени. Кэширование игровых данных играет решающую роль в бесперебойной работе игры благодаря тому, что время ответа на запросы к часто используемым данным исчисляется в долях миллисекунды. Также важно решить проблемы востребованных данных, когда множество одинаковых запросов отправляется к одним и тем же данным, например «кто входит в первую десятку игроков по счету?»

Подробнее о разработке игр см. здесь.

Мультимедиа

Мультимедийным компаниям часто требуется передавать клиентам большое количество статического контента при постоянном изменении количества читателей или зрителей. Примером является сервис потоковой передачи видео, например Netflix или Amazon Video, которые передают пользователям большой объем видеоконтента. Это идеальный случай для использования сети доставки контента, в которой данные хранятся на серверах кэширования, расположенных во всем мире. Еще одним аспектом медиаприложений является пикообразная и непредсказуемая нагрузка. Возьмем, к примеру, публикацию в блоге на веб-сайте, о которой некоторая знаменитость только что отправила сообщение в Twitter, или веб-сайт футбольной команды во время Суперкубка. Такой высокий пик спроса на маленькое подмножество контента – вызов для многих баз данных, потому их пропускная способность для отдельных ключей ограничена. Поскольку пропускная способность оперативной памяти гораздо выше, чем у дисков, кэш базы данных помогает решить эту проблему путем перенаправления запросов чтения в кэш в памяти.

Интернет-коммерция

Современные приложения для электронной коммерции становятся все сложнее. При совершении покупок в них учитываются личные предпочтения, например в режиме реального времени даются рекомендации, которые основаны на данных пользователя и истории его покупок.

Обычно для этого требуется заглянуть в социальную сеть пользователя и взять за основу для рекомендации то, что понравилось друзьям, или то, что они приобрели. Количество данных, которые нужно обработать, растет, а терпение клиентов – нет. Поэтому обеспечение производительности приложения в режиме реального времени – это не роскошь, а необходимость. Хорошо реализованная стратегия кэширования – это важнейший аспект производительности приложения, от которого зависят успех и неудача, продажа товара и потеря клиента.

Социальные сети

Приложения для социальных сетей взяли мир штурмом. У таких социальных сетей, как Facebook, Twitter, Instagram и Snapchat, очень много пользователей, и объем контента, который они потребляют, все больше растет. Когда пользователи открывают свои ленты новостей, они ожидают, что увидят свежий персонализированный контент в режиме реального времени. Это не статический контент, поскольку у каждого пользователя разные друзья, фотографии, интересы и т.

 д., за счет чего обостряется необходимость в усложнении платформы, на которой основано приложение. Кроме того, приложения для социальных сетей подвержены пикам использования во время крупных развлекательных мероприятий, спортивных и политических событий. Устойчивость к пиковым нагрузкам и высокая производительность в режиме реального времени возможны благодаря использованию нескольких уровней кэширования, включая сети доставки контента для статического контента, например изображений, кэш сеансов для учета данных текущих сессий пользователей и кэш баз данных для ускорения доступа к часто запрашиваемому контенту, например последним фотографиям и свежим новостям от близких друзей.

Здравоохранение и здоровый образ жизни

В сфере здравоохранения происходит цифровая революция, благодаря которой медицинское обслуживание становится доступным все большему количеству пациентов во всем мире. Некоторые приложения позволяют пациентам общаться с врачами по видеосвязи, а многие крупные клиники предлагают своим клиентам приложения, в которых можно посмотреть результаты анализов и связаться с медицинским персоналом. Для поддержания здорового образа жизни существует множество приложений: от программ для отслеживания показаний датчиков (например, FitBit и Jawbone) до полных курсов тренировок и подборок данных. Поскольку эти приложения по своей сути интерактивные, необходимо, чтобы они были высокопроизводительными и удовлетворяли бизнес-требованиям и требованиям к данным. Вооружившись эффективной стратегией кэширования, вы сможете обеспечить быструю работу приложений, сократить общие затраты на инфраструктуру и масштабировать ее по мере роста востребованности.

Подробнее о создании приложений для сферы здравоохранения на AWS см. здесь.

Финансы и финансовые технологии

За последние годы потребление финансовых сервисов очень изменилось. Существуют приложения для доступа к банковским и страховым услугам, функциям выявления мошенничества, сервисам инвестирования, оптимизации капитальных рынков с использованием алгоритмов, которые работают в режиме реального времени, а также многие другие приложения. Очень сложно предоставлять доступ к финансовым данным клиента и возможность проведения таких транзакций, как перевод средств или совершение платежей, в режиме реального времени. Во-первых, к приложениям для этой сферы применяются те же ограничения, что и к приложениям для других сфер, в которых пользователю требуется взаимодействовать с приложением в режиме, близком к реальному времени. Кроме того, финансовые приложения могут предъявлять дополнительные требования, например относительно повышенной безопасности и выявления мошенничества. Для того чтобы производительность отвечала ожиданиям пользователя, крайне важно создать эффективную архитектуру с использованием стратегии многоуровневого кэширования. В зависимости от требований приложения уровни кэширования могут включать кэш сеансов для хранения данных о сессиях пользователя, сеть доставки контента для передачи статического контента и кэш базы данных для передачи часто запрашиваемых данных, таких как последние 10 покупок клиента.

Подробнее о финансовых приложениях на AWS см.  здесь.

Что такое кэш?

Что является самым грязным местом на компьютере? Думаете, корзина? Папки пользователя? Система охлаждения? Не угадали! Самое грязное место – это кэш! Ведь его постоянно приходится чистить!

На самом деле кэшей на компьютере много, и служат они не свалкой отходов, а ускорителями оборудования и приложений. Откуда же у них репутация «системного мусоропровода»? Давайте разберемся, что такое кэш, каким он бывает, как работает и почему время от времени нуждается в чистке.

Понятие и виды кэш-памяти

Кэшем или кэш-памятью называют специальное хранилище часто используемых данных, доступ к которому осуществляется в десятки, сотни и тысячи раз быстрее, чем к оперативной памяти или другому носителю информации.

Собственная кэш-память есть у приложений (веб-браузеров, аудио- и видеоплееров, редакторов баз данных и т. д.), компонентов операционных систем (кэш эскизов, DNS-кэш) и оборудования (cache L1-L3 центрального процессора, фреймбуфер графического чипа, буферы накопителей). Реализована она по-разному – программно и аппаратно.

  • Кеш программ – это просто отдельная папка или файл, куда загружаются, например, картинки, меню, скрипты, мультимедийный контент и прочее содержимое посещенных сайтов. Именно в такую папку в первую очередь «ныряет» браузер, когда вы открываете веб-страницу повторно. Подкачка части контента из локального хранилища ускоряет ее загрузку и уменьшает сетевой трафик.

  • В накопителях (в частности, жестких дисках) кэш представляет собой отдельный чип RAM емкостью 1-256 Mb, расположенный на плате электроники. В него поступает информация, считанная с магнитного слоя и пока не загруженная в оперативную память, а также данные, которые чаще всего запрашивает операционная система.

  • Современный центральный процессор содержит 2-3 основных уровня кеш-памяти (ее также называют сверхоперативной памятью), размещенных в виде аппаратных модулей на одном с ним кристалле. Самым быстрым и наименьшим по объему (32-64 Kb) является cache Level 1 (L1) – он работает на той же частоте, что и процессор. L2 занимает среднее положение по скорости и емкости (от 128 Kb до 12 Mb). А L3 – самый медленный и объемный (до 40 Mb), на некоторых моделях отсутствует. Скорость L3 является низкой лишь относительно его более быстрых собратьев, но и он в сотни раз шустрее самой производительной оперативки.

Сверхоперативная память процессора применяется для хранения постоянно используемых данных, перекачанных из ОЗУ, и инструкций машинного кода. Чем ее больше, тем процессор быстрее.

Сегодня три уровня кеширования – уже не предел. С появлением архитектуры Sandy Bridge корпорация Intel реализовала в своей продукции дополнительный cache L0 (предназначенный для хранения расшифрованных микрокоманд). А наиболее высокопроизводительные ЦП имеют и кэш четвертого уровня, выполненный в виде отдельной микросхемы.

Схематично взаимодействие уровней cache L0-L3 выглядит так (на примере Intel Xeon):

Человеческим языком о том, как всё это работает

Чтобы было понятно, как функционирует кэш-память, представим человека, работающего за письменным столом. Папки и документы, которые он использует постоянно, лежат на столе (в кэш-памяти). Для доступа к ним достаточно протянуть руку.

Бумаги, которые нужны ему реже, хранятся недалеко на полках (в оперативной памяти). Чтобы их достать, нужно встать и пройти несколько метров. А то, с чем человек в настоящее время не работает, сдано в архив (записано на жесткий диск).

Чем шире стол, тем больше документов на нем поместится, а значит, работник сможет получить быстрый доступ к большему объему информации (чем емкость кэша больше, тем в теории быстрее работает программа или устройство).

Иногда он допускает ошибки – хранит на столе бумаги, в которых содержатся неверные сведения, и использует их в работе. В результате качество его труда снижается (ошибки в кэше приводят к сбоям в работе программ и оборудования). Чтобы исправить ситуацию, работник должен выбросить документы с ошибками и положить на их место правильные (очистить кэш-память).

Стол имеет ограниченную площадь (кэш-память имеет ограниченный объем). Иногда ее можно расширить, например, придвинув второй стол, а иногда нельзя (объем кэша можно увеличить, если такая возможность предусмотрена программой; кэш оборудования изменить нельзя, так как он реализован аппаратно).

Другой способ ускорить доступ к большему объему документов, чем вмещает стол – найти помощника, который будет подавать работнику бумаги с полки (операционная система может выделить часть неиспользуемой оперативной памяти для кэширования данных устройств). Но это всё равно медленнее, чем брать их со стола.

Документы, лежащие под рукой, должны быть актуальны для текущих задач. За этим обязан следить сам работник. Наводить порядок в бумагах нужно регулярно (вытеснение неактуальных данных из кэш-памяти ложится «на плечи» приложений, которые ее используют; некоторые программы имеют функцию автоматической очистки кэша).

Если сотрудник забывает поддерживать порядок на рабочем месте и следить за актуальностью документации, он может нарисовать себе график уборки стола и использовать его, как напоминание. В крайнем случае – поручить это помощнику (если зависимое от кэш-памяти приложение стало работать медленнее или часто загружает неактуальные данные, используйте средства очистки кэша по расписанию или раз в несколько дней проводите эту манипуляцию вручную).

***

С «функциями кэширования» мы на самом деле сталкиваемся повсеместно. Это и покупка продуктов впрок, и различные действия, которые мы совершаем мимоходом, заодно и т. д. По сути, это всё то, что избавляет нас от лишней суеты и ненужных телодвижений, упорядочивает быт и облегчает труд. То же самое делает и компьютер. Словом, если бы не было кэша, он бы работал в сотни и тысячи раз медленнее. И нам бы вряд ли это понравилось.

HTTP-кеширование — HTTP | MDN

Производительность веб-сайтов и приложений можно значительно повысить за счёт повторного использования ранее полученных ресурсов. Веб-кеши сокращают задержку и снижают сетевой трафик, уменьшая тем самым время, необходимое для отображения ресурсов. Используя HTTP-кеширование, сайты становятся более отзывчивыми.

Техника кеширования заключается в сохранении копии полученного ресурса для возврата этой копии в ответ на дальнейшие запросы. Запрос на ресурс, уже имеющийся в веб-кеше, перехватывается, и вместо обращения к исходному серверу выполняется загрузка копии из кеша. Таким образом снижается нагрузка на сервер, которому не приходится самому обслуживать всех клиентов, и повышается производительность — кеш ближе к клиенту и ресурс передаётся быстрее. Кеширование является основным источником повышения производительности веб-сайтов. Однако, кеш надо правильно сконфигурировать: ресурсы редко остаются неизменными, так что копию требуется хранить только до того момента, как ресурс изменился, но не дольше.

Существует несколько видов кешей, которые можно разделить на две основные категории: приватные кеши и кеши совместного использования. В кешах совместного использования (shared cache) хранятся копии, которые могут направляться разным пользователям. Приватный кеш (private cache) предназначен для отдельного пользователя. Здесь будет говориться в основном о кешах браузеров и прокси, но существуют также кеши шлюзов, CDN, реверсные прокси кеши и балансировщики нагрузки, разворачиваемые на серверах для повышения надёжности, производительности и масштабируемости веб-сайтов и веб-приложений.

 

Приватный (private) кеш браузера

Приватный кеш предназначен для отдельного пользователя. Вы, возможно, уже видели параметры кеширования в настройках своего браузера. Кеш браузера содержит все документы, загруженные пользователем по HTTP. Он используется для доступа к ранее загруженным страницам при навигации назад/вперёд, позволяет сохранять страницы, или просматривать их код, не обращаясь лишний раз к серверу. Кроме того, кеш полезен при отключении от сети.

Общий (shared) прокси-кеш

Кеш совместного использования — это кеш, который сохраняет ответы, чтобы их потом могли использовать разные пользователи. Например, в локальной сети вашего провайдера или компании, может быть установлен прокси, обслуживающий множество пользователей, чтобы можно было повторно использовать популярные ресурсы, сокращая тем самым сетевой трафик и время ожидания.

Кеширование в HTTP не является обязательным, однако в большинстве случаев бывает полезно повторно использовать ранее сохранённые ресурсы. Тем не менее, стандартные кеши HTTP обычно способны кешировать только ответы на запросы методом GET, а другие отклоняют.

Первичный ключ состоит из метода запроса и запрашиваемого URI (зачастую используется только URI, поскольку целью кеширования являются только GET-запросы). Вот примеры того, что обычно записывается в кеш:

  • Успешно загруженные ресурсы: ответ 200 OK на запрос методом GET HTML-документов, изображений или файлов.
  • Постоянные перенаправления: ответ 301 Moved Permanently («перемещено навсегда»).
  • Сообщения об ошибках: ответ 404 Not Found («не найдено»).
  • Неполные результаты: ответ 206 Partial Content («частичное содержимое»).
  • Ответы на запросы отличные от GET, если есть что-либо, подходящее для использования в качестве ключа кеша.

Запись в кеше может также состоять из множества ответов, различаемых по вторичному ключу, если при формировании ответа производится согласование данных. Подробнее об этом рассказано ниже, в разделе, посвящённом заголовку Vary.

Заголовок

Cache-control

Поле Cache-Control общего заголовка HTTP/1.1 используется для задания инструкций по механизму кеширования как в запросах, так и в ответах. Применяется для задания политик кеширования.

Полное отсутствие кеширования

В кеше не должно сохраняться ничего — ни по запросам клиента, ни по ответам сервера. Запрос всегда отправляется на сервер, ответ всегда загружается полностью.

Cache-Control: no-store
Cache-Control: no-cache, no-store, must-revalidate
Кешировать, но проверять актуальность

Перед тем, как выдать копию, кеш запрашивает исходный сервер на предмет актуальности ресурса.

Cache-Control: no-cache
Приватные (private) и общие (public) кеши

Директива «public» указывает, что ответ можно сохранять в любом кеше. Это бывает полезно, если возникает потребность сохранить страницы с HTTP-аутентификацией, или такими кодами ответа, которые обычно не кешируются. Директива же «private» указывает, что ответ предназначен отдельному пользователю и не должен храниться в кеше совместного использования. В этом случае ответ может сохраняться приватным кешем браузера.

Cache-Control: private
Cache-Control: public
Срок действия (Expiration)

Самой важной здесь является директива «max-age=<seconds>» — максимальное время, в течение которого ресурс считается «свежим». В отличие от директивы Expires, она привязана к моменту запроса. К неизменяющимся файлам приложения обычно можно применять «агрессивное» кеширование. Примером таких статических файлов могут быть изображения, файлы стилей (CSS) или скриптов (JavaScript).

Подробнее об этом рассказывается в разделе Свежесть ресурса.

Cache-Control: max-age=31536000
Проверка актуальности

При использовании директивы «must-revalidate» кеш обязан проверять статус ресурсов с истёкшим сроком действия. Те копии, что утратили актуальность, использоваться не должны. Подробнее об этом рассказано ниже, в разделе Валидация кеша.

Cache-Control: must-revalidate

Заголовок

Pragma

Pragma является заголовком HTTP/1.0. Он не описан для HTTP-ответов и, таким образом, не может служить надёжной заменой общему заголовку Cache-Control протокола HTTP/1.1, хотя его поведение аналогично «Cache-Control: no-cache» когда поле заголовка Cache-Control опущено в запросе. Использовать его следует только для совместимости с клиентами HTTP/1. 0.

Однажды попав в кеш, ресурс, теоретически, может храниться там вечно. Однако, поскольку объем хранилища конечен, записи периодически приходится оттуда удалять.  Этот процесс называют вытеснением данных из кеша (cache eviction). Кроме того, ресурсы могут изменяться на сервере, поэтому кеш требуется обновлять. Поскольку HTTP является клиент-серверным протоколом, сервера не могут сами обращаться к кешам и клиентам при изменении ресурса; им необходимо договориться о сроке действия сохранённой копии. До его истечения ресурс считается свежим (fresh), после — устаревшим (stale). Алгоритмы вытеснения отдают предпочтение «свежим» ресурсам. Тем не менее, копия ресурса не удаляется из кеша сразу же по истечении её срока действия; при получении запроса на устаревший ресурс кеш передаёт его дальше с заголовком If-None-Match (en-US) на случай, если копия все ещё актуальна. Если это так, сервер возвращает заголовок 304 Not Modified («не изменялось»), а тело ресурса не посылает, экономя тем самым трафик.

Вот пример того, как протекает этот процесс при использовании совместного кеша прокси:

Срок действия (freshnessLifetime) вычисляется на основании нескольких заголовков. Если задан заголовок «Cache-control: max-age=N», то срок действия равен N. Если его нет, а это бывает очень часто, проверяется заголовок Expires, и, если он есть, то срок действия берётся равным значению заголовка Expires минус значение заголовка Date. Наконец, если нет ни того ни другого, смотрят заголовок Last-Modified.  Если он есть, то срок действия равен значению заголовка Date минус значение заголовка Last-modified разделить на 10.
Время устаревания (expirationTime) вычисляется следующим образом:

expirationTime = responseTime + freshnessLifetime - currentAge

где responseTime — это время получения ответа по часам браузера, а currentAge — текущий возраст кеша.

Обновление статических ресурсов (Revved resources)

Чем больше ресурсов может быть взято из кеша, тем быстрее сайт реагирует на запросы и тем выше его производительность. Из этих соображений их «срок годности» имеет смысл делать как можно большим. Однако, возникает проблема с ресурсами, которые обновляются редко и нерегулярно. Как раз их кеширование даёт больше всего выгоды, но сильно затрудняет обновление. Такие ресурсы можно найти на любой веб-странице: файлы скриптов (JavaScript) и стилей (CSS) изменяются редко, но уж если это произошло, обновление надо произвести как можно быстрее.

Веб-разработчики разработали метод, который Стив Сандерс (Steve Sounders) назвал revving[1], что можно перевести как «оборачиваемость». Для редко обновляемых файлов используют особый способ именования: в их URL, обычно в имя файла, добавляют номер релиза или версии. Таким образом, каждая новая версия считается отдельным ресурсом, срок устаревания которого отодвинут далеко в будущее, как правило, на год, или больше. Недостатком этого метода является то, что для получения новых версий ресурса приходится обновлять все ссылки на него — это некоторое усложнение, справиться с которым разработчику помогает цепочка инструментов. Обновление статических ресурсов влечёт за собой обновление и часто изменяемых ресурсов. Когда считываются первые, считываются и новые версии вторых.

Этот метод имеет дополнительное достоинство: одновременное обновление двух кешированных ресурсов не приводит к ситуации, при которой устаревшая версия одного ресурса используется вместе с новой версией другого. Это очень важно для сайтов с взаимосвязанными файлами стилей CSS или JS-скриптов — связь может возникнуть, например, из-за ссылок на одни и те же элементы HTML-страницы.

Номер версии, добавляемый к статическому ресурсу, не обязательно записывать в виде стандартного номера версии наподобие 1.1.3, или другого возрастающего числового значения. Это может быть что угодно, позволяющее избежать совпадений — например, дата.

Валидация кеша запускается при нажатии пользователем кнопки перезагрузки. Кроме того, она может выполняться в ходе обычного просмотра страниц, если кешированный ответ включает заголовок «Cache-control: must-revalidate». Другим фактором являются настройки кеширования браузера — можно потребовать принудительной валидации при каждой загрузке документа.

При истечении срока годности документа он либо проходит валидацию, либо повторно доставляется с сервера. Валидация может выполняться только если на сервере реализован сильный валидатор или слабый валидатор.

Заголовки ETag

Заголовок ответа ETag является непрозрачным для клиентского приложения (агента) значением, которое можно использовать в качестве сильного валидатора. Суть в том, что клиент, например, браузер, не знает, что представляет эта строка и не может предсказать, каким будет её значение. Если в ответе присутствует заголовок ETag, клиент может транслировать его значение через заголовок If-None-Match (en-US) будущих запросов для валидации кешированного ресурса.

Заголовок ответа Last-Modified можно использовать в качестве слабого валидатора. Слабым он считается из-за того, что имеет 1-секундное разрешение. Если в ответе присутствует заголовок Last-Modified, то для валидации кешированного документа клиент может выводить в запросах заголовок  If-Modified-Since.

При запросе на валидацию сервер может либо проигнорировать валидацию и послать стандартный ответ 200 OK, либо вернуть ответ 304 Not Modified (с пустым телом), тем самым указывая браузеру взять копию из кеша. В последнем случае в ответ могут входить также заголовки для обновления срока действия кешированного ресурса.

Заголовок HTTP-ответа Vary определяет, как по заголовкам будущих запросов понять, может ли быть использована копия из кеша, или нужно запросить новые данные у сервера.

Если кеш получает запрос, который можно удовлетворить сохранённым в кеше ответом с заголовком Vary, то использовать этот ответ можно только при совпадении всех указанных в Vary полей заголовка исходного (сохранённого в кеше) запроса и нового запроса.

Это может быть полезно, например, при динамическом предоставлении контента. При использовании заголовка Vary: User-Agent кеширующие сервера, принимая решение об использовании страницы из кеша, должны учитывать агент пользователя. Так можно избежать ситуации, когда пользователи мобильных устройств по ошибке получат десктопную версию вашего сайта. Вдобавок, это может помочь Google и другим поисковым системам обнаружить мобильную версию страницы, и может также указать им на то, что здесь нет никакой подмены контента с целью поисковой оптимизации (Cloaking).

Vary: User-Agent

Поскольку значение заголовка User-Agent (en-US) различается («varies») у мобильных и десктопных клиентов, закешированный мобильный контент не будет по ошибке отсылаться пользователям десктопов и наоборот.

Почему я никогда не чищу кэш на Android и вам не советую

Наверное, все хотя бы раз задавались вопросом, а не пришла ли пора почистить кэш смартфона. Он не приходил в голову только тем, кто делает это на постоянной основе, исправно удаляя данные, которые накопила система и приложения. Зачем? Одни таким образом стараются просто держать свой аппарат в чистоте, другие искренне верят, что удаление кэша позволит повысить быстродействие системы, а третьи делают это просто потому, что так делают все. Я, как приверженец рационального подхода во всём, кэш не удаляю от слова совсем. Объясняю на пальцах, почему.

Кэш не вредит, а помогает. Так что не удаляйте его

Google придумала, как улучшить работу игр на Android-смартфонах

Я совру, если скажу, что никогда не чистил кэш сам. Я хорошо помню те смутные времена, когда 4 и 8 ГБ памяти были нормой, а Android-смартфоны – даже флагманские – начинали тормозить сразу после того, как их доставали из коробки. Тогда чистка кэша казалось логичным и вполне эффективным способом по недопущению переполнения встроенного хранилища и замедления операционной системы. Поэтому категория приложений-клинеров, или, по-простому, чистильщиков, была в Google Play одной из самых популярных. Но сегодня в них нет никакого смысла.

Что такое кэш и зачем он нужен

Кэш – это небольшие объёмы ключевых данных, которые приложения, сайты и онлайн-сервисы сохраняют на устройстве для быстрого доступа при последующих запусках. Дело в том, что все современные программы устроены таким образом, что получение данных из кэша у них происходит быстрее, чем выборка исходных данных из удалённого источника. В этом смысле кэш является технологическим аналогом привычек, которые приложение изучает и запоминает, а потом выстраивает модель взаимодействия с вами, основываясь на этих привычках.

Подпишись на нас в "Google Новостях". Так удобнее следить за обновлениями сайта.

Многие думают, что файлы кэша как-то засоряют систему и заставляют смартфон работать медленнее, но это не так. Напротив, они позволяют ему работать быстрее, поскольку не вынуждают обрабатывать данные заново, а просто берут их из специального раздела хранилища. Браузеры сохраняют информацию о часто посещаемых ресурсах, чтобы тратить меньше времени на их загрузку при последующих обращениях. Удалите их и сайты начнут обрабатываться медленнее. То же самое касается и других приложений – от видеохостингов вроде YouTube и социальных сетей вроде «ВКонтакте» или Facebook.

Нужно ли удалять кэш на Android

Из Android Nougat вообще пропал инструмент удаления системного кэша. Даже Google считает, что в этом нет смысла

Нет никакого смысла в том, чтобы удалять файлы кэша.

  • Во-первых, потому что с ними все приложения и сервисы, которые установлены на вашем смартфоне, начинают работать быстрее.
  • Во-вторых, потому что они занимают настолько мало места, что вы даже не заметите их.
  • В-третьих, файлы кэша имеют свойство повторно накапливаться ровно в том виде, в котором они были изначально.

Я нашёл лучшую замену клиенту Gmail для Android, iOS, Windows и macOS

Google уже давно научила Android грамотно работать с файлами кэша – хоть с системными, хоть в приложениях. Серьёзный переворот в этой области случился в 2016 году, когда вышла Android 7. 0 Nougat. Если до того момента в меню восстановления операционной системы была возможность сброса системного кэша, то после – он исчез. В результате вышло даже лучше, чем на iOS.

Почему приложения так много весят со временем

Слева — iOS, справа — Android

Посмотрите на Telegram на моём iPad. Чаще всего я пользуюсь мессенджером именно на Android-смартфоне, где файлы кэша занимают меньше 70 МБ, тогда как на планшете с iOS их больше по объёму примерно в 30 раз. Всё дело в том, что iOS кэширует почти всю информацию, которую получает. Из-за этого фотографии, видеозаписи и другие медиавложения проходят через память устройства и остаются там. Это не плохо, просто эта такая особенность системы. Android ведёт себя более рационально, загружая только ключевые данные, но не скачивает все файлы без разбора.

Чем я заменил FaceTime на Android

Я уже несколько лет не удаляю кэш и прекрасно себя чувствую. У меня не было проблем ни со старым LG G3, ни с LeEco Le 2, ни с Galaxy A51, ни с Honor View 20. Да, я, как, наверное, и все, сталкивался с замедлением работоспособности старых смартфонов. Но тут не нужно искать второго дна и сваливать всю вину на кэш, который якобы тормозит систему. На самом деле ничего такого не происходит и, даже стерев весь кэш, вы не вернёте аппарату былое быстродействие, просто потому что он устарел и банально перестал тянуть все функциональные обновления, которые на него свалились. Поэтому не порите горячку.

Информация о кэш-памяти в компьютере и зачем она нужна

Кэш-память — хранилище для часто используемой информации, доступ к которому осуществляется намного быстрее по сравнению с оперативной памятью или жестким диском компьютера. Рассматриваемая технология базируется на подсистеме компьютерной памяти. Главным предназначением является ускорение работы устройства. Даже если ПК обладает непроизводительным процессором, благодаря кэшированию информации скорость выполнения задач существенно повышается.

Кэш-памятью оборудованы главные элементы компьютера — жесткие диски, видеокарты, процессоры. Архитектура и работа технологии способны отличаться. Например, кэш может служить обычным буфером обмена — устройство обрабатывает информацию и передает полученные данные в специальный буфер, из которого результат поступает на интерфейс. Назначением такого кэша является предотвращение ошибок благодаря аппаратной проверке информации на целостность.

 

Кэш процессора

Современный процессор обладает несколькими основными уровнями кэш-памяти, нередко называемыми сверхоперативной памятью. На кристалле находится несколько аппаратных модулей. Самым меньшим по размеру является Cache Level 1, объем которого способен варьироваться от 32 до 64 Кб в зависимости от процессора. L2 обладает повышенной емкостью — от 128 Кб до 12 Мб. L3 считается самым объемным (до 40 Мб) и самым медленным.

Кэш процессора

Сверхоперативная память необходима для хранения часто используемой информации, поступающей из ОЗУ. Сегодня производители устанавливают больше трех уровней кэширования для обеспечения производительной работы компьютера. Например, компания Intel смогла реализовать дополнительный уровень кэша 0 для краткосрочного хранения расшифрованных команд. В производительных ЦП встречается сверхоперативная память 4 уровня, расположенная в отдельной микросхеме.

 

Кэш жесткого диска

В жестких дисках присутствует специализированная оперативная память, выступающая в качестве промежуточного звена для хранения информации. Она предназначена для краткосрочного хранения данных, считанных с носителя, но не поступивших на обработку. Необходимость использования кэша обусловлена разницей в скорости между различными компьютерными компонентами. Сегодня популярны модели дисков с объемом кэша от 32 до 64 Мб.

Кэш жесткого диска

 

Программный кэш

Представляет собой директорию на жестком диске компьютера, создаваемую программами для непродолжительного хранения информации. Например, браузер сохраняет страницы, просмотренные пользователем. При повторном переходе по введенному адресу браузер сначала обращается к кеш-памяти, чтобы ускорить загрузку страницы и одновременно уменьшить потребление трафика. Размер папки способен варьироваться от разновидности программного обеспечения.

Программный кэш

 

Кэш-память смартфона

Современные мобильные телефоны тоже обладают кэш-памятью. Она представляет собой место хранения информации приложений. Данные записываются в специальную директорию, позволяющую быстро вернуться к просмотру файлов. Наглядный пример использования кэша — работа с галереей. После просмотра фотографий устройство сохраняет уменьшенные копии изображений. Также краткосрочная память вмещает настройки приложений, отчеты и загруженные веб-ресурсы.

Кэш-память смартфона

Если кэш-память телефона будет перегружена, пользователь заметит существенное замедление работы мобильного устройства. Могут даже возникнуть программные ошибки, а некоторые приложения иногда отказываются запускаться. Для решения проблемы рекомендуется выполнить очистку кэша смартфона. Вот подробная инструкция.

 


Основным предназначением кэш-памяти является ускорение устройства и краткосрочное хранение информации. Модули кэш-памяти встречаются в жестких дисках, центральных процессорах и видеокартах. Также соответствующей технологией обладают смартфоны. Для обеспечения стабильной работы устройства пользователю рекомендуется периодически очищать память в настройках операционной системы телефона — такая процедура часто улучшает быстродействие.

3 MB vs 8 MB Cache GECID.com. Страница 1

::>Процессоры >2016 > Как влияет объем кэш-памяти на производительность в играх? Intel Skylake: 3 MB vs 8 MB Cache

18-12-2016

Страница 1 Страница 2 Одной страницей

Приветствуем вас на сайте GECID. com! Хорошо известно, что тактовая частота и количество ядер процессора напрямую влияют на уровень производительности, особенно в оптимизированных под многопоточность проектах. Мы же решили проверить, какую роль в этом играет кэш-память уровня L3?

Для исследования этого вопроса нам был любезно предоставлен интернет-магазином pcshop.ua 2-ядерный процессор Intel Core i3-6100 с номинальной рабочей частотой 3,7 ГГц и 3 МБ кэш-памяти L3 с 12-ю каналами ассоциативности. В роли оппонента выступил 4-ядерный Intel Core i7-6700K, у которого были отключены два ядра и снижена тактовая частота до 3,7 ГГц. Объем же кэша L3 у него составляет 8 МБ, и он имеет 16 каналов ассоциативности. То есть ключевая разница между ними заключается именно в кэш-памяти последнего уровня: у Core i7 ее на 5 МБ больше.

Если это ощутимо повлияет на производительность, тогда можно будет провести еще один тест с представителем серии Core i5, у которых на борту 6 МБ кэша L3.

Но пока вернемся к текущему тесту. Помогать участникам будет видеокарта MSI GeForce GTX 1070 GAMING X 8G и 16 ГБ оперативной памяти DDR4-2400 МГц. Сравнивать эти системы будем в разрешении Full HD.

Для начала начнем с рассинхронизированных живых геймплев, в которых невозможно однозначно определить победителя. В Dying Light на максимальных настройках качества обе системы показывают комфортный уровень FPS, хотя загрузка процессора и видеокарты в среднем была выше именно в случае Intel Core i7.

Arma 3 имеет хорошо выраженную процессорозависимость, а значит больший объем кэш-памяти должен сыграть свою позитивную роль даже при ультравысоких настройках графики. Тем более что нагрузка на видеокарту в обоих случаях достигала максимум 60%.

Игра DOOM на ультравысоких настройках графики позволила синхронизировать лишь первые несколько кадров, где перевес Core i7 составляет около 10 FPS. Рассинхронизация дельнейшего геймплея не позволяет определить степень влияния кэша на скорость видеоряда. В любом случае частота держалась выше 120 кадров/с, поэтому особого влияния даже 10 FPS на комфортность прохождения не оказывают.

Завершает мини-серию живых геймплеев Evolve Stage 2. Здесь мы наверняка увидели бы разницу между системами, поскольку в обоих случаях видеокарта загружена ориентировочно на половину. Поэтому субъективно кажется, что уровень FPS в случае Core i7 выше, но однозначно сказать нельзя, поскольку сцены не идентичные.

Более информативную картину дают бенчмарки. Например, в GTA V можно увидеть, что за городом преимущество 8 МБ кэша достигает 5-6 кадров/с, а в городе – до 10 FPS благодаря более высокой загрузке видеокарты. При этом сам видеоускоритель в обоих случаях загружен далеко не на максимум, и все зависит именно от CPU.

Третий ведьмак мы запустили с запредельными настройками графики и высоким профилем постобработки. В одной из заскриптованных сцен преимущество Core i7 местами достигает 6-8 FPS при резкой смене ракурса и необходимости подгрузки новых данных. Когда же нагрузка на процессор и видеокарту опять достигают 100%, то разница уменьшается до 2-3 кадров.

Максимальный пресет графических настроек в XCOM 2 не стал серьезным испытанием для обеих систем, и частота кадров находилась в районе 100 FPS. Но и здесь больший объем кэш-памяти трансформировался в прибавку к скорости от 2 до 12 кадров/с. И хотя обоим процессорам не удалось по максимум загрузить видеокарту, вариант на 8 МБ и в этом вопросе местами преуспевал лучше.

Больше всего удивила игра Dirt Rally, которую мы запустили с пресетом очень высоко. В определенные моменты разница доходила до 25 кадров/с исключительно из-за большего объема кэш-памяти L3. Это позволяло на 10-15% лучше загружать видеокарту. Однако средние показатели бенчмарка показали более скромную победу Core i7 — всего 11 FPS.

Интересная ситуация получилась и с Rainbow Six Siege: на улице, в первых кадрах бенчмарка, преимущество Core i7 составляло 10-15 FPS. Внутри помещения загрузка процессоров и видеокарты в обоих случаях достигла 100%, поэтому разница уменьшилась до 3-6 FPS. Но в конце, когда камера вышла за пределы дома, отставание Core i3 опять местами превышало 10 кадров/с. Средний же показатель оказался на уровне 7 FPS в пользу 8 МБ кэша. 

Как очистить кэш браузера (Google Chrome, Mozilla Firefox, Opera, Яндекс Браузер, IE)

Читайте статью, если хотите узнать, что такое кэш, зачем он нужен и как быстро очистить кэш интернет-браузера.

Что такое кэш

Чтобы понять, что такое кэш, нужно разобраться, как работают интернет-браузеры.

Дело в том, что любой сайт — это набор файлов. Файлы каждого сайта хранятся на одном из серверов в интернете. Чтобы попасть на сайт, сначала нужно найти его файлы в интернет-пространстве. Поэтому когда пользователь вводит запрос в поисковую строку, браузер сразу начинает искать сервер, на котором размещен сайт. Затем он обращается к этому серверу и запрашивает у него файлы сайта. Сервер дает ответ, и в браузере открывается искомая страница.

Этот процесс не виден пользователю, поскольку браузер выполняет его в автоматическом режиме. Со стороны пользователя процесс не выглядит сложным, однако на техническом уровне тратятся время и ресурсы системы.

Чтобы тратить меньше ресурсов, придумали систему кэширования. Кэш — это буферная зона на системном диске, в которой хранятся временные файлы браузера. Кэш позволяет хранить данные (скрипты, картинки, видео и другое) интернет-ресурсов и страниц сайтов, которые недавно посещал пользователь.

Если пользователь захочет зайти на один из ресурсов повторно, браузер возьмет файлы сайта из кэша — папки на системном диске компьютера. Это позволит значимо сократить время повторной загрузки страницы и сэкономить резервы интернет-системы.

Кэш легко перепутать с cookie-файлами и историей посещений браузера. Однако эти элементы слабо связаны друг с другом, поскольку имеют принципиальные различия. История браузера — это перечень всех интернет-ресурсов, на которые в определенный временной период заходил пользователь. Cookie — это небольшие отрывки данных, которые браузер запоминает, а затем использует при аутентификации (например, логин и пароль), воспроизведении настроек и подсчете статистики. В кэш попадает вся техническая информация (html-код, стили CSS, медиафайлы) страниц сайтов, на которые недавно заходил пользователь.

Для чего нужно чистить кэш

Можно сказать, что кэш — это кратковременная память браузера. Следовательно, в ней может хранится ограниченное количество данных и информации. Если в кэше набирается слишком много информации, система начинает функционировать хуже. В этом случае кэш затрудняет работу — страницы грузятся медленнее, браузер и вся система подвисает, что создает проблемы для пользователя.

Также «залежавшийся» кэш нередко играет злую шутку с пользователем. Самый яркий пример — страницы с ошибками. Если при первом переходе на сайт вы столкнулись с ошибкой, браузер запомнит его именно в таком виде. Даже если работа ресурса позднее будет восстановлена, при повторном переходе вы увидите всё ту же ошибку из кэша. Всё это наводит на мысль о том, что кэш необходимо регулярно чистить.

Система кэширования встроена во все современные интернет-браузеры. В инструкциях ниже мы покажем универсальные способы, с помощью которых можно очистить кэш в таких популярных браузерах, как Google Chrome, Mozilla Firefox, Opera, Яндекс.Браузер, Internet Explorer (Edge) и Safari.

С помощью наших инструкций вы сможете как очистить кэш браузера на ноутбуке, так и на стационарном компьютере и других устройствах. Чтобы удалить кэш с мобильного устройства на Android , используйте статью Как очистить кэш браузера на телефоне.

Очистка кэша в Google Chrome

Мы описали наиболее универсальный способ очистить кэш браузера Google. Если вы хотите узнать другие способы очистки, читайте статью Как очистить кэш в браузере Google Chrome.

  1. 1.

    В браузере нажмите на кнопку с тремя точками. Затем кликните Настройки:

  2. org/HowToStep»> 2.

    Пролистайте страницу до раздела «Конфиденциальность и безопасность» и нажмите Очистить историю:

  3. 3.

    Отметьте чекбокс «Изображения и другие файлы, сохраненные в кеше». Затем выберите нужный временной диапазон в выпадающем списке:

  4. 4.

    Кликните Удалить данные:

Очистка кэша в Яндекс.Браузер

Мы описали наиболее универсальный способ очистить кэш в браузере Яндекс. Если вы хотите узнать другие способы очистки, читайте статью Как очистить кэш в Яндекс.Браузере.

  1. 1.

    Нажмите в правом верхнем углу на кнопку с тремя горизонтальными полосками.

  2. org/HowToStep»> 2.

    Нажмите Настройки:

  3. 3.

    В левом меню выберите блок «Системные» и прокрутите страницу до конца. Нажмите Очистить историю:

    Обратите внимание! Для вызова настроек куки и кэша можно использовать горячие клавиши. Введите сочетание клавиш Ctrl + Shift + Del и перед вами откроется окно настроек.

  4. 4.

    В выпадающем списке отметьте временной промежуток и поставьте галочку напротив пункта «Файлы, сохраненные в кеше» и нажмите Очистить:

Очистка кэша в Mozilla Firefox

Мы описали наиболее универсальный способ очистить кэш в браузере Mozilla. Если вы хотите узнать другие способы очистки, читайте статью Как очистить кэш браузера Mozilla Firefox.

  1. org/HowToStep»> 1.

    Кликните в правом углу экрана на три горизонтальные линии и нажмите Настройки:

  2. 2.

    В левом меню выберите «Приватность и Защита». Прокрутите страницу до блока «Куки и данные сайтов» и нажмите Удалить данные:

  3. 3.

    Установите галочки в чекбоксах Кэш веб-содержимого и Куки и данные сайтов (если нужно). Нажмите Удалить:

Очистка кэша в Opera

Мы описали наиболее универсальный способ очистки кэша браузера Opera. Если у вас Windows и вы хотите узнать другие способы, читайте статью Как очистить кэш в браузере Оpеrа на Windows.

  1. 1.

    В браузере нажмите на кнопку с тремя перечеркнутыми полосками. Затем кликните Открыть все настройки браузера:

    Также на этом шаге вы можете кликнуть правой кнопкой мыши на стартовой странице и нажать Настройки:

  2. 2.

    Пролистайте страницу до раздела «Конфиденциальность и безопасность» и нажмите Очистить историю посещений:

  3. 3.

    Отметьте чекбокс «Изображения и другие файлы, сохраненные в кеше». Затем в выпадающем списке выберите нужный временной диапазон:

  4. 4.

    Кликните Удалить данные:

Очистка кэша в Microsoft Edge

Мы описали наиболее универсальный способ очистки кэша в браузера Edge. Если вы хотите узнать другие способы очистки, читайте статью Как очистить кэш в браузере Microsoft Edge.

  1. 1.

    В правом верхнем углу браузера нажмите на три точки. Выберите Журнал:

    Также можно использовать горячие клавиши Ctrl+Shift+Delete. В этом случае сразу переходите к шагу 3.

  2. 2.

    Нажмите на Удалить данные о просмотре веб-страниц:

    Как почистить кэш на хостинге

  3. 3.

    Выберите временной диапазон. Отметьте чекбоксы Журнал браузера и Файлы cookie и другие данные сайтов (если нужно).

  4. 4.

    Нажмите Удалить сейчас:

Очистка кэша в Internet Explorer

Мы описали наиболее универсальный способ очистки кэша в браузера Internet Explorer 11. Если вы хотите узнать другие способы очистки, читайте статью Как очистить кэш в браузере Internet Explorer.

  1. 1.

    Откройте браузер, нажмите значок настроек в верхнем правом углу и выберите в открывшемся списке Свойства браузера:

  2. 2.

    Во вкладке «Общие» нажмите Удалить:

  3. 3.

    Поставьте чекбоксы напротив пунктов «Временные файлы Интернета и веб-сайтов» и «Файлы cookie и данные веб-сайтов», затем нажмите Удалить:

Очистка кэша в Safari

Чтобы очистить кэш в Safari:

  1. 1.

    В панели управления браузера нажмите Safari. Затем кликните Настройки (Preferences).

  2. 2.

    Поставьте галочку напротив пункта «Показывать меню Разработка в строке меню» (Show Develop menu in menu bar). В панели появится вкладка Разработка (Develop).

  3. 3.

    Нажмите Разработка (Develop) и кликните Очистить кэш (Empty Caches).

Изменения на сайте отображаются не сразу

Что делать, если изменения на сайте отображаются не сразу:

  1. 1.

    Очистите кэш браузера. Возможно, ваш браузер закэшировал старую страницу сайта и показывает неактуальную версию. Для очистки используйте одну из инструкций выше.

  2. 2.

    Очистите кэш CMS, если вы его используете.

  3. 3.

    Добавьте директивы php.ini. Некоторые сборки PHP идут с кэширующем модулем:

    • «5.3-with-xcache» — XCache;
    • «5.4-bx-optimized2» — XCache;
    • «5.4-with-xcache» — XCache;
    • «5.5-bx-optimized» — OPcache;
    • «5.5» — OPcache;
    • «5.6-bx-optimized» — OPcache.
    • «5.6» — OPcache;
    • «7.0» — OPcache.

    Если вы используете одну из этих сборок и хотите, чтобы изменения на сайте отображались сразу, то добавьте директивы в «php.ini». Подробнее читайте в статье Как редактировать php.ini.

    Для версий php «5.5», «5.6», «7.0»

    Для версий php «5.3» и «5.4»

Теперь вы понимаете, что такое кэширование, что значит очистить кэш браузера на компьютере и как это делается в популярных интернет-браузерах.

Помогла ли вам статья?

104 раза уже помогла

Веб-кэширование

Кэширование веб-содержимого помогает улучшить скорость отклика ваших веб-сайтов за счет снижения нагрузки на внутренние ресурсы и перегрузки сети. Веб-кеширование выполняется путем сохранения HTTP-ответов и веб-ресурсов в кеше с целью выполнения будущих запросов из кеша, а не от исходных серверов.

Для эффективного использования веб-кеша можно применять различные методы веб-кэширования. Самый базовый уровень — это веб-кеширование на стороне клиента, когда пользователь веб-сайта использует встроенный HTTP-кеш, встроенный в браузер.Это упрощенная мера, которая может использоваться для уменьшения задержки, связанной с запросом веб-ресурсов с веб-сайта. Методология кэширования основана на директивах HTTP-заголовка, предоставляемых HTTP-ответом от исходных серверов браузеру. Заголовки кэша HTTP предоставляют подробную информацию о том, как долго браузер может выполнять будущие ответы из кеша на запрошенный веб-контент.

На стороне сервера можно использовать различные методы веб-кэширования для повышения производительности веб-сайта.Кеши обратных прокси-серверов или ускорители веб-приложений могут быть размещены перед приложениями и веб-серверами, чтобы обслуживать кешированную версию HTTP-ответов, сохраненных от них. Эти кеши реализуются администраторами сайта и действуют как посредники между браузером и исходными серверами. Они также обычно основаны на директивах кеширования HTTP.

Другая форма веб-кэширования на стороне сервера включает использование хранилищ ключей / значений, таких как Memcached и Redis. В отличие от обратных прокси-серверов, которые используются для простого кеширования HTTP-ответа на данный HTTP-запрос.Хранилище объектов типа «ключ-значение» может использоваться для кэширования любого веб-контента, необходимого разработчику приложения. Веб-контент обычно извлекается с помощью кода приложения или использования инфраструктуры приложения, которая может использовать хранилище данных в памяти. Еще одно преимущество использования хранилищ ключей / значений для веб-кеширования заключается в том, что они также обычно используются для хранения веб-сеансов и другого кэшированного контента. Это обеспечивает единое решение для различных вариантов использования. Чтобы узнать больше о магазинах «ключ-значение», предлагаемых в Amazon, посетите Amazon ElastiCache.

Другие формы веб-кэширования могут быть реализованы в сетевых компонентах и ​​с поставщиками услуг Интернета.

Стоит ли? У нас есть эталонный тест здесь

Вы, наверное, слышали о кэшировании SSD (твердотельный накопитель) и о том, как выделение определенной части вашего SSD в качестве кеша может помочь повысить производительность вашей системы, но что именно такое кеш SSD?

Если вы здесь ради этого, у нас есть все, что вам нужно знать.

Что такое кэш?

Прежде чем мы начнем говорить о кэшах SSD, давайте сначала определим, что такое кэш

Вы можете думать о тайнике как о складском помещении, где хранятся предметы для будущего использования.

В случае компьютерного кеша — это место в аппаратном обеспечении вашего компьютера (ОЗУ, ЦП, жесткий диск, SSD), в котором хранятся как недавно использованные, так и часто используемые программы, чтобы ваш компьютер мог легко загрузить их в следующий раз, когда они вам понадобятся. По сути, это сокращает время загрузки и помогает программам выполняться намного быстрее.

Хорошим примером кеша является кеш вашего веб-браузера. Изображения, HTML, Javascript и другие данные кэшируются локально, когда вы просматриваете Интернет, поэтому часто посещаемые вами страницы загружаются быстрее при следующем их открытии.

Что такое SSD-кэш?

Кэш SSD — это когда вы используете часть или весь SSD в качестве кеша (минимум 18,6 ГБ). Итак, кэширование SSD, также известное как кэширование флэш-памяти , — это процесс хранения временных данных на микросхемах флэш-памяти SSD.А поскольку твердотельные накопители используют быстрые ячейки флеш-памяти NAND, запросы данных и общая производительность вычислений будут значительно выше.

Фактически, если вы используете только обычный жесткий диск, то кэширование SSD — одно из самых экономичных обновлений, которые вы можете сделать в обмен на более быструю загрузку и загрузку. Мы говорим о переходе с 30 секунд загрузки (или дольше) до 8 секунд (более или менее), и вы получите более отзывчивую систему в целом. Мы расскажем больше о том, как это может сэкономить вам деньги в ближайшее время.

Однако, если вы уже используете твердотельный накопитель в качестве единственного средства хранения, то на самом деле вы ничего не выиграете от кэширования на твердотельном накопителе.

Типы кэширования SSD

Существуют разные типы кэширования SSD, которые могут использоваться, соответственно, в разных обстоятельствах:

  • Кэширование SSD с записью данных
  • Кэширование SSD с обратной записью
  • Кэширование SSD со сквозной записью

Кэширование SSD с обратной записью

Кэширование SSD с обратной записью — это процесс прямой записи данных в основное хранилище с первоначальным обходом кеша.Однако, поскольку данные, которые в конечном итоге кэшируются, сначала отправляются на фактический SSD, процесс перемещения этих данных обратно в кеш будет медленнее. В конце концов, нет кеша, который помогал бы перемещать вещи в кеш (это просто кеш-память до конца…).

Тем не менее, эта система невероятно эффективна, потому что данные копируются обратно в кэш только тогда, когда данные распознаются как «горячие» (другими словами, когда данные определены для частого использования). Это означает, что кеш не будет переполнен нерелевантными данными и будет кэшировать только те данные, для которых кэширование наиболее выгодно.

Кэширование SSD с обратной записью

Кэширование SSD с обратной записью сначала записывает данные в кэш SSD, а затем отправляет их на основное устройство хранения только после того, как данные были полностью записаны в кэш SSD.

Помните, что кэширование намного лучше, чем обычные операции чтения-записи, поэтому это приводит к низкой задержке как для операций записи, так и для операций чтения. Но в случае сбоя кеша кэшированные данные будут потеряны. Вот почему производители, использующие этот тип кэширования, вкладывают средства в продукты, которые делают дублирующиеся записи, чтобы обойти проблему.

Кэширование SSD со сквозной записью

Кэширование SSD со сквозной записью одновременно записывает данные как в кэш SSD, так и в хранилище основного устройства. В наши дни это также широко используемые решения для кеширования и гибридного хранения.

Данные будут доступны из кэша SSD только тогда, когда хост подтвердит, что операция записи завершена как в кэше SSD, так и на основном устройстве хранения.

Какой тип кэширования SSD лучше всего подходит для вас?

  • Кэширование SSD с обратной записью лучше всего подходит, если вы не хотите переполнять кеш данными, которые вы не будете использовать очень часто.Однако это приводит к увеличению задержки при загрузке распознанных «горячих» данных обратно в кэш.
  • Кэширование SSD с обратной записью является самым быстрым, поскольку ему не нужно ждать завершения работы базового хранилища. Но даже несмотря на то, что это решает проблемы с задержкой, данные всегда будут подвергаться риску, поскольку сбой питания может повредить данные.
  • Кэширование SSD со сквозной записью — наиболее распространенный сегодня тип кэширования. Данные записываются как в кеш, так и в базовое хранилище одновременно, и запись считается завершенной только тогда, когда она записывается в ваше хранилище.Это делает его самым безопасным, но и самым медленным методом.

Как работает кэширование SSD?

Независимо от того, как данные кэшируются, файлы, необходимые для запуска программы, будут загружаться с устройства хранения в соответствии с иерархией различных уровней временного хранения.

Обычно это начинается с самой быстрой кэш-памяти вплоть до самой медленной кэш-памяти, в зависимости от времени отклика данных. Таким образом, файлы с быстрым откликом отправляются прямо в кэш ЦП, а данные с более медленным откликом поступают в ОЗУ, а затем — по крайней мере, в приведенном ниже примере — жесткий диск оказывается последним.

Уловка? Хотя жесткий диск является самым медленным из них — это означает, что вы не хотите получать доступ к данным, которые находятся там слишком часто, — он также содержит большую часть ваших данных.

Однако, когда кэширование SSD настроено, оно находится между ОЗУ и жестким диском, поскольку его скорость кеширования выше, чем у жесткого диска (но все же медленнее, чем у ОЗУ).

Добавление в систему еще одного места для поиска данных — вот что делает все быстрее, поскольку кэш SSD намного быстрее, чем кэш обычных жестких дисков.

Как это помогает мне сэкономить деньги?

Купить SSD такого же размера, как и ваш жесткий диск, очень дорого. Однако небольшой SSD не должен прожечь огромную дыру в вашем кошельке. Так что, если SSD на 500 ГБ для вас слишком дорого, SSD на 64 ГБ или даже 32 ГБ должно быть более чем достаточно, чтобы дать вам огромный прирост скорости без чрезмерных затрат.

Что мне нужно для правильного выполнения кэширования SSD?

Если вы используете процессор Intel

Использовать память SSD NAND в качестве кеш-памяти в системе Intel очень просто, и все, что вам нужно, это следующее:

  • Системная плата для настольных ПК на базе набора микросхем Intel® Z68, Z87, Q87, H87, Z77, Q77 или Intel® H77 Express
  • Процессор Intel® Core ™
  • в корпусе LGA 1155 или 1150
  • Системная BIOS с режимом SATA, установленным на RAID
  • Программное обеспечение Intel® RST 10. Версия 5 или более поздняя
  • Один жесткий диск или несколько дисков в одном томе RAID
  • Твердотельный накопитель (SSD) минимальной емкостью 18,6 ГБ
  • Операционные системы Windows 7, Windows 8 или Windows 10 (32- и 64-разрядные версии)

Прежде всего настройте режим SATA в BIOS.

Шаг 1: Включите компьютер и несколько раз нажмите клавишу F2 , чтобы загрузить меню BIOS.

Шаг 2: Перейти к Настройка дисков SATA Опция .

Шаг 3: Выберите настройку для Chipset SATA Mode и измените значение на RAID .

Шаг 4: Нажмите клавишу F10 , чтобы сохранить настройки и перезапустить систему.

Включение технологии Intel Smart Response (SRT)

Чтобы использовать кэширование SSD, убедитесь, что вы установили здесь все необходимые драйверы устройств и последнюю версию программного обеспечения Intel SRT. Когда закончите, выполните следующие действия:

Шаг 1: Откройте и запустите программное обеспечение Intel RST.

Шаг 2: Щелкните Включить ускорение в меню Состояние или Ускорение .

Шаг 3: Выберите SSD для устройства кэш-памяти.

Шаг 4: Выберите размер SSD для выделения в качестве кэш-памяти.

ПРИМЕЧАНИЕ : Оставшееся пространство на твердотельном накопителе можно использовать для хранения данных с помощью однодискового тома RAID 0, который создается автоматически.

Шаг 5: Выберите том RAID (диск), который вы хотите ускорить.

Шаг 6: Выберите расширенный режим (сквозная запись) или максимизированный режим (обратная запись).

Примечание: Максимальный режим оптимизирует производительность ввода / вывода, а расширенный режим оптимизирует защиту данных. Если вы не уверены, выберите расширенный режим . При этом данные одновременно записываются как в кэш SSD, так и в хранилище основного устройства, чтобы гарантировать, что данные не будут потеряны при отключении питания или внезапном отключении питания.

Шаг 7: Щелкните OK. Страница должна обновиться, и должно появиться приглашение показать, что новая конфигурация ускорения успешно настроена. После всего этого ваши данные будут кэшироваться на SSD!

Если вы используете процессор AMD

Благодаря недавнему выпуску StoreMI (проприетарного программного обеспечения AMD, которое функционирует так же, как программное обеспечение Intel Smart Response Technology), пользователи AMD теперь могут воспользоваться преимуществами скорости твердотельного накопителя при использовании жесткого диска в качестве основного устройства хранения.

Прежде чем вы сможете использовать твердотельный накопитель в качестве кэша для жесткого диска в системе AMD, ваша система должна соответствовать минимальной конфигурации:

  • AMD RyZen, материнская плата серии 4xx
  • Минимум 4 ГБ ОЗУ (6 ГБ ОЗУ для поддержки кеш-памяти)
  • Безопасная загрузка НЕ ​​включена (дополнительные сведения см. В документации по системе)
  • Никаких других SSD-кешей или программных RAID-решений AMD не установлено
  • В настройках диска SATA в BIOS установлено значение AHCI, а не RAID
  • Операционная система Windows 10

Другие моменты, на которые следует обратить внимание…

  • StoreMI поддерживает не только настольные компьютеры Ryzen, но и процессоры A ‐ series / Athlon для настольных ПК (в материнских платах серии 4xx с сокетом AM4) и процессоры Ryzen Threadripper (в материнских платах sTR4).
  • Если вы хотите использовать загрузочные уровни размером> 2 ТБ, система должна быть настроена на загрузку в режиме UEFI с загрузочной установкой ОС Windows UEFI, поскольку Windows 10 не поддерживает загрузочные диски> 2 ТБ в устаревшем режиме загрузки.
  • Убедитесь, что вы устанавливаете Windows на жесткий диск, а не на твердотельный накопитель, когда начинаете новую установку Windows, чтобы избежать проблем в долгосрочной перспективе.
  • При преобразовании загрузочного диска SSD или NVMe, размер которого превышает 256 ГБ, требуются дополнительные действия.(См. ВАЖНО в разделе Создание загрузочного многоуровневого диска StoreMI — Добавление твердотельного накопителя к существующему загрузочному диску ниже)

Прежде всего, как и в первом шаге выше, найдите в BIOS режим SATA и установите для контроллера SATA значение AHCI, а не , а не RAID. После этого нажмите клавишу F10 , чтобы сохранить и перезапустить систему.

ВАЖНОЕ ПРИМЕЧАНИЕ ПО КЭШЕНИЮ SSD: Кэширование SSD может улучшить ваше общее впечатление и производительность, но помните, что это также влияет на срок службы вашего SSD.Прочтите больше о надежности SSD, чтобы узнать больше об этом.

Включение AMD StoreMI

Убедитесь, что вы загрузили и установили последнюю версию программного обеспечения и драйверов AMD StoreMI , нажав кнопку ЗАГРУЗИТЬ СЕЙЧАС , расположенную здесь. При появлении запроса перезагрузите систему, чтобы завершить установку.

Примечание : при использовании экспресс-опции для установки вы можете дополнительно просмотреть текущий диск

с помощью параметра информации AMD Drive Controller для проверки настройки диска.

Создание загрузочного многоуровневого диска StoreMI — добавление SSD к существующему загрузочному диску HDD

Шаг 1 : Нажмите кнопку Create Bootable StoreMI после открытия приложения StoreMI.

Шаг 2 : Преобразуйте существующий загрузочный диск в многоуровневый диск StoreMI.

Примечание : Правильные диски обычно выбираются автоматически, если вы выбираете Auto Drive Select . В противном случае вам будет предложено выбрать, какой диск переходит на быстрый уровень (ваш SSD), а какой — на медленный уровень (ваш жесткий диск), если вы выбираете диски вручную.Не расстраивайтесь, если вы видите диск, выделенный серым цветом, потому что он используется как диск с данными или как раздел.

Шаг 3 : Нажмите кнопку Создать , следуйте инструкциям и перезагрузите систему, когда будет предложено.

Шаг 4 : При загрузке Windows убедитесь, что система правильно загрузилась из StoreMI, открыв Disk Manager (набрав diskmgmt.msc через командную строку ), а также для доступа к возможности расширения тома для Windows.

Примечание : Если расширение загрузочного тома не было завершено автоматически, щелкните правой кнопкой мыши раздел C: в диспетчере дисков и выберите Extend Volume , чтобы вручную развернуть загрузочные тома.

ВАЖНО: Следует также отметить, что StoreMI поддерживает только быстрый уровень емкости 256 ГБ. Если у вас есть твердотельный накопитель без операционной системы с объемом памяти более 256 ГБ, оставшаяся неиспользованная емкость будет представлена ​​как дополнительный виртуальный твердотельный накопитель , который можно отформатировать и использовать в качестве временного хранилища.

Кроме того, вы также можете получить пакет Enmotus FuzeDrive ™ за 59,99 долларов для AMD Ryzen ™, если хотите использовать до 1 ТБ хранилища в качестве накопителя быстрого уровня.

Но помните, что выбор опции Remove StoreMI также удаляет дополнительный виртуальный SSD, который используется в качестве временного хранилища, поэтому убедитесь, что вы сделали резервную копию всего на этом виртуальном SSD, прежде чем выполнять процесс удаления.

Расширьте емкость существующего загрузочного диска SSD

Шаг 1 : Откройте приложение StoreMI и щелкните Create Bootable StoreMI .

Шаг 2 : Выберите доступный пустой SSD или HDD из вариантов. Вручную выберите доступный SSD или HDD, если система не делает этого автоматически.

Примечание : Если на твердотельном накопителе имеется более 256 ГБ памяти, появится сообщение о том, что оставшееся пространство можно использовать как обычный диск. Но имейте в виду, что вам понадобится сторонний инструмент миграции, чтобы перенести ОС с загрузочного диска на твердотельный накопитель большей емкости. Сделайте это сначала, когда будет предложено, и удалите ОС с меньшего SSD после завершения.Когда процесс миграции завершится, переходите к шагу 3 ниже.

Здесь также стоит отметить, что содержимое виртуального SSD будет удалено, если вы выберете опцию Remove StoreMI .

Шаг 3 : Нажмите кнопку Создать , следуйте инструкциям и перезагрузите систему, когда будет предложено.

Шаг 4 : При загрузке Windows убедитесь, что система правильно загрузилась из StoreMI, открыв Disk Manager (набрав diskmgmt.msc через командную строку ), а также для доступа к расширению объема Windows.

Кроме того, вы также можете включить функцию кэширования ОЗУ с помощью утилиты конфигурации StoreMI, которая находится на панели задач. Просто откройте утилиту StoreMI, используйте опцию Изменить настройки и выберите доступный режим кеширования ОЗУ: 2 ГБ. Чтобы подтвердить изменение, нажмите Изменить уровень .

Оценка производительности

Тесты были запущены на самом твердотельном накопителе, на самом жестком диске, а также на жестком диске и твердотельном накопителе, настроенных как кэш Smart Response Technology с использованием программного обеспечения Intel SRT.Я скажу вам заранее: возвращение к механическому жесткому диску для установки Windows и выполнения тестов после того, как в течение многих лет не использовались только твердотельные накопители, было мучительно медленным. Итак, вот мой субъективный анекдот для статьи. 🙂

Однако мы не тестировали кэширование SSD с помощью программного обеспечения AMD StoreMI, но мы были бы склонны ожидать аналогичных результатов.

Следует отметить, что до тех пор, пока данные не будут фактически кэшированы на SSD, они будут работать с механического диска. Однако, если бы мы предварительно кэшировали все программное обеспечение, результаты тестов были бы искажены.Чтобы воспроизвести реалистичную среду тестирования, я установил Windows и все тестовое программное обеспечение на механический диск, а затем установил кеш, как обычно делает пользователь.

Во-первых, давайте посмотрим на некоторые быстрые результаты «мгновенного удовлетворения». Повлияет ли кэширование SSD на скорость копирования файлов? Как насчет установки новых программ и загрузки Windows?

Тест копирования файла

Чтобы проверить производительность копирования файлов, мы скопируем установочный каталог Steam размером 22 ГБ с твердотельного накопителя Samsung 830 Series в каждую настройку диска.Это расскажет нам, как влияет реальная скорость записи. Если кэширование SSD используется правильно, оно должно быть примерно таким же, как у выделенного SSD:

.

Вот и все, копирование файла с другого диска на кэшированный диск примерно такое же, как копирование на выделенный SSD. Отсюда программное обеспечение продолжит копирование файлов на механический диск, позволяя перезаписывать данные более важными данными.

Установка программы

Затем мы установим программу с одного и того же SSD на каждый накопитель.Это должно быть похоже на прямую копию файла. В качестве примера мы используем Photoshop CS6:

И снова кеш позволяет нам устанавливать на диск со скоростью SSD. Как видите, разница огромна: время сокращается более чем вдвое.

Время загрузки Windows

Всем известно, что самое заметное улучшение производительности, которое может дать SSD, — это время загрузки Windows. В то время как механическим дискам требуется больше минуты для загрузки Windows, SSD может сделать это менее чем за 10 секунд — это первое, что замечает большинство пользователей SSD после установки нового диска.Но что, если вы используете кэшированный диск?

После первой перезагрузки системы важные файлы Windows отправляются в кэш, и раздел кеша работает так же, как SSD.

Далее мы приступим к работе и посмотрим, как кэшированный диск работает в реальных офисных приложениях:

SSD-кэш и SYSMark 2012

SYSMark 2012 — идеальное приложение для тестирования производительности кэша SSD в офисных приложениях. Поскольку он запускает заранее запрограммированные задачи через реальные приложения в реальном времени, он позволит отразить в оценках любые улучшения, внесенные за счет увеличения времени загрузки программ и данных.

На этот раз мы не выполняли «кондиционирующий прогон», который позволил бы предварительно загрузить большую часть данных в кэш-диск, что немного исказило бы результаты. Вместо этого мы взяли среднее значение трех прогонов каждого теста. Это дает нам представление об общей производительности кэш-накопителя SSD после того, как он использовался в течение некоторого времени.

Теперь следует отметить, что даже небольшое увеличение балла является весьма значительным, поскольку это не тест хранилища, а тест общей производительности системы .Мы будем пропускать комплекты, которые ограничены исключительно процессором, а не производительностью хранилища (3D-моделирование, кодирование мультимедиа).

Производительность офиса

Некоторые из этих действий выполняются одновременно для моделирования типичного многозадачного поведения.

Производительность офиса

Используемая программа Выполненные задачи
ABBYY FineReader Pro 10 Объединение нескольких отсканированных страниц из сложного документа в зашифрованный документ PDF с помощью оптического распознавания символов (OCR)
Microsoft Word 2010 Используйте расширенную программу распознавания текста для преобразования отсканированных страниц сложных и простых документов в редактируемые текстовые документы.
Adobe Acrobat Pro 9 Создание PDF-файла с заполняемыми полями формы из отсканированных страниц
Adobe Flash Player 10.1 Создание и просмотр сложных презентаций, включающих картинки и видео
Microsoft Excel 2010 Использование программы для работы с электронными таблицами для анализа данных
Microsoft Internet Explorer 8 Используйте несколько вкладок для просмотра блога, интернет-магазина, вики-сайта и сайта социальной сети
Проверить почту в приватном сеансе браузера
Создайте сообщение в блоге и выполните слияние
Microsoft Outlook 2010 Чтение, создание и поиск сообщений электронной почты
Создание и выполнение правила для почтового ящика
Microsoft PowerPoint 2010 Создание и просмотр сложных презентаций, включающих картинки и видео
Mozilla Firefox 3.6,8 Использование нескольких вкладок для просмотра блога, сайта интернет-магазинов, вики-сайта и сайта социальной сети
Проверить почту в приватном сеансе браузера
Создайте сообщение в блоге и выполните слияние
WinZip Pro 14,5 Архивирование разнообразного набора файлов в один зашифрованный файл

Поскольку в этом пакете выполняется так много общих задач, это, вероятно, самый значимый результат для большинства людей.И, как вы можете видеть, кэш SSD работает очень хорошо, обеспечивая огромный прирост производительности по сравнению со стандартным механическим жестким диском.

Веб-разработка

Веб-разработка

Используемая программа Выполненные процессы, относящиеся к веб-разработке
Adobe Photoshop CS5 Extended Разместите графику и создайте значки для веб-сайта с помощью приложения для редактирования изображений
Использование пакетной обработки для управления набором фотографий для использования в веб-фотогалерее
Adobe Premiere Pro CS5 Объедините изображения, видеоклипы и аудио в видео с помощью приложения для редактирования видео, а затем закодируйте видео в готовый к Интернету формат
Adobe Dreamweaver CS5 Соберите графику, галерею и видео в функциональный веб-сайт, используя приложение для веб-разработки, исправляя ссылки и перемещая документы по мере необходимости
Microsoft Internet Explorer 8 Предварительный просмотр страниц в нескольких веб-браузерах
Mozilla Firefox 3.6,8

Аналогичным образом, пакет веб-разработки значительно выигрывает как от чистого SSD, так и от SSD-кеша.

Данные / Финансовый анализ

Данные / Финансовый анализ

Используемая программа Задача выполнена
Microsoft Excel 2010 Создавайте прогнозы продаж по регионам и валютам на основе исторических данных и создавайте сводные графики и сводные таблицы с помощью приложения для работы с электронными таблицами.

Загрузка электронных таблиц в Excel выполняется намного быстрее с SSD, и SSD-кеш также хорош в этом тесте.

Управление системой

Управление системой

Используемая программа (ы) Выполненные процессы, относящиеся к управлению системой
Mozilla Firefox (несколько версий) Установите и затем обновите приложение, используя полный установщик приложения и установщики исправлений
WinZip Pro 14.5 Выполните (смоделированное) полное резервное копирование системы с использованием шифрования, а затем, после внесения изменений в исходный набор данных резервной копии, выполните две зашифрованные инкрементные резервные копии
Восстановить обе резервные копии
Создайте зашифрованный архив различных конфиденциальных файлов для передачи по незащищенным каналам связи и еще один незашифрованный архив различных файлов
Распакуйте исходную резервную копию и две инкрементные резервные копии
Командная строка WinZip 3.2 Распакуйте зашифрованные и незашифрованные архивные файлы

Этот тест включает в себя чтение и запись большого количества файлов с шифрованием и сжатием. Опять же, кеш SSD работает так же хорошо, как и автономный SSD.

Кроме того, позвольте мне напомнить вам, что это общий тест производительности системы, поэтому тот факт, что оценки значительно улучшаются, если просто установить диск за 100 долларов и использовать его в качестве кеша, довольно впечатляет и говорит нам почти все, что нам нужно знать. .

Прежде чем делать какие-либо выводы, давайте взглянем на игровую производительность:

Игровая производительность

Чтобы увидеть, как кэш-накопитель SSD может повлиять на производительность в играх, мы загрузим несколько игр и измерим время загрузки уровня. Тесты выполнялись трижды (чтобы данные можно было кэшировать) с перезагрузкой между каждым запуском (в противном случае в игру вступает ОЗУ).



После кэширования игры уровень загружается так же, как и на выделенном SSD.Обратите внимание: все они загружаются примерно на 7 секунд быстрее с кешем SSD или SSD. И, если вы играли в Skyrim , вы знаете, что эти дополнительные 7 секунд могут иметь огромное значение.

Если вам интересно, сколько времени или сколько загрузок требуется для кэширования игры, ответ — по моему опыту — один раз. Возможно, вам придется мириться с 15-20-секундной нагрузкой, если вы не играли в игру какое-то время, но как только вы это сделаете, данные будут кэшированы, и они снова начнут работать с SSD.Все это делается без какого-либо вмешательства со стороны пользователя.

Заключение

Результаты тестов говорят сами за себя.

Если вы спрашиваете, стоит ли использовать SSD в качестве кэш-памяти, то я предполагаю, что вы не прочитали оставшуюся часть статьи, потому что ответ на этом этапе должен быть явно очевиден. Иногда люди делают что-то из-за менталитета толпы; это плохая идея, но все так делают, так почему бы и нет? Однако в других случаях все делают то же самое просто потому, что это работает.В этом случае тот факт, что многие пользователи делают это как дешевый способ повысить производительность, является доказательством того, что иногда толпа права.

Если у вас уже есть SSD в качестве основного диска, а игры и большие файлы находятся на механическом диске, все равно стоит приобрести второй SSD, который будет использоваться в качестве кэша для механического диска. Эти небольшие вложения в приобретение твердотельного накопителя емкостью 32 или 64 ГБ и использование его в качестве кеш-памяти жесткого диска окупятся за счет повышения производительности.

Фактически, поскольку твердотельные накопители становятся все дешевле и дешевле, у вас не должно быть причин не использовать твердотельный накопитель на 64 ГБ в качестве кэш-памяти для жесткого диска.

Почему мне нужно очищать кеш?

Если у вас есть компьютер какое-то время, вы, вероятно, испытали страх замедления интернета. Если становится достаточно плохо, что вам нужно обратиться за технической поддержкой, одно из первых, что они скажут вам попробовать, — это очистить кеш браузера. Но что вообще дает очистка кеша? Почему это помогает?

Какой у вас кэш браузера?


Ваш кеш — это имя части вашего жесткого диска, предназначенной для хранения файлов браузера, которые, по мнению вашего браузера, могут потребоваться снова.Веб-страницы наполнены информацией, и эта информация хранится в десятках, сотнях, а иногда и в тысячах файлов только для одного сайта. Ваш браузер будет кэшировать части страницы для вас, поэтому при будущих посещениях время загрузки будет быстрее, что улучшит ваш общий опыт работы в Интернете.

Почему я должен очищать кеш?

Ваш браузер будет хранить такие вещи, как файлы, стили CSS, сценарии JavaScript, изображения и другой мультимедийный контент. Вот почему, когда вы работаете с фирмой по веб-разработке и запрашиваете обновления, такие как изменение шрифта (цвет / размер), мы просим вас чаще очищать кеш, чтобы видеть эти изменения в режиме реального времени.

Когда на ваш веб-сайт вносятся изменения, такие как обновление логотипа, изменение изображения, увеличение шрифта или изменение цветов, у вас могут возникнуть проблемы с кешем вашего браузера. Иногда ваш браузер загружает вашу кэшированную информацию вместо обновленных частей страницы, которые вы хотите просмотреть. Это может привести к замедлению работы, появлению ошибок с изображениями или к тому, что вы не увидите то же самое, что вам сообщает ваша компания по веб-разработке.

По этой причине, если вы работаете с веб-страницами и вносите изменения на сайт.Важно очистить кеш, чтобы вы могли видеть изменения в том виде, в каком они будут видны любому, кто впервые просматривает страницу.

Что делает очистка моего кеша?

Очистка кеша именно так, как это звучит. Вы удаляете всю сохраненную информацию с локального жесткого диска, которая была сохранена в кеше. Когда вы вернетесь на веб-сайты, на которых вы были в прошлом, ваш браузер «подумает», что вы никогда не были на этой странице раньше, и кеширует свежую информацию об обновлениях с этих веб-сайтов.

Как часто следует очищать кэш?

Если вы регулярно работаете с веб-страницами и вносите изменения, отличные от простого ведения блога, вам следует регулярно очищать кеш. Убедитесь, что вы сможете видеть любые изменения, которые были внесены на ваш сайт, по мере их внесения.

Если вы не делаете много изменений веб-страницы или хотите видеть веб-изменения в режиме реального времени, возможно, вам лучше очищать кеш только один раз в месяц или два раза в месяц.

Как очистить кэш?

Очистка кеша зависит от браузера.Пожалуйста, ознакомьтесь с нашими инструкциями ниже для вашего конкретного браузера:

Как очистить кеш в Chrome

  1. В строке браузера введите: chrome: // settings / clearBrowserData
  2. Выберите следующее:
    • Файлы cookie и другие данные сайтов и подключаемых модулей
    • Кэшированные изображения и файлы

      В раскрывающемся меню «Удалить следующие элементы из» вы можете выбрать период времени, в течение которого вы хотите очистить кэшированную информацию. Чтобы полностью очистить кеш, выберите начало времени .

  3. Щелкните Очистить данные просмотра.
  4. Закройте все окна браузера и снова откройте его.

Как очистить кеш в Firefox

  1. В меню «История» выберите Очистить недавнюю историю.

    Если строка меню скрыта, нажмите Alt, чтобы сделать ее видимой.

  2. В раскрывающемся меню «Диапазон времени, который нужно очистить»: выберите требуемый диапазон; чтобы полностью очистить кеш, выберите Все.
  3. Рядом с «Подробностями» щелкните стрелку вниз, чтобы выбрать, какие элементы истории нужно очистить; чтобы очистить весь кеш, выберите все элементы.
  4. Щелкните Очистить сейчас.
  5. Закройте все окна браузера и снова откройте его.

Как очистить кеш в Microsoft Edge

  1. В правом верхнем углу щелкните значок концентратора (выглядит как три горизонтальные линии).
  2. Щелкните значок «История» и выберите «Очистить всю историю».
  3. Выберите файлы cookie и сохраненные данные веб-сайта, а затем кэшированные данные и файлы. Щелкните Очистить.
  4. После «Все ясно!» появится сообщение, выйдите / закройте все окна браузера и снова откройте браузер.

Как очистить кеш в Safari

  1. Выберите «История» в строке меню
  2. Очистить историю
  3. Щелкните всплывающее меню> Затем выберите, как далеко вы хотите, чтобы история просмотров была очищена

Подробнее о Virteom

Virteom — это технологическая компания, которая помогает компаниям расти с помощью кампаний по привлечению потенциальных клиентов и интеллектуальных веб-сайтов. Если вы хотите узнать больше о том, как мы можем помочь вам расширить охват, привлечь новых клиентов и в целом улучшить вашу компанию, ознакомьтесь с нашими услугами и свяжитесь с нами сегодня!


Если у вас по-прежнему возникают проблемы с просмотром сообщений об изменениях из Virteom — напишите в нашу службу поддержки клиентов, чтобы получить немедленную помощь.

Почему мы кэшируем? | Hacker Noon

Кэширование — фундаментальная и вездесущая концепция в компьютерных науках. Когда вы хотите получить данные, поиск которых требует больших затрат (с точки зрения времени или ресурсов), вы кешируете их, чтобы в следующий раз, когда вам понадобились те же данные, это было намного дешевле. Кэширование может значительно улучшить производительность без особых усилий в определенных ситуациях. Концепция везде: кеши памяти, используемые процессором вашего компьютера и кешами браузера. Кеши есть везде, включая Spotify, Redis, Spotify и Redis.

Алекс Ландау

Инженер-программист

Кэширование — фундаментальная и вездесущая концепция в информатике. От кешей памяти, используемых центральным процессором вашего компьютера, до кеша браузера, который, кажется, отвечает за все загадочные «проблемы» со случайным веб-сайтом («вы пробовали очистить кеш?»), Кеширование есть повсюду.

Большинство разработчиков понимают основную суть: кэширование ускоряет работу. Когда вы хотите получить данные, поиск которых требует больших затрат (с точки зрения времени или других ресурсов), вы кешируете их, чтобы в следующий раз, когда вы захотите найти те же данные, это было намного дешевле.Но как это выглядит в реальном мире?

Крупные выигрыши от низко висящих фруктов

Кэширование чрезвычайно важно, потому что в определенных ситуациях можно добиться значительного повышения производительности без особых усилий. Представьте, что вы — IMDB, и у вас есть много данных, которые на самом деле не меняются, например, метаданные фильма (продумайте сводку, информацию об актерах, сведения о местоположении). Эти данные, вероятно, где-то хранятся — возможно, в базе данных SQL. Когда пользователь посещает веб-страницу с определенным фильмом, ему предоставляется вся эта информация, которая по сути статична.

Поскольку вы не ожидаете, что базовые метаданные изменятся, искать их в базе данных при каждом посещении страницы — бесполезно. Было бы гораздо эффективнее искать его в кэше (локальном по отношению к веб-серверу), чем извлекать его из базы данных SQL, которая удалена от веб-сервера — как минимум, через другой сетевой переход. Это также создает дополнительную ненужную нагрузку на базу данных.

Это достаточно легко понять. Но в каких ситуациях это действительно важно? В конце концов, современные базы данных SQL довольно мощные.

Большой масштаб дает большую ответственность

Подумайте о действительно популярном фильме. Возможно, Netflix только что выпустил Goodfellas по всему миру (мы можем только надеяться!). Многие люди со всего мира посещают страницу Goodfellas на IMDB. Ого, каждую секунду он получает 10 000 просмотров страниц. Ваша база данных SQL ломается. В дополнение к обширному регулярному трафику, который база данных получает для различных других функций IMDB (комментарии, загрузка изображений, обзоры …), теперь ей приходится обрабатывать огромное количество дополнительного трафика чтения.

К счастью, большинство людей в высшем руководстве Amazon не выглядят так страшно.

В отчаянной попытке уберечь весь веб-сайт от падения, вы добавляете кэш на веб-сервер (мой личный фаворит — Redis). Всякий раз, когда страница пытается найти метаданные фильма Goodfellas, она получает данные непосредственно из кеша, который представляет собой процесс, выполняющийся локально на веб-сервере, который возвращает данные максимум за несколько миллисекунд. Вы не только резко сократили время отклика, сэкономив сетевой переход и медленный процессор в базе данных, но и значительно снизили нагрузку на эту бедную, перегруженную базу данных, сохранив другие функции вашего приложения от сбоев.

Это не так просто, как кажется

Очевидно, я упростил многие мелкие детали, которые входят в создание надежной системы кэширования. Проблемы включают:

  1. Работа с динамическими данными . Если вы ожидаете, что данные будут часто меняться, не стоит кэшировать их слишком долго, иначе ваши клиенты будут иметь неточное / устаревшее представление о мире. В конце концов, инвалидация кеша — это одна из двух сложных вещей в информатике.
  2. Неисправности .Что происходит, когда ваш кеш выходит из строя? Могут ли ваши серверные системы справиться с возросшей нагрузкой? Одно из решений — создать несколько уровней кеширования. Например, локальный кэш для каждого сервера приложений, а также набор удаленных кешей, совместно используемый всеми серверами приложений.
  3. Развертывание . Локальные кеши, вероятно, будут очищены при повторном развертывании веб-серверов или, по крайней мере, будут пустыми при запуске новых серверов приложений. Как вы заполняете кеш, чтобы избежать всплеска внутреннего трафика при каждом развертывании? Как развертывать обновления для общего парка кеш-памяти, не нарушая работу серверных систем при очистке кешей?

Но иногда это

Несмотря на эти сложности, я хотел включить немного данных из реального примера, чтобы показать, что вы действительно можете добиться больших побед с небольшими усилиями.В свободное время я создал небольшое веб-приложение под названием Lineup , которое позволяет создавать списки воспроизведения Spotify из списка исполнителей.

Lineup включает функцию автозаполнения для поиска исполнителей из Spotify по мере ввода. Каждый раз, когда он запускается, к поисковому API Spotify отправляется запрос, чтобы вернуть 5 лучших исполнителей, соответствующих запросу.

Это много запросов к Spotify API! Представьте, что несколько тысяч человек одновременно используют Lineup (только в самых смелых моих мечтах!). Что, если все пользователи пытаются одновременно искать нескольких одних и тех же популярных исполнителей? Например, они пытаются составить плейлист со всеми артистами, выступающими на Coachella в этом году.

Они слышали, что там будет Ханс Циммер. Да, ЭТО Ганс Циммер.

Мы не ожидаем, что результаты поиска Spotify будут так часто меняться. Я имею в виду, как часто добавляются новые художники, которых пользователи, вероятно, будут искать? Вероятно, реже одного раза в час. Многие из этих поисковых запросов к API Spotify будут избыточными. Мы должны иметь возможность безопасно кэшировать результаты поиска по заданному запросу хотя бы на короткое время.

Чтобы исследовать виды экономии, которую кеш поиска артистов дает для Lineup, я написал сценарий для запроса Lineup для всех артистов, которые играют на Coachella в этом году.Сценарий случайным образом ищет все префиксы исполнителя (например, «B», «Be», «Bey»,… для «Beyonce»), а также варианты в нижнем регистре, чтобы имитировать пользователей, вводящих исполнителей в веб-интерфейс Lineup. Сценарий выполнил в общей сложности 36 002 поисковых запросов, после чего кеш был полностью заполнен (и все последующие запросы будут попаданиями в кеш).

Вкусные, сочные низко висящие фрукты

Нам интересно узнать, сколько происходит попаданий в кеш, насколько они быстрее пропусков (что приводит к медленным удаленным вызовам API Spotify) и каково влияние cache находится на нашем уровне ошибок.В конце концов, API Spotify в какой-то момент ограничит нас по скорости, что приведет к ошибке сервера , для Lineup и неудовлетворительному взаимодействию с пользователем. При пяти потоках, выполняющих запросы параллельно, вот результаты:

  • 33016 попаданий в кеш, 2986 промахов в кэше
  • Среднее время ответа для попаданий в кэш было 3,22 мс . 90-й процентиль (значение, при котором 10% самых медленных запросов были медленнее) равнялось 7.19 мс . Для сравнения, среднее время отклика для промахов в кеш-памяти (обслуживаемых Spotify API) составило 146 мс . 90-й процентиль был 163 мс . Очевидно, что попадания в кеш будут обслуживать ответы быстрее, но я хотел прояснить, сколько времени вы можете сэкономить, если узнаете в своем приложении места, где вы можете применить кеш.
  • Начиная с пустого кеша, все запросы отправлялись в API Spotify, что приводило к дросселированию.Как вы можете видеть на графике ниже, по мере заполнения кеша количество ошибок сервера упало до 0 (а среднее время ответа по всем запросам резко упало):

Хотя Lineup может быть нишевым вариантом использования, идея состоит в том, что даже простой кеш может значительно улучшить производительность вашего приложения, особенно когда оно начинает масштабироваться.

Сводка

Надеюсь, вам ясно, почему так важно кеширование, и о том, каких потрясающих результатов можно достичь даже с помощью простой схемы кэширования. Я считаю, что кеширование настолько важно, что оно должно быть легко доступно каждому разработчику.Поэтому я написал библиотеку для Python, Cachual , которая предназначена именно для этого. Он позволяет разработчикам Python кэшировать возвращаемые значения функции Python с помощью очень простого декоратора. В следующем посте я расскажу о мотивации и деталях Cachual.

Похожие истории

Теги
Присоединяйтесь к хакеру Полдень