Перейти к содержимому

Фотография

Анализ Web-логов для построения модели нагрузочного тестирования


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 21

#1 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 21 ноября 2007 - 08:41

Коллеги!

Предлагаю вашему вниманию мою статью "Анализ Web-логов для построения модели нагрузочного тестирования", опубликованную на сайте www.DrQuality.ru.

Что такое Web-логи?

Любой пользователь, работающий с Интернет приложением, подвергается постоянному наблюдению. За ним следит не только ФСБ (для тех, кто занервничал, читая эти строки, поясняю - это шутка), но и многие участники Глобальной паутины. Это не люди, а электронные компоненты виртуального пространства. И их великое множество. «Стада» совершенно различных серверов, прокси, фаерволов, коммутаторов, маршрутизаторов и т.п. Везде, где вы побывали, остаются «следы» вашего присутствия. Не исключение и Web-сервер на котором работает ваше Web-приложение.

Следы – это не отпечатки пальцев и не протектор ваших ботинок. Следы - это записи в журналах Web-сервера, первого из элементов типового трехзвенного приложения, включающего собственно сам Web-сервер, а так же Web-приложение и базу данных.

Зачем анализировать Web-логи?

Вполне резонный вопрос - собственно, зачем нам это надо?

Читать статью полностью:
Анализ Web-логов для построения модели нагрузочного тестирования (Часть 1)
Анализ Web-логов для построения модели нагрузочного тестирования (Часть 2)

Буду рад ответить на ваши вопросы.

С уважением,
Сергей.
  • 0
Гринкевич Сергей

#2 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 11 января 2008 - 09:53

Все хорошо, только следуя вашей логике вы строите модель нагрузочного тестирования на системе которая уже реально используется. А как тестировали систему до того как ее отправили в продакшн ???
Я больше склоняюсь к тому, что анализ логов полезен для траблшутинга когда система уже в продакшине, а не для построения модели нагрузочного тестирования.
  • 0

#3 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 14 января 2008 - 09:18

Ваш замечание совершенно справедливо. Если система только создается, то логов, отражающих реальную работу пользователей, просто не существует. В этом случае могут быть использованы только два варианта построения профиля пользователя:
1. анализ логов аналогичных или "близких по духу" создаваемой систем;
2. ваши аналитические способности и предыдущий опыт.
  • 0
Гринкевич Сергей

#4 ligreen

ligreen

    Новый участник

  • Members
  • Pip
  • 52 сообщений

Отправлено 01 апреля 2008 - 06:36

Най мой взгляд данная статья будет очень интересна менеджерам проекта. Анализ логов web-сервера позволит им получить полную картину о том, как пользователь ведет себя на их проекте. Возможно у менеджеров сразу возникнут идеи каким образом можно доработать тот или иной раздел, чтобы заманить туда по больше пользователей.
При передаче сервиса/проекта в нагрузочное тестирование, менеджер проекта должен предоставлять развесовку страниц сервиса, деля их на самые популярные и не очень популярные. Т.к. ни кто кроме менеджера проекта не знает о том, как пользователь будет вести себя в том или ином сервисе. Понимаю, что это на уровне фантастики, но все же хотелось, чтобы так было :)
Другая проблема - это то, что таких менеджеров проектов очень мало, которые способны адекватно оценить и прогназировать поведение пользователя в придуманном им сервисе/проекте...
  • 0

#5 sgreeen

sgreeen

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Зульфия Чамшутова
  • Город:Узбекистан

Отправлено 01 апреля 2008 - 10:00

Най мой взгляд данная статья будет очень интересна менеджерам проекта.


На мой взгляд, данная статья будет только полезна бизнес аналитиком.
Но она бесполезна, если у компании есть firewall и выход в Интернет.
  • 0
рукоблуд
_____________________
За что же, не боясь греха,
Кукушка хвалит Петуха?
За то, что хвалит он Кукушку.

#6 zemljak

zemljak

    Активный участник

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Паша
  • Город:Минск, Беларусь

Отправлено 01 апреля 2008 - 12:33

Но она бесполезна, если у компании есть firewall и выход в Интернет.


Поясните, что вы имеете в виду ?
  • 0

#7 APC

APC

    Опытный участник

  • Members
  • PipPipPipPip
  • 293 сообщений
  • ФИО:Похилько Андрей Федорович
  • Город:Москва


Отправлено 01 апреля 2008 - 13:51

"Для вычисления остальных параметров текущей нагрузки удобно пользоваться функцией «Пилотная Таблица» (PivotTable) программы Excel (Date -> PivotTable and PivotChart Report)."

Не путайте терминологию. PivotTable = Сводная таблица. Пилотная - сомнительно...

И вообще статья жутко очевидна, просто инструкция по построению сводных таблиц.
  • 0

#8 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 01 апреля 2008 - 14:56

И вообще статья жутко очевидна, просто инструкция по построению сводных таблиц.


Какая бы не была статья она всегда будет очевидна для кого-то, это не повод говорить что она очевидна для всех, тем более в таком тоне :victory:
  • 0

#9 sgreeen

sgreeen

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Зульфия Чамшутова
  • Город:Узбекистан

Отправлено 01 апреля 2008 - 19:54

Согласен статья раскрывает несколько новшевст до сели не известных.

IIS и excel




Поясните, что вы имеете в виду ?


При оперделеных насткройках firewall дает IIS только IP адресс firewall так что адресс все время будет один.Но это не самое страшное что все пользователи web приложения могут иметь один аккаунт для логирования. В даной стать очень много если ...

В итоге действительно

И вообще статья жутко очевидна, просто инструкция по построению сводных таблиц.

:victory:
  • 0
рукоблуд
_____________________
За что же, не боясь греха,
Кукушка хвалит Петуха?
За то, что хвалит он Кукушку.

#10 zemljak

zemljak

    Активный участник

  • Members
  • PipPip
  • 102 сообщений
  • ФИО:Паша
  • Город:Минск, Беларусь

Отправлено 01 апреля 2008 - 20:52

sgreeen,


Но она бесполезна, если у компании есть firewall и выход в Интернет.

и

При оперделеных насткройках firewall дает IIS только IP адресс firewall так что адресс все время будет один.Но это не самое страшное что все пользователи web приложения могут иметь один аккаунт для логирования.


1. Ваше "При оперделеных насткройках" (орфография сохранена) - это всего лишь еще одно "если".
2. По всему остальному смотрите комментарий от 14.1.2008, 11:18
  • 0

#11 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 02 апреля 2008 - 05:38

И вообще статья жутко очевидна, просто инструкция по построению сводных таблиц.



Совершенно верно!
Это инструкция - как "построить" модель нагрузки.

Если для Вас этот вопрос актуален, то берите и пользуйтесь. Если нет, то не пользуйтесь.
Свобода выбора.
  • 0
Гринкевич Сергей

#12 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 02 апреля 2008 - 08:07

Согласен статья раскрывает несколько новшевст до сели не известных.
IIS и excel

Хотелось бы увидеть хоть одну вашу статью? А то складывается мнение что талант пропадает даром, столько мыслей и замечаний надо уже их систематизировать и написать - других поучить :victory:

p.s.: только если надумаете писать смотрите чтобы небыло очевидных вещей, а то мало ли ..
  • 0

#13 sgreeen

sgreeen

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Зульфия Чамшутова
  • Город:Узбекистан

Отправлено 02 апреля 2008 - 08:41

Что стоить написать статью - мелко, для полета мой мысли. Книгу начал писать. Назвал "Как и так" - суть ей в том, как перевести иностранную статью на русских язык добавить немного от себя. А затем смело говорить всем " Мое детище" и "Я консультант". :blush: :victory:

Дать почитать в черновом варианте ?
  • 0
рукоблуд
_____________________
За что же, не боясь греха,
Кукушка хвалит Петуха?
За то, что хвалит он Кукушку.

#14 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 02 апреля 2008 - 09:13

Книга про то "как надо писать статьи", это тренинг про то как заработать на казино.
По теме может и правда что-то напишите?

А про почитать - выкладывайте, почитаем.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#15 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 02 апреля 2008 - 09:15

Кстати, несмотря на манеру обсуждений, мне лично очень нравится, что sgreeen так рьяно взялся за комментирование: явно человеку не пофиг, что сейчас большая редкость.

А про статьи: вот вам ещё пища для критики: http://pankratov.org...category/qalib/
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#16 sgreeen

sgreeen

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Зульфия Чамшутова
  • Город:Узбекистан

Отправлено 02 апреля 2008 - 09:17

Книга про то "как надо писать статьи", это тренинг про то как заработать на казино.
По теме может и правда что-то напишите?

А про почитать - выкладывайте, почитаем.


Извините просто какая тема так и пишем !!!
Тема ни о чем и пишем ни о чем ...
  • 0
рукоблуд
_____________________
За что же, не боясь греха,
Кукушка хвалит Петуха?
За то, что хвалит он Кукушку.

#17 sgreeen

sgreeen

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Зульфия Чамшутова
  • Город:Узбекистан

Отправлено 02 апреля 2008 - 09:21

Кстати, несмотря на манеру обсуждений, мне лично очень нравится, что sgreeen так рьяно взялся за комментирование: явно человеку не пофиг, что сейчас большая редкость.

А про статьи: вот вам ещё пища для критики: http://pankratov.org...category/qalib/


начал читать :victory:
  • 0
рукоблуд
_____________________
За что же, не боясь греха,
Кукушка хвалит Петуха?
За то, что хвалит он Кукушку.

#18 ligreen

ligreen

    Новый участник

  • Members
  • Pip
  • 52 сообщений

Отправлено 12 апреля 2008 - 16:34

Но она бесполезна, если у компании есть firewall и выход в Интернет.


В логе Web-сервера, кроме ip-адреса, можно найти ещё много уникальной информации, которая позволяет идентифицировать тот или иной запрос и отнести его к тому или иному пользователю. Например идентификатор php-сессии или например уникальный user-id, который может передаваться в качестве параметра в get-запросе. "firewall и выход в Интернет" - это не проблема для таких систем/приложений.
  • 0

#19 quarki

quarki

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Ольга
  • Город:Рига, Латвия

Отправлено 15 апреля 2008 - 09:30

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

Нагрузочную модель могут характеризовать следующие параметры:
- количество пользователей, одновременно использующих систему в течение контрольного промежутка времени (количество одновременных пользователей);
- наиболее посещаемые страницы сайта;
- типовое поведение пользователей системы;
- паузы в действиях пользователей при переходе от одной страницы к другой (или при использовании различных функций системы).

Анализ Web-логов для построения модели нагрузочного тестирования (Часть 2)


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

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

А вот паузы в действиях пользователей для модели нужны, но эта линия статьи как-то не до конца развита в обсуждаемой статье при описании модели нагрузки.
Хотелось бы увидеть пример того, зачем они нужны. Как вариант, когда на основе анализа реальной нагрузки планируется количество виртуальных пользователей.

Скажем, в книге Менаске Д., Алмейда В. Производительность Web-служб. Анализ, оценка и планирование приводится такой расчет:

Задачей тестирования является измерение возможностей и производительности серверов приложений. Команда специалистов также желает убедиться в том, что время отклика приложения будет находиться в заданных границах в условиях реальной нагрузки. Тестируемая система - это web система по обслуживанию кредитов, рассчитанная на 100000 пользователей, которые смогут в ней выполнять основные операции с банковскими счетами: просматривать состояние счета, изменять персональную информацию, подавать заявки на получение кредита. Нагрузка системы указана числом конкурирующих пользователей. Бизнес-аналитик оценивает среднее количество конкурирующих пользователей как 1% от общего числа пользователей.

При анализе нагрузки системный аналитик указыват, что наиболее часто вызываемый и потребляемый значительную долю ресурсов пользовательский запрос - это просмотр состояния банковского счета. Автоматическая эталонная программа создает виртуальных пользователей, которые генерируют тестовую нагрузку. Установлен режим, в котором виртуальный пользователь получает ответ, он сразу же посылает новый запрос (время обдумывания Z для него равно 0).
Для определения тестовой нагрузки следует указать число конкурирующих виртуальных пользователей.

Пусть R - среднее время отклика приложений,
Xo - пропускная способность сервера
Nr - количество одновременных реальных пользователей
Nv - количество одновременных виртуальных пользователей
Учитывая, что пропускная способность и время отклика должны быть одинаковы при тестировании в реальных условиях, можно записать:
Xo = Nr / (R + Z)
Xo = Nv / (R + 0)
Отсюда: Nv / Nr = R / (R + Z)
Предположим, что нам надо достичь значения среднего времени отклика R = 2 c и Z = 20 c для реальных пользователей
Тогда: Nv = Nr * 2 / (2 + 20) = 1000 * 1/11 = 90.9 ~ 91
Таким образом, при тестировании необходимо использовать до 91 виртуальных пользователей.

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

В общем, я бы подумала в направлении уточнения модели и перспектив ее использования при прогнозировании стрессовой нагрузки.
  • 0

#20 Green

Green

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 233 сообщений
  • ФИО:Гринкевич Сергей
  • Город:Москва

Отправлено 16 апреля 2008 - 08:19

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


Привет, Олешка!

Что-то давненько тебя не было.
:victory:

Твои замечания вполне справедливы. Постараюсь внести ясность.

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

Приведу пример.
Есть on-line почтовик с web интерфейсом. Необходимо провести нагрузочное тестирование системы.

1. Определяем роли пользователей.
2. Выделяем пользовательские сценарии и определяем "вес" каждой операции.
3. Определяем объем и структуру тестовой базы данных на сегодняшний день и на полгода - год вперед.

Это и есть моделирование типовой работы с нашим сервисом. В результате анализа модели выделяем операции, которые должны быть реализованы в виде тестовых скриптов, а так же их "вес" в общем сценарии. Вес может быть выражен в % или долях. Например, в ежедневной нагрузке:
- 10% пользователей проходят регистрацию,
- 80% удаляют спам,
- 30% пользователей удаляет сообщения,
- 60% вводят новые сообщения,
- 55% отправляют сообщения и т.д.

4. Для определения успешности испытаний запрашиваем бизнес (либо формулируем самостоятельно) критерии успешности. А именно - какова должна быть скорость реакции системы при определенном количестве пользователей.

Продолжая пример можно написать так, что при 100.000 одновременных пользователях скорость реакции системы не должна превышать 7 секунд. Но это не есть модель нагрузки (в моем представлении). Модель нагрузки - это то, что программируется (реализуется) в тестовых скриптах - действия пользователей и "вес" этих действий в общем объеме операций.

Фактически критерии успешности могут меняться в зависимости от требований бизнеса (например, конкуренты сделали быстрее чем у нас и теперь мы должны обойти конкурентов), а модель нагрузки постоянна. Она обусловлена логикой работы системы и пользовательскими предпочтениями. Если у нас только 10% пользователей присваивают теги письмам для фильтрации по тегам, то и через полгода - год это примерное процентное соотношение сохранится, если данная функциональность не будет изменена на более удобную или не будут проведены дополнительные "продвигающие" мероприятия. Но без дополнительных воздействий на манеру работы пользователей модель нагрузки практически не меняется.

Другой пример модели нагрузки. В крупной компании (100.000 пользователей) все приходят на работу в 9 часов и запрашивают почту с сервера. С 9 до 9:30 приходится пик нагрузки на почтовый сервер. Так вот, модель нагрузки будет включать в себя операцию по коннекту почтового клиента к почтовому серверу, а критерий успешности - 100.000 одновременных пользователей, максимальное время отклика не более 10 секунд. Для другой компании количество пользователей и время отклика системы может иметь другие значения, но модель нагрузки не изменяется, если другая компания имеет такой же режим работы.
  • 0
Гринкевич Сергей


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных