Я часто видел эти три слова, но не понимаю точных различий между ними. Например, сбор данных об использовании ЦП часто называется профилированием и также может относиться к мониторингу производительности. В чем (тонкая) разница между ними?
Вот как я использую эти слова. Другие могут иметь дополнительное или иное использование. В зависимости от выполняемой работы я буду использовать термины по-разному. Команды разработчиков и операционные группы имеют разные потребности в использовании.
Мониторинг есть мониторинг. Обычно это непрерывный процесс, желательно автоматизированный. Инструменты с открытым исходным кодом, такие как Munin
, Nagios
, и MRTG
попадают в эту категорию. Также есть много коммерческих инструментов. Я бы также включил sar
работать в этой категории постоянно, но результаты обычно не отслеживаются. Инструменты мониторинга могут использоваться для запуска предупреждений, когда отслеживаемый ресурс падает выше или ниже уровня срабатывания. Многие инструменты мониторинга хорошо работают в гетерогенных средах.
Профилирование обычно выполняется в конкретной программе, чтобы увидеть, какой код использует больше всего ресурсов. Часто это время ЦП, но может также включать время памяти, ввода-вывода и время выполнения (стены). Обычно он используется для определения кода кандидата для оптимизации. Инструменты профилирования обычно зависят от языка и / или платформы.
Другой вид профилирования выполняется с использованием журналов и / или данных мониторинга. Это профилирование использования, которое может выполняться по разным причинам. Я не нашел для этого много инструментов.
Я использую трассировку несколькими способами. Чаще всего я отслеживаю сетевые маршруты. В зависимости от настроек сети и брандмауэра с большей или меньшей степенью успеха можно использовать различные инструменты. В названии или описании большинства из них есть traceroute.
Трассировка программы - это отслеживание выполнения программы. Обычно это делается в тестовой ситуации. Это можно сделать несколькими способами (в соответствии с моим порядком использования и опытом):
strace
чтобы узнать, какой код называется. Это может быть полезно для определения того, почему программа дает сбой или не отвечает ожидаемым образом. На сервере веб-приложений SAP мы можем определить эти три ключевых слова, как указано ниже.
Методы мониторинга, отслеживания и профилирования, предлагаемые Интернетом, а также методы, предоставляемые другими SAP и внешними системами, могут быть интегрированы с использованием проверенной архитектуры CCMS, что может значительно упростить обслуживание крупных, распределенных и разнородных установок.