Трассировка — это запись событий, когда данные о событиях фиксируются и сохраняются для последующего анализа или используются на лету для обобщения и выполнения других действий.
Много лет назад старший перформанс-инженер Рох Бурбоннис (Roch Bourbonnais) рассказал мне о такой аналогии: у вас есть две руки, наблюдение и эксперименты. Использование инструментов только одного типа похоже на попытку решить проблему одной рукой
Метод RED был создан Томом Уилки (Tom Wilkie), который также разработал реализации метрик методов USE и RED для Prometheus и панели мониторинга на основе Grafana [Wilkie 18]. Эти методологии дополняют друг друга: метод USE используется для проверки работоспособности физической машины, а метод RED — работоспособности сервисов
Производительность — это область, в которой «чем больше знаешь, тем больше не знаешь». Чем больше вы узнаёте о системах, тем больше неизвестных неизвестных выявляете; далее они становятся известными неизвестными и у вас появляется возможность проверить их.
Алгоритмы и стратегии управления кэшем определяют, какие элементы будут продолжать храниться в ограниченном пространстве кэша.
Последний использовавшийся (most recently used, MRU) — это стратегия хранения в кэше, согласно которой там сохраняются объекты, которые использовались недавно. Дольше всех не использовавшийся (least recently used, LRU) — это похожая стратегия, но она описывает стратегию вытеснения из кэша: какие объекты удалять, когда требуется освободить место в кэше для новых объектов. Также есть стратегии наиболее часто используемые (most frequently used, MFU) и наименее часто используемые (least frequently used, LFU).
Иногда можно столкнуться со стратегией нечасто используемые (not frequently used, NFU), которая является менее дорогостоящей и менее полной версией LRU.
Разница между производительностями, соответствующими коэффициентам попадания в кэш 98 % и 99 %, намного больше, чем между коэффициентами 10 % и 11 %. Эта нелинейность обусловлена разницей в скорости между попаданиями и промахами кэша — двумя уровнями хранения. Чем больше разница, тем круче кривая.
Метрики производительности имеют определенную стоимость, потому что за их сбор и хранение приходится платить тактами процессорного времени. Такой оверхед может отрицательно влиять на производительность объекта измерения. Это называется эффектом наблюдателя.
При изменении настраиваемых параметров полезно сохранить их в системе контроля версий с подробной историей. (Возможно, вы уже так и поступаете, используя инструменты управления конфигурациями — Puppet, Salt, Chef и т.д.) Благодаря этому можно изучать изменения настраиваемых параметров и причины позже.