Что произойдет, если Монитор производительности применить быстрое преобразование Фурье? Или корреляционная функция? Это сработает #черт_что! У меня есть сервер, на котором происходит множество периодических процессов.
Если записать его CPU с разрешением 1 секунда, то получится что-то вроде этого:
Мы видим некую периодичность, но как лучше всего увидеть ее в чистом виде, очистить от шума? Первое, что пришло мне на ум, — быстрое преобразование Фурье:
Нас интересуют частоты порядка минут, поэтому мы соответствующим образом ограничим ось X:import csv import numpy as np import matplotlib.pyplot as plt import scipy.fftpack .
N = len(cpu) x = np.linspace(0.0, N/60., N) yf = scipy.fftpack.fft(cpu)
Хорошо видно' собственные частоты' , где ' звуки ' ваш сервер.
Со многими вершинами я могу связать график работы .
Но здесь слишком много гармоник, и вторая идея, которая пришла мне в голову, такова: чтобы понять периодичность, применим самокорреляцию (ненормированную): import numpy as np
import matplotlib.pyplot as plt
.
x2 = np.linspace(-N/2/60., N/2/60., N)
corr = np.correlate(cpu,cpu,mode='same')
Мне кажется, этот график наиболее наглядно показывает пульс вашего сервера.
Для сравнения построим такие же графики для другого сервера с другим профилем нагрузки, где она колеблется, но явной периодичности нет:
Только не спрашивайте, пожалуйста, какой в этом смысл! Это кодовая болтовня! А вот более полезный способ работа с серверами.
Теги: #математика #сервер #Оптимизация сервера #Системное администрирование #мониторинг #Статистика в ИТ #ЦП #Перебор кода #perfmon #что за черт
-
Игры Онлайн Популярные Разрушители Стресса
19 Oct, 24 -
Приложения Для Смартфонов И Их Преимущества
19 Oct, 24 -
Тувалу
19 Oct, 24 -
Netprint — «Лучший» Сервис Фотопечати
19 Oct, 24 -
%Username%, Ты Боишься Свиного Гриппа?
19 Oct, 24 -
Контекстная Реклама Против Рекламодателя.
19 Oct, 24