Wapt
#1
Отправлено 07 октября 2003 - 07:53
#2
Отправлено 07 октября 2003 - 08:34
Посидел-прикинул о тестировании на нагрузки веб приложений как таковых.
По-моему тестируется не веб приложение (скрипт в своём подавляющем большинстве), сколько сам веб сервер и БД-шка, которая пытается вытолкать на волю сервера ответ на запрос.
Нет не так? Так может давайте не называть это тестированием Веб приложения?
Может "Взять всё и поделить?" (в который раз да простит меня Булгаков).
Отдельно веб сервер (мы ведь к нему не имеем отношения как разработчики) и сервер БД (тут больше к админитратору сервера и ДБА вопросы). Поделим, прогоним отдельно - глядиш и результаты будут интереснее? Сразу видно кто затыкается.
Это размышления в слух навеянные тулом ссылочку на который вы дали.
В своих скромных умозаключениях я не принимаю в рассчёт всякие WEB-shere и другие узкозаточенные и жутко интергированные с серверами БД системы, которые назвать веб приложением можно с большой натяжкой.
Редактор портала www.it4business.ru
#3
Отправлено 07 октября 2003 - 10:22
По-моему тестируется не веб приложение (скрипт в своём подавляющем большинстве), сколько сам веб сервер и БД-шка, которая пытается вытолкать на волю сервера ответ на запрос.
Так и есть. Вопрос в том, чем и как строить запросы, не имея доступа к коду и к базе данных. Для таких целей этот тул нам подходит. Кроме того, есть возможность оценить производительность приложения по тем веткам функциональности, где будут работать много пользователей одновременно, написав скрипт, имитирующий эту работу и прогнав его с разными параметрами нагрузки.
Да, хочу спросить - есть ли принципиальная разница в распределении нагрузки? То есть, отличается ли ситуация, когда на сервер пришло 1000 одновременных запросов с разных машин от ситуации, когда та же 1000 запросов пришла с одной машины?
#4
Отправлено 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 запросов в секунду
У меня есть один ответ где это может потребоваться такая нагрузка, но я пока загадочно поулыбаюсь.
Редактор портала www.it4business.ru
#5
Отправлено 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 запросов всего, а не в сек.
--
Сергей Мартыненко
Блог 255 ступеней (байки для оруженосца)
facebook (Дети диаграммы Ганта)
ВебПосиделки клуба имени Френсиса Бэкона
#6
Отправлено 08 октября 2003 - 09:58
Насколько я знаком с тулами подобными веб стресс, то гоняется один запрос, но моделируется его паралельный вызов (то есть гониться один запрос к ресурсу но с 1000 потоков одновременно).вы даете 1000 раз один и тот же запрос или это 1000 разных запросов
Про тестирование сети:
Я имел в виду, что если гоним поток запросов и на принимающей поток машине одна сетевушка - то конечно без разницы сколькими источниками поток создаётся.
МЫ гоняли систему когда сервер имел 4 сетевых на 4 различных сегмента сети, тогда суть важно со скольки хостов гонится поток запросов.
Если мне скажут - 1000 запросов в сек, я скажу, что это ложь
Подробнее. Сгененрить такую нагрузку можно запросто - другой вопрос что тот же ИИС под 2000 проф держит 255 соединений :) Больше он падает. А в сгенерить имхо проблемы нет.
Берём тул генератора и ставим на сам сервер под тестом - никакой сети нет. Но это так, если есть охота сервер нагрузить :)пропускная способность сети
Возможно, но тогда что такое 100 заспросов всего? :) Например для просмотра этой темы выполнилось [11 queries used] - см внизу форума, ну и что мне это даёт? Для нагрузки имеется в виду кол-во запросов в промежуток времени и вес запросов.Возможно, имелось в виду 1000 запросов всего, а не в сек.
______________________________
Есть идеи где возможна нагрузка более 1000 запросов в секунду?
Редактор портала www.it4business.ru
#7
Отправлено 08 октября 2003 - 10:16
Попробуем так: есть последовательность действий, которую выполняют наиболее часто, например, обращаются к поиску новых сообщений на форуме. Делают логин и нажимают линк "Искать новые сообщения". Что произойдет, если на этот линк одновременно нажмут 10 пользователей? 50? 100? Надо выяснить не то, как отреагирует сеть, а то, как отреагирует само приложение. При этом специально ограничивается уровень нагрузки - скажем, 2-3-5 запросов в секунду, чтобы не перегрузить сеть раньше, чем получим какой-либо ответ от приложения.
Это не будет 10 (50,100) одновременных запросов? Или, так как написал Case - 10 (50,100) параллельных вызовов?
Вопрос такой - имеет смысл распределять эти 10 (50, 100) запросов между локальными машинами, то есть, ставить, например, две копии тула и запускать одновременно один и тот же скрипт с разных машин, или это эквивалентно запуску того же самого скрипта с одной машины?
#8
Отправлено 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) запросов между локальными машинами, то есть, ставить, например, две копии тула и запускать одновременно один и тот же скрипт с разных машин, или это эквивалентно запуску того же самого скрипта с одной машины?
--
Сергей Мартыненко
Блог 255 ступеней (байки для оруженосца)
facebook (Дети диаграммы Ганта)
ВебПосиделки клуба имени Френсиса Бэкона
#9
Отправлено 10 октября 2003 - 07:12
To Case: есть ли смысл в тестировании сети для интернет-приложения, если все равно неизвестно, каким способом подключения воспользуется пользователь?
#10
Отправлено 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 потоков (! - попробуйте меня разубедить) с одним и тем же запросом.
Я говорил о этой ситуации.
Редактор портала www.it4business.ru
#11
Отправлено 23 октября 2003 - 09:48
Так что моя небольшая загадка не нашла ответа?
Где может потребоваться более 1000 обновременных запросов?
На коком типе приложения / системы?
Редактор портала www.it4business.ru
#12
Отправлено 23 октября 2003 - 09:50
Редактор портала www.it4business.ru
#13
Отправлено 16 декабря 2003 - 05:31
Подскажите, плиз, каким образом в WAPT реализовать следующий сценарий:
Пользователь Login-иться только один раз, а последующие действия (н-р, создание новости) должны повторяться много раз.
#14
Отправлено 17 декабря 2003 - 03:37
#15
Отправлено 17 декабря 2003 - 16:36
статистический/рейтинговый сервис.Так что моя небольшая загадка не нашла ответа?
Где может потребоваться более 1000 обновременных запросов?
а-ля spylog/rambler/etc-etc :P
#16
Отправлено 29 декабря 2003 - 11:33
Решил, что здесь будет как-раз.
Есть требования к системе: 5 авторизаций в секунду и поддерживание одновременно до 2000 коннекций (не запросов в секунду).
С помощью WAST такую проверку сделать не возможно.
Есть-ли какая-то тулза, которая позволит такую ситацию смоделировать или нужно исхитряться как-то своими силами?
InfoTeCS
#17
Отправлено 15 февраля 2004 - 16:46
Конечно есть. Попробуйте LoadRunner и вы сможете сделать все, что вам нужно и еще много чего другого. Хороший тул для нагрузочного тестирования даст вам возможность имитировать выполнение целого бизнес-процесса многоми пользователями с добавлением самой изощренной логики, а не просто долбить один URL 100 раз.Есть требования к системе: 5 авторизаций в секунду и поддерживание одновременно до 2000 коннекций (не запросов в секунду).
С помощью WAST такую проверку сделать не возможно.
Есть-ли какая-то тулза, которая позволит такую ситацию смоделировать или нужно исхитряться как-то своими силами?
Например, вы можете выполнять часть бизнес-процесса только один раз, а другую его часть несколько раз. Вы можете одновременно с плавным увеличением или уменьшением нагрузки снимать метрики с вашей системной инфраструктуры, которое поддерживает тестируемое приложение (web сервера, сервера приложений, сервера БД, сети, load balancers и т.д.), чтобы определить узкое место, из-за которого производительность деградирует или приложение вообще перестает работать. Ну и много чего еще можно сделать с LoadRunner.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных