У меня есть проект, в котором у меня есть несколько узлов в сетке, которые работают как узлы хранения и вычисления. Эти узлы разнородны: от выделенного серверного оборудования до плат Alix и даже маршрутизаторов Mikrotik с OpenWRT (состоящих в основном из хотя платы alix).
Я собираю показатели производительности системы, такие как использование ОЗУ, SWAP и ЦП, с помощью sigar java API. Это работает очень хорошо.
Моя следующая задача — взять эти значения производительности и объединить их таким образом, чтобы я мог сортировать свои хосты таким образом, чтобы я мог сказать, какой хост лучше всего справляется с вычислительным запросом. Это можно представить почти так же, как Windows оценивает производительность вашего компьютера с помощью индекса производительности Windows.
Моей первой попыткой было добавить используемые проценты использования ОЗУ, подкачки и ЦП (для Linux я масштабировал значение нагрузки до значения от 0 до 1). Затем для вычислительной операции выбирался хост, набравший наименьшее количество баллов.
У кого-нибудь есть лучшее представление о том, как это сделать. Мой способ показался мне очень «хакерским», и я не хотел бы подходить к работе в этом проекте.
Спасибо