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

Фотография

Wapt


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

#1 Олешка

Олешка

    Консультант

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

Отправлено 07 октября 2003 - 07:53

Есть такой инструмент для нагрузочного тестирования: WAPT. Есть триал-версия на 30 дней. Мы его используем, пока довольны. Хотелось бы также получить отзывы от других тестировщиков.
  • 0

#2 Case

Case

    Основатель

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

Отправлено 07 октября 2003 - 08:34

Можно чуть отвелкусь, чтобы не открывать отдельную тему?
Посидел-прикинул о тестировании на нагрузки веб приложений как таковых.
По-моему тестируется не веб приложение (скрипт в своём подавляющем большинстве), сколько сам веб сервер и БД-шка, которая пытается вытолкать на волю сервера ответ на запрос.
Нет не так? Так может давайте не называть это тестированием Веб приложения?
Может "Взять всё и поделить?" (в который раз да простит меня Булгаков).
Отдельно веб сервер (мы ведь к нему не имеем отношения как разработчики) и сервер БД (тут больше к админитратору сервера и ДБА вопросы). Поделим, прогоним отдельно - глядиш и результаты будут интереснее? Сразу видно кто затыкается.

Это размышления в слух навеянные тулом ссылочку на который вы дали.
В своих скромных умозаключениях я не принимаю в рассчёт всякие WEB-shere и другие узкозаточенные и жутко интергированные с серверами БД системы, которые назвать веб приложением можно с большой натяжкой.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#3 Олешка

Олешка

    Консультант

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

Отправлено 07 октября 2003 - 10:22

По-моему тестируется не веб приложение (скрипт в своём подавляющем большинстве), сколько сам веб сервер и БД-шка, которая пытается вытолкать на волю сервера ответ на запрос.


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

Да, хочу спросить - есть ли принципиальная разница в распределении нагрузки? То есть, отличается ли ситуация, когда на сервер пришло 1000 одновременных запросов с разных машин от ситуации, когда та же 1000 запросов пришла с одной машины?
  • 0

#4 Case

Case

    Основатель

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

Отправлено 08 октября 2003 - 05:39

Для сервера насколько я понимаю нет, а вот для того чтобы проверить насколько сеть вытаскивает такую нагрузку, стоит пускать скрипты с разных машин.

Кстати, меня всегда смущала нагрузка на вебсервер 1000 паралельных запросов.
Пояснюсь. Посчитаем немного.
1000 хитов в секунду - 60.000 хитов в минуту (разработчики интернет порталов заулыбались)
60.000 хитов в минуту - 3.600.000 хитов в час
3.600.000 хитов в час - 86.400.000 хитов в сутки.
Господа покажите мне систему, которая работает с такой нагрузкой. (sex.com - это 25.000.000, это бесприцендентный случай. данные мои личные - на истину не притендую)
Для примера просто - система учёта посещаемости сайтов, на которой сейчас работает Британия, включая крупнейшие Британские интернет магазины и системы интернет торгов (а это самые посещаемые серверы в мире) обслуживает в секунду 30 запросов всего. Это считается очень большой нагрузкой.

Вопрос для смекалистых:
Зачем стоит прогонять систему на нагрузку 1000 паралельных запросов?
Назовите системы (подскажу - веб), которая обслуживает хотябы больше 100 запросов в секунду
У меня есть один ответ где это может потребоваться такая нагрузка, но я пока загадочно поулыбаюсь.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#5 SALar

SALar

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

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 08 октября 2003 - 08:34

есть ли принципиальная разница в распределении нагрузки? То есть, отличается ли ситуация, когда на сервер пришло 1000 одновременных запросов с разных машин от ситуации, когда та же 1000 запросов пришла с одной машины?

Нет. Принципиальная разница в другом: вы даете 1000 раз один и тот же запрос или это 1000 разных запросов? Это очень важно.
-------
Для тестирования сети так же неважно с одной или с нескольких машин идут запросы. Здесь другой момент важен. Простейшая схема:

Сервер БД ---- Сервер приложений (вебсервер) ---- файервал ----

Все что происходит за файервалом вас не интересует (разве что там диалап, но это к терапевту). Одна там машина или 50 000 - плевать. В конце концов хидер HTTP запроса можно формировать как душе угодно. Если тестирование ведется из внутренней сети (а так, блин, часто бывает, то вы упускаете из рассмотрения возможное узкое место).
-------
По поводу числа запросов. Схема выше. Обе машины - двухпроцессорные 1 ГГц, 1Гб ОЗУ, ... MSSQL+IIS. Софт достаточно сложный (явно не форум). Тогда: 5-10 запросов в секунду - очень хороший результат. 30 - просто Ура. Я видел 200 / сек, но этот результат достигался специальными ухишрениями. Если мне скажут - 1000 запросов в сек, я скажу, что это ложь. При такой схеме это невозможно. Нужны кластера, кеширование, оптимизация запросов, и т.д. и т.п. Да и пропускная способность сети (1000 * 50 кб * 8 = 400 Мбот) становится сдерживающим фактором.

Прим. Возможно, имелось в виду 1000 запросов всего, а не в сек.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#6 Case

Case

    Основатель

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

Отправлено 08 октября 2003 - 09:58

вы даете 1000 раз один и тот же запрос или это 1000 разных запросов

Насколько я знаком с тулами подобными веб стресс, то гоняется один запрос, но моделируется его паралельный вызов (то есть гониться один запрос к ресурсу но с 1000 потоков одновременно).

Про тестирование сети:
Я имел в виду, что если гоним поток запросов и на принимающей поток машине одна сетевушка - то конечно без разницы сколькими источниками поток создаётся.
МЫ гоняли систему когда сервер имел 4 сетевых на 4 различных сегмента сети, тогда суть важно со скольки хостов гонится поток запросов.

Если мне скажут - 1000 запросов в сек, я скажу, что это ложь


Подробнее. Сгененрить такую нагрузку можно запросто - другой вопрос что тот же ИИС под 2000 проф держит 255 соединений :) Больше он падает. А в сгенерить имхо проблемы нет.

пропускная способность сети

Берём тул генератора и ставим на сам сервер под тестом - никакой сети нет. Но это так, если есть охота сервер нагрузить :)

Возможно, имелось в виду 1000 запросов всего, а не в сек.

Возможно, но тогда что такое 100 заспросов всего? :) Например для просмотра этой темы выполнилось [11 queries used] - см внизу форума, ну и что мне это даёт? Для нагрузки имеется в виду кол-во запросов в промежуток времени и вес запросов.


______________________________

Есть идеи где возможна нагрузка более 1000 запросов в секунду?
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#7 Олешка

Олешка

    Консультант

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

Отправлено 08 октября 2003 - 10:16

Сорри, вопрос был действительно сформулирован некорректно.

Попробуем так: есть последовательность действий, которую выполняют наиболее часто, например, обращаются к поиску новых сообщений на форуме. Делают логин и нажимают линк "Искать новые сообщения". Что произойдет, если на этот линк одновременно нажмут 10 пользователей? 50? 100? Надо выяснить не то, как отреагирует сеть, а то, как отреагирует само приложение. При этом специально ограничивается уровень нагрузки - скажем, 2-3-5 запросов в секунду, чтобы не перегрузить сеть раньше, чем получим какой-либо ответ от приложения.
Это не будет 10 (50,100) одновременных запросов? Или, так как написал Case - 10 (50,100) параллельных вызовов?

Вопрос такой - имеет смысл распределять эти 10 (50, 100) запросов между локальными машинами, то есть, ставить, например, две копии тула и запускать одновременно один и тот же скрипт с разных машин, или это эквивалентно запуску того же самого скрипта с одной машины?
  • 0

#8 SALar

SALar

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

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 09 октября 2003 - 06:54

Ок, господа. Нагрузочное тестирование очень интересная тема.

Понятия "количество потоков", "количество одновременно работающих пользователей" и "количество запросов в секунду" - суть разные вещи. Вот хорошие данные для сайта: "Предельная нагрузка 15 запросов в секунду, обеспечивается при 5 одновременных коннектах, при этом сайтом одновременно могут работать 300 человек. Приложение падает при 35 одновременных коннектах." Это очень хорошие данные, а соотношение цифр близко к реальности.

Насколько я знаком с тулами подобными веб стресс, то гоняется один запрос, но моделируется его паралельный вызов (то есть гониться один запрос к ресурсу но с 1000 потоков одновременно).

Нет. Вот пример потока запросов:
http://tester.com.ua...DE=02&f=4&t=122
http://tester.com.ua...DE=02&f=4&t=123
http://tester.com.ua...DE=02&f=4&t=124
http://tester.com.ua...DE=02&f=4&t=125
http://tester.com.ua...DE=02&f=4&t=126
Это разные запросы.

2Олешка

Вопрос такой - имеет смысл распределять эти 10 (50, 100) запросов между локальными машинами, то есть, ставить, например, две копии тула и запускать одновременно один и тот же скрипт с разных машин, или это эквивалентно запуску того же самого скрипта с одной машины?

Очень, очень редко. Считай, что достаточно одной машины и одной версии скрипта. Подробно чуть позже.
  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#9 Олешка

Олешка

    Консультант

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

Отправлено 10 октября 2003 - 07:12

To SALar: cпасибо за ответ, жду развернутый вариант - по возможности.

To Case: есть ли смысл в тестировании сети для интернет-приложения, если все равно неизвестно, каким способом подключения воспользуется пользователь?
  • 0

#10 Case

Case

    Основатель

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

Отправлено 10 октября 2003 - 09:33

Нет. Вот пример потока запросов:
http://tester.com.ua...DE=02&f=4&t=122
http://tester.com.ua...DE=02&f=4&t=123
http://tester.com.ua...DE=02&f=4&t=124
http://tester.com.ua...DE=02&f=4&t=125
http://tester.com.ua...DE=02&f=4&t=126
Это разные запросы.

А теперь берём стресс тул, говорим открыть титулку сайта и повторяем со ста пользователей.
Получаем 100 потоков (! - попробуйте меня разубедить) с одним и тем же запросом.
Я говорил о этой ситуации.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#11 Case

Case

    Основатель

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

Отправлено 23 октября 2003 - 09:48

Коллеги, позвольте вернуться к теме.
Так что моя небольшая загадка не нашла ответа?
Где может потребоваться более 1000 обновременных запросов?
На коком типе приложения / системы?
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#12 Case

Case

    Основатель

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

Отправлено 23 октября 2003 - 09:50

Признаюсь чесно - я такую систему сам знаю только одну. Но это не какая-нибудь внутреняя и закрытая разработка.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#13 Julic

Julic

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

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

Отправлено 16 декабря 2003 - 05:31

Здравствуйте.

Подскажите, плиз, каким образом в WAPT реализовать следующий сценарий:

Пользователь Login-иться только один раз, а последующие действия (н-р, создание новости) должны повторяться много раз.
  • 0

#14 Julic

Julic

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

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

Отправлено 17 декабря 2003 - 03:37

Вопрос снимается :P
  • 0

#15 voxus

voxus

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

  • Members
  • Pip
  • 7 сообщений
  • Город:Moscow

Отправлено 17 декабря 2003 - 16:36

Так что моя небольшая загадка не нашла ответа?
Где может потребоваться более 1000 обновременных запросов?

статистический/рейтинговый сервис.
а-ля spylog/rambler/etc-etc :P
  • 0

#16 JimR

JimR

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

  • Members
  • PipPipPipPip
  • 253 сообщений
  • ФИО:Ручко Дмитрий Иванович
  • Город:Москва

Отправлено 29 декабря 2003 - 11:33

Думал, где-бы спросить.
Решил, что здесь будет как-раз.

Есть требования к системе: 5 авторизаций в секунду и поддерживание одновременно до 2000 коннекций (не запросов в секунду).
С помощью WAST такую проверку сделать не возможно.

Есть-ли какая-то тулза, которая позволит такую ситацию смоделировать или нужно исхитряться как-то своими силами?
  • 0
Дмитрий Ручко
InfoTeCS

#17 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 15 февраля 2004 - 16:46

Есть требования к системе: 5 авторизаций в секунду и поддерживание одновременно до 2000 коннекций (не запросов в секунду).
С помощью WAST такую проверку сделать не возможно.

Есть-ли какая-то тулза, которая позволит такую ситацию смоделировать или нужно исхитряться как-то своими силами?

Конечно есть. Попробуйте LoadRunner и вы сможете сделать все, что вам нужно и еще много чего другого. Хороший тул для нагрузочного тестирования даст вам возможность имитировать выполнение целого бизнес-процесса многоми пользователями с добавлением самой изощренной логики, а не просто долбить один URL 100 раз.

Например, вы можете выполнять часть бизнес-процесса только один раз, а другую его часть несколько раз. Вы можете одновременно с плавным увеличением или уменьшением нагрузки снимать метрики с вашей системной инфраструктуры, которое поддерживает тестируемое приложение (web сервера, сервера приложений, сервера БД, сети, load balancers и т.д.), чтобы определить узкое место, из-за которого производительность деградирует или приложение вообще перестает работать. Ну и много чего еще можно сделать с LoadRunner.
  • 0
Дмитрий Шевченко

HP Software


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

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