Рубрика «кэширование»

Zabbix — это система мониторинга. Как и любая другая система, она сталкивается с тремя основными проблемами всех систем мониторинга: сбор и обработка данных, хранение истории, ее очистка.

Этапы получения, обработки и записи данных занимают время. Немного, но для крупной системы это может выливаться в большие задержки. Проблема хранения — это вопрос доступа к данным. Они используются для отчетов, проверок и триггеров. Задержки при доступе к данным также влияют на производительность. Когда БД разрастаются, неактуальные данные приходится удалять. Удаление — это тяжелая операция, которая также съедает часть ресурсов.

Высокая производительность и нативное партиционирование: Zabbix с поддержкой TimescaleDB - 1

Проблемы задержек при сборе и хранении в Zabbix решаются кэшированием: несколько видов кэшей, кэширование в БД. Для решения третьей проблемы кэширование не подходит, поэтому в Zabbix применили TimescaleDB. Об этом расскажет Андрей Гущин — инженер технической поддержки Zabbix SIA. В поддержке Zabbix Андрей больше 6 лет и напрямую сталкивается с производительностью.

Как работает TimescaleDB, какую производительность может дать по сравнению с обычным PostgreSQL? Какую роль играет Zabbix для БД TimescaleDB? Как запустить с нуля и как мигрировать с PostgreSQL и производительность какой конфигурации лучше? Обо всем этом под катом.
Читать полностью »

Картинка не выражает позицию компании и является личным видением автора, не обязательно связанным с темой данного текста, аминьКак вы наверное помните, НРЕ давно вкладывается в тему новых типов хранилищ данных (конечно, The Machine) и в оптимизацию доступа к хранилищам (наше членство в консорциуме Gen-Z).

Цель этого движения — ускорить работу приложений наших заказчиков. Причем движение это многоуровневое: пока куется совершенно новая архитектура вычислительных систем The Machine (т.н. памяте-центричная архитектура), мы понимаем, что ускоряться нужно уже сейчас. Давайте посмотрим что можно сделать сегодня, и что появится у HPE завтра. Подсказка — речь пойдет о сильном ускорении наших СХД 3PAR и Nimble с помощью умного и относительно бюджетного кэширования на Storage Class Memory (SCM) в форме Intel Optane.
Читать полностью »

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

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

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

Service Workes как технология для создания offline приложений очень хорошо подходит для кэширования различных ресурсов. Разнообразные тактики работы в сервис воркере с локальным кэшем подробно описаны в Интернете.

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

Привет!

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

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

Проблемы при работе с кэшем и способы их решения - 1
Wild horses stampeding. Оригинал картинки.

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

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

Читать полностью »

Intel Optane SSD: возможности и преимущества - 1

В начале июля мы начали бесплатное тестирование SSD-дисков Intel Optane. Акция все ещё продолжается, и любой из вас может принять участие (подробности по ссылке выше).
Появление на рынке дисков Optane можно без преувеличений назвать революцией в области хранения информации. В этой статье расскажем о том, какие технологии лежат в основе новых дисков и какие преимущества они дают.
Читать полностью »

Построение кэша с эффективным многопоточным доступом - 1

Привет! Меня зовут Паша Матлашов. Я Director of Game Server Development Department в игровой компании Plarium.

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

Кэширование данных в web приложениях. Использование memcached - 1

Юрий Краснощек (Delphi LLC, Dell)

Я немного расскажу вам про кэширование. Кэширование, в общем-то, не сильно интересно, берешь и кэшируешь, поэтому я еще расскажу про memcached, довольно интимные подробности.

Кэширование данных в web приложениях. Использование memcached - 2

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

«Если вы можете кэшировать всё очень эффективным способом, то вы часто можете изменить правила игры»

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

  • Метаданные продукта в интернет-магазине
  • Метаданные документа в поисковой машине
  • Метаданные фильмов и ТВ-шоу

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

  • Хранение этих данных в каком-то централизованном хранилище (например, реляционная СУБД, информационный склад NoSQL или кластер memcached) для удалённого доступа пользователей
  • Сериализация (например, как json, XML и т.д.) и распространение среди потребителей, которые будут хранить локальную копию

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

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

Особенности кэширования компонентов в Unity3D - 1
Читать полностью »