Добрый день!
Очень рад был этой теме так как накопилось много вопросов, а задать некому. Итак:
1. Используете ли при анализе результатов мат. статистику? Если да, то что посоветуете почитать на эту тему (имеется в виду не книги по мат. статистики :), а книги по нагрузке где активно используется мат. статистика)
2. Какие книги посоветуете почитать по нагрузке?
3. Какой интервал берете при сборе показателей системы - 1сек, 5сек, etc. Например как часто следует мониторить утилизацию диска. Ведь если брать интервал в 1 сек, то например за 10 часов будет такое кол-во данных что график либо не отрисуется, либо будет сильно лагать.
В вашей презентации Вы говорили, что когда искали средства для построения графиков ваш выбор пал на flot. Почему тогда чуть выше был озвучен amcharts? Справляется ли он с загрузкой большого кол-ва данных?
Заранее благодарен за ответы.
1) даже не знаю как ответить. Без знания и
понимания как минимум основных тестов будет очень непросто. Так что да. При этом для каждого теста мы не делаем больших вероятностных выкладок — всё равно очень сильно ошибемся. Так что если подразумевать под мат. статистикой то-то серьезное, то скорее нет. Но в данных ковыряемся очень много. Вот прямо сегодня копали в очень интересную сторону :)
Вообще в интренете, особенно применительно к трафику очень сложно делать какие-либо прогнозы — ссылка с главной страницы яндекса добавляет несколько сотен тысяч переходов в сутки и вся ваша мат. модель разъезжается.
2) Хороших книжек, учащих аккуратному и правильному (с точки зрения крупных вебсервисов) нагрузочному тестированию на русском языке, к сожалению нет. И статей нет (меня не погонят отсюда за такое?
) У меня в моемкруге (
http://baabaka.moikrug.ru/) слева перечислены рекомендуемые книжки (собственно это все недостаточно старые и достаточно внятные книжки о тестировании производительности и планировании нагрузки). Ссылки давать не буду, но если сами не найдете — пишите ;)
3) минимальный квант времени, которым мы оперируем — 1 секунда, больше нельзя, а меньше почти никогда смысла нет. Агрегируя данных хотя бы до 5 секунд, вы очень многого можете не заметить. Недавно много возились с багом в ядре, которое лочилось на несколько сот миллисекунд, что для сервиса со временем ответа в единицы-десятки миллисекунд и нагрузкой в несколько тысяч запросов в секунду очень заметно. Самые толстые данные, которые получаются за время теста (исключая дампы ответов) — это времена ответов сервисов. Мы не храним каждое значение. Для каждой секунды строим гистограмму из 15-25 диапазонов и храним только её. Плюс храним честно вычисленные квантили времен ответов (например, время, в которое уложились 95% запросов). И квантили, и гистограммы можно детализировать в рамках секунды на отдельные классы запросов (мы их называем гильзами). Для вывода в график мы агрегируем данные, при этом есть возможность зазумиться и посмотреть неагрегированные. Плюс кэширование xml-ек с данными для уже построенных графиков, чтобы заново не ходить в базу для уже завершившихся тестов. Пока никаких проблем с производительностью нет.
4) ну YaC давно был :) Недавно вышла-таки js-версия amcharts, скорее всего переедем на неё. flot тоже подрос с тех пор, но что-то как-то amcharts всё-таки намного более функционален.