Кэш и микрокэш в WEB

Кэш — Кэширование объектов на страницах имеет много преимуществ.

Большинство элементов веб-сайта являются статическими объектами, такими как файлы изображений JPEG / PNG, файлы, содержащие код JavaScript, CSS и т. Д. Использование механизмов кэширования для этих файлов значительно ускоряет загрузку страниц. Кроме того, вы можете использовать методы кэширования для динамически генерируемых элементов, которые называются Microcache.

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

  • Локальный кеш — может быть реализован различными конфигурациями сервера, HTTP-сервер также может поддерживать кеш дополнительными модулями, само приложение может создавать собственный кеш. Следует убедиться, что локальный кеш находится на сервере в памяти сервера или на быстром носителе данных, который способен обрабатывать большое количество операций ввода-вывода с очень низким временем доступа.
  • CDN — сеть доставки Conetend. Благодаря CDN, отображаются те данные, которые расположены «ближе» к пользователю. Также можно добиться лучшего масштабирования приложения, разгрузить инфраструктуру и передать значительную часть трафика от пользователей к CDN.
  • Кеш-сервер — перед серверами приложений вы можете использовать кеш-сервер, например, это может быть модуль балансировки нагрузки или отдельное программное обеспечение, например, Varnish.

Хороший инструмент для Varnish — это varnishstat, он покажет вам, насколько эффективен кэш.

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

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

Метод Mikrocaching сохраняет динамически сгенерированный элемент страницы в кеше в течение короткого времени, например, в течение нескольких секунд. Эта форма кэша, в случае страницы с десятками или сотнями вызовов в секунду, позволяет снизить нагрузку на сервер (поскольку страницы загружаются из кэша), сохраняя при этом минимальное влияние на содержимое, представленное на странице.

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

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

Должны быть выполнены профессиональные тесты производительности, которые покажут реальную производительность приложения / системы / инфраструктуры с увеличенным трафиком.

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

Добавить комментарий

Войти с помощью: