Назад | Перейти на главную страницу

Используете R для обработки системных данных?

Я часто слышу хорошие отзывы о языке R для статистического анализа данных, но похоже, что кривая обучения крутая. Мне интересно знать, использует ли кто-нибудь R для обработки данных о производительности и масштабируемости системы, чтобы лучше понять поведение, чем дает базовый временной ряд из системы мониторинга. Какое значение R дает вам как системному администратору?

Мы рассмотрели R как общий сервер для анализа и составления отчетов для данных из нескольких инструментов тестирования производительности, но, к сожалению, у нас не было времени реализовать R для этой задачи, поскольку мы просто были слишком загружены серверами тестирования производительности ... просто недостаточно время простоя.

Вот мой взгляд на R, по крайней мере, с точки зрения аналитики тестирования производительности.

  • Нам необходимо сопоставить данные, включая время отклика и данные системного монитора, по десяткам хостов, участвующих в тесте производительности. Использование R дает нам возможность импортировать данные из нескольких разнородных источников данных в нескольких форматах для консолидированного набора аналитических данных.
  • Для тестирования нам нужна воспроизводимость, иначе мы занимаемся «экспериментами», а не «тестированием». R поможет нам лучше понять качество нашего набора данных на основе количества выборок, а также позволит нам лучше понять, насколько статистически близки наши тесты, когда мы запускаем тесты один за другим, чтобы проверить согласованность.
  • Слабым звеном всех инструментов тестирования производительности с открытым исходным кодом является аналитика и способность соотносить увеличение времени отклика с увеличением или падением других системных показателей. R должен позволить нам обеспечить тот же уровень аналитических возможностей для инструментов тестирования с открытым исходным кодом, который мы можем получить сегодня с лучшими из коммерческих инструментов, а для коммерческих инструментов он должен позволить нам лучше понять природу наборов образцов, в которых мы может рассчитать площадь под кривой для частоты выборок и получить дельту по сравнению с оптимальной кривой (половина кривой колокола с низким стандартным отклонением). Эту дельту мы будем использовать, чтобы направлять наши отзывы при разработке о том, где потратить время и силы на исправление.
  • Все инструменты на рынке плохи по сравнению с надежным требованием к производительности, которое обычно записывается как SLA, то есть время отклика «x, y% времени при нагрузке Z». R позволит нам лучше сообщать о требованиях / целях SLA, особенно там, где могут присутствовать подвижные SLA в зависимости от нагрузки.
  • Для технического бенчмаркинга R позволит нам лучше сравнивать результаты текущих и предыдущих тестов с различными сборками, обнаруживая статистически значимые отклонения в производительности от одного теста к другому, чтобы сообщить о них разработчикам.

На стороне аналитики тестового сервера сегодня мы используем комбинацию отслеживаемых показателей, собранных во время наших тестов, анализа журналов с помощью Microsoft logparser и механизма отчетов на основе LaTeX / PSTRICKS, который выводит PDF. С R мы ожидаем перейти к более структурированному анализу результатов, основанному на правилах, который мы должен иметь возможность автоматизировать в высокой степени там, где сегодня нам нужно много ручного вмешательства в аналитическую часть дома для просмотра результатов и форматирования вывода.

R - это язык программирования, как и любой другой, со своими сильными и слабыми сторонами. Сильные стороны заключаются в глубине реализованных статистических методов, поэтому, например, если вы хотите подогнать нагрузку вашей системы к обобщенной авторегрессионной условной гетероскедастической (я не придумываю это) модели временных рядов, вы можете это сделать. Возможно, это будет реализация на Python или Perl, но я сомневаюсь, что она широко используется или тестируется.

Для меня его слабость - это сам язык программирования - довольно необычный и местами необычный. Полно ловушек. Если вы никогда не использовали язык программирования до того, как могли бы освоить его, если вы компетентный программист на любом текущем языке (Python, Perl, C (++), VB?), Возможно, вам это не понравится.

Если статистические методы и графики существуют на вашем любимом языке, я бы пошел на это. Если бы вы могли довольно легко реализовать их на своем любимом языке, я бы подумал об этом. Если вам нужна передовая статистика, которой нет на других языках программирования, используйте R.