Выполнение стресс-теста на веб-приложении?

Попробуйте поместить document.getElementById в setTimeout()

Например.

setTimeout(function(){
    console.log(document.getElementById('whatever'));
}, 100);

Если это сработает, тогда это просто проблема синхронизации.

241
задан Vadim Kotov 25 October 2017 в 04:52
поделиться

15 ответов

Вот другое голосование за JMeter.

JMeter является инструментом тестирования загрузки с открытым исходным кодом, записанным в Java. Это способно к тестированию многих различных типов сервера (например, сеть, веб-сервисы, база данных, примерно что-либо, что использует запросы в основном).

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

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

  • Открытый исходный код/Бесплатный инструмент из проекта Apache (помогает с закрытием сделки)
  • Легкий начать с, и простой в использовании, как только Вы схватываете базовые понятия. (Т.е., как создать запрос, как создать утверждение, как работать с переменными и т.д.).
  • Очень масштабируемый. Я запустил тесты с 11 машинами, генерирующими нагрузку на сервер в размере почти миллиона хитов/час. Было очень легче установить, чем я ожидал.
  • Имеет активное сообщество и хорошие ресурсы, чтобы помочь Вам встать и выполнение. Прочитайте учебные руководства сначала и игру с ним некоторое время.

Недостатки:

  • UI записан в Swing. (тьфу!)
  • JMeter работает путем парсинга текста ответа, возвращенного сервером. Таким образом, если Вы надеетесь проверять какой-либо вид поведений JavaScript, Вы являетесь неудачливыми.
  • Кривая обучения крута для непрограммистов. Если Вы знакомы с регулярными выражениями, Вы уже перед игрой.
  • существуют большие количества (, вставляют ругательство ), идиоты в форуме поддержки, задавая глупые вопросы, которые могли быть легко решены, если они дадут документации даже поверхностный взгляд. ('Как я использую JMeter для стресс-теста, который мой Windows GUI' разоблачает вполне часто).
  • Создание отчетов 'из поля' оставляет желать лучшего, особенно для больших тестов. В тесте я упомянул выше, я закончил тем, что имел необходимость записать быстрое консольное приложение, чтобы сделать часть 'xml-файла-журнала' к преобразованиям 'HTML'. Это было несколько лет назад, хотя, таким образом, вероятно, что это больше не требовалось бы.
110
ответ дан Peter Bernier 23 November 2019 в 03:16
поделиться

Я играл с JMeter. Каждый думает, что это не могло не протестировать, были Веб-формы ASP.NET. Состояние отображения повредило мои тесты. Я не Shure почему, но существует несколько инструментов там, которые не обрабатывают право состояния отображения. Моим текущим проектом является ASP.NET MVC и работы JMeter хорошо с ним.

0
ответ дан Mathias F 23 November 2019 в 03:16
поделиться

Я второй opensta предложение. Я просто добавил бы, что это позволяет Вам делать вещи контролировать сервер, Вы тестируете SMTP использования. Мы отслеживаем загрузку процессора, используемая память, byes отправленный, и т.д. Единственный недостаток - то, что, если Вы находите что-то клевавшим и хотите сделать фиксацию, она полагается на несколько библиотек с открытым исходным кодом, которые больше не поддерживаются на высоком уровне, так получение версии компиляции источника более хитро, чем с большей частью OSS

0
ответ дан tloach 23 November 2019 в 03:16
поделиться

Смотрите на TestComplete.

0
ответ дан Erick Sasse 23 November 2019 в 03:16
поделиться

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

0
ответ дан Mike Stone 23 November 2019 в 03:16
поделиться

Я использовал openSTA.

Это позволяет сессии с веб-сайтом быть зарегистрированной и затем воспроизведенной через относительно простой язык сценария.

можно легко протестировать веб-сервисы и записать собственные сценарии.

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

Это - открытый исходный код и свободный.

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

1
ответ дан nzpcmad 23 November 2019 в 03:16
поделиться

Я нашел Чертежник-конструктор Страницы IBM также интересный инструмент работать с.

1
ответ дан Michael Stum 23 November 2019 в 03:16
поделиться

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

Мы добавляем загрузку из этого инструмента с другими инструментами включая OpenSTA, и ссылка проверяют пауков.

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

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

1
ответ дан Jerry B 23 November 2019 в 03:16
поделиться

Я использовал Шлифовальный станок . Это - открытый исходный код, довольно простой в использовании, и очень настраивающийся. Это - базирующийся Java и использует Jython для сценариев. Мы выполнили его против веб-приложения.NET, не думайте, что это - Java только инструмент (по их характеру, любой веб-инструмент напряжения не должен быть связан с платформой, которую это использует).

Мы сделали некоторый аккуратный материал с ним..., мы были веб-телекоммуникационным приложением, таким образом, одно прохладное использование, которое я настроил, должно было имитировать набирание номера через наше веб-приложение, затем использовало инструмент автоматического ответа, мы имели (который был в основном учебным приложением от Microsoft для подключения с их RTC сервера LCS..., который является тем, с чем соединяется Коммуникатор Microsoft Office в локальной сети... тогда измененной, чтобы просто взять вызовы автоматически). Это тогда позволило нам использовать это вместо дорогого инструмента телефонии под названием Молоток (или что-то как этот).

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

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

36
ответ дан Mike Stone 23 November 2019 в 03:16
поделиться

Немного поздно этой стороне. Я соглашаюсь, что Pylot является лучшим напористым инструментом с открытым исходным кодом там. Это просто в использовании и активно работается на замечательным парнем ( Corey Goldberg ). Как основатель OpenQA, я также рад, что Pylot теперь перечислен на нашей домашней странице и использует часть нашей инфраструктуры (а именно, форумы).

Однако я также недавно решил, что все понятие тестирования загрузки было испорчено: эмуляция Трафика HTTP, с приложениями, столь сложными, как они стали, является болью в торце. Вот почему я создал коммерческий инструмент BrowserMob. Это внешний сервис тестирования загрузки , который использует Селен для управления реальными веб-браузерами при воспроизведении загрузки.

подход, очевидно, требует тонна [еще 119] аппаратные средства, чем методы тестирования нормальной нагрузки, но аппаратные средства являются на самом деле довольно дешевыми при использовании облачных вычислений. И хороший побочный эффект этого состоит в том, что сценарии очень легче, чем тестирование нормальной нагрузки. Вы не должны делать, любой совершенствовался, соответствие regex (как JMeter требует) извлечь cookie, состояние сеанса.NET, параметры запроса Ajax, и т.д. Так как Вы используете реальные браузеры, они просто делают то, что они, как предполагается, делают.

Извините для явной подачи коммерческого продукта но надо надеяться понятие интересно некоторым людям и по крайней мере получает их думающий о некоторых новых способах иметь дело с тестированием загрузки, когда у Вас есть доступ к набору дополнительного оборудования!

23
ответ дан J J B 23 November 2019 в 03:16
поделиться

Я использовал JMeter. Помимо тестирования веб-сервера можно также протестировать бэкенд базы данных, службы обмена сообщениями и почтовые серверы.

15
ответ дан djthoms 23 November 2019 в 03:16
поделиться

Я попробовал WebLoad, это - довольно аккуратный инструмент. Это идет и IDE сценария тестирования, который позволяет Вам записывать пользовательское действие с веб-сайтом. Это также тянет график, поскольку это выполняет стресс-тест на Вашем веб-сервере. Испытайте его, я настоятельно рекомендую его.

4
ответ дан Yasei No Umi 23 November 2019 в 03:16
поделиться

Вы задали этот вопрос почти год назад, и я не знаю, ищете ли вы еще один способ сравнительного анализа своего веб-сайта. Однако, поскольку этот вопрос все еще не помечен как решенный, я хотел бы предложить бесплатный веб-сервис LoadImpact (кстати, не аффилированный). Только что получил эту ссылку в твиттере и хотел бы поделиться этой находкой. Они создают разумный хороший обзор, и за несколько долларов вы получаете «режим полного воздействия». Возможно, это звучит странно, но удачи вам в продвижении и остановке вашего сервиса :)

2
ответ дан 23 November 2019 в 03:16
поделиться

Visual Studio Test Edition 2010 (2008 год тоже хорошо). Это действительно простой и мощный инструмент для создания веб / нагрузочных тестов.

Преимущество этого инструмента при использовании против серверов Windows заключается в том, что вы получаете интегрированный доступ ко всей статистике сервера perfmon в своем отчете. Действительно полезно.

Другой бонус заключается в том, что с проектом Visual Studio вы можете интегрировать «Сеанс производительности», который будет профилировать выполнение кода вашего веб-сайта.

Если вы обслуживаете веб-страницы с сервера Windows, это лучший инструмент.

Однако для использования нескольких машин для нагрузочного тестирования приложения требуется отдельная дорогостоящая лицензия.

1
ответ дан 23 November 2019 в 03:16
поделиться

Для простого использования я предпочитаю ab (тест apache) и siege, позже потребуется, как ab don ' t поддерживает cookie и будет создавать бесконечные сеансы с динамического сайта.

оба варианта просты для запуска:

ab -c n -t 30 url

siege -b -c n -t 30s url

siege может работать с большим количеством URL-адресов.

последняя версия осады включает подробное описание в siegerc, что раздражает. вы можете отключить его, только отредактировав этот файл ( / usr / local / etc / siegerc ).

9
ответ дан 23 November 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: