Understanding Software Dynamics
Книга «Understanding Software Dynamics» представляет собой глубокое руководство по анализу производительности программного обеспечения. Автор, Ричард Л. Сайтс, фокусируется на практических методах измерения и понимания динамики работы программ в современных дата-центрах. Книга охватывает ключевые аспекты производительности, включая измерение процессоров, памяти, дисков, сетей и их взаимодействия.
В первой части рассматриваются фундаментальные принципы измерения производительности, анализ долгого хвоста задержек и оценка порядка величины. Автор предлагает систематический подход к диагностике медленных транзакций, выделяя пять основных ресурсов, влияющих на производительность.
Вторая часть посвящена инструментам наблюдения: логированию, агрегированным метрикам, дашбордам и трассировке. Особое внимание уделяется принципам проектирования инструментов наблюдения для эффективного анализа производительности.
Третья часть представляет KUtrace — инструмент трассировки ядра и пользовательского пространства, включая его цели, дизайн, реализацию, патчи для ядра Linux, загружаемый модуль, управление в runtime и постобработку данных.
Четвертая часть содержит практические рекомендации по анализу причин проблем производительности: избыточное выполнение, медленное выполнение, ожидание процессора, памяти, диска, сети, блокировок, времени и очередей.









