Как да използваме JMeter за тестване на производителност и натоварване

JMeter Тестване на товара

JMeter Тестване на товара е процес на тестване, извършен с помощта на инструмент за тестване на натоварване, наречен Apache JMeter което е настолно приложение с отворен код, базирано на Java. JMeter за тестване на натоварване е ключов инструмент, който определя дали тестваното уеб приложение може да удовлетвори изискванията за високо натоварване или не. Също така помага да се анализира цялостният сървър при голямо натоварване.

JMeter Тестване на производителността

JMeter Тестване на производителността is Тестване метод, изпълнен с помощта на Apache JMeter за тестване на ефективността на уеб приложение. JMeter за тестване на ефективността помага да се тестват статични и динамични ресурси, помага да се открият едновременни потребители на уебсайта и предоставя разнообразие от графични анализи за тестване на ефективността. JMeter тестването на производителността включва тест за натоварване и стрес тест на уеб приложението.

JMeter Тестване на производителността

Apache JMeter инструментът за тестване предлага следното се възползват in Тестване на производителността

  • JMeter може да се използва за тестване на ефективността и на двете статичен ресурси като JavaСценарий и HTML, както и динамичен ресурси, като JSP, Servlets и AJAX.
  • JMeter мога открият максимален брой едновременни потребители, които вашият уебсайт може да обработи
  • JMeter предоставя разнообразие от графични анализи на отчети за изпълнение.

JMeter Тестването на ефективността включва:

JMeter Тестване на производителността

  • Натоварване Тестване: Моделиране на очакваното използване чрез симулиране на достъп на множество потребители Уеб услуги едновременно.
  • Стрес Тестване: Всеки уеб сървър има максимален капацитет на натоварване. Когато натоварването надхвърли ограничението, уеб сървърът започва да реагира бавно и да генерира грешки. Целта на Стресиране е да се намери максималното натоварване, което уеб сървърът може да поеме.

Фигурата по-долу показва как JMeter Тестването на натоварването симулира тежкото натоварване:

JMeter Тестване на производителността

Създайте план за тестване на ефективността в JMeter

В този урок ние правим анализ на ефективността на Google.com за 1000 потребители, използващи различни инструменти за тестване на ефективността за да се гарантира, че уебсайтът може да се справи с натоварването и да осигури безпроблемно потребителско изживяване.

Преди да тестваме ефективността на целевото уеб приложение, трябва да определим-

  • Нормално натоварване: Среден брой потребители, посещаващи вашия уебсайт
  • Тежък товар: Максималният брой потребители, посещаващи вашия уебсайт
  • Какво е вашето цел в този тест?

Тук е пътна карта от този практически пример

Създайте план за тестване на ефективността в JMeter

Стъпка 1) Добавяне на група нишки

  1. Начало JMeter
  2. Изберете План за тестване на дървото
  3. Добави Група теми

Щракнете с десния бутон върху „План за тестване“ и добавете нова група нишки: Добави -> Нишки (потребители) -> Група теми

Добавяне на група теми

В контролния панел на Thread Group въведете Thread Properties, както следва:

Добавяне на група теми

  • Брой нишки: 100 (Брой потребители, свързващи се с целевия уебсайт: 100)
  • брой цикли: 10 (Брой време за изпълнение на тестване)
  • Ramp- Период нагоре: 100

Броят на нишките и броят на цикъла са различен.

Добавяне на група теми

Ramp-Up Период разказва JMeter колко време да забавяне преди да стартирате следващия потребител. Например, ако имаме 100 потребители и 100-сек Ramp-Up период, тогава забавянето между стартиращите потребители ще бъде 1 секунда (100 секунди /100 потребители)

Добавяне на група теми

Стъпка 2) Добавяне JMeter елементи

Сега определяме какво JMeter елементи в този тест. Елементите са

  • HTTP заявка по подразбиране

Този елемент може да бъде добавен чрез щракване с десния бутон върху Thread Group и избиране на: Добави -> Конфигурационен елемент -> HTTP заявка по подразбиране.

Добавянето JMeter Елементи

В контролния панел HTTP Request Defaults въведете името на тествания уебсайт (http://www.google.com)

Добавянето JMeter Елементи

  • HTTP заявка

Щракнете с десния бутон върху Thread Group и изберете: Добави -> дегустатор -> HTTP заявка.

HTTP заявка

В контролния панел за HTTP заявки полето „Път“ показва кой URL заявка искате да изпратите до сървъра на Google.

HTTP заявка

Например, ако въведете „календар” в полето Път. JMeter ще създаде URL заявката http://www.google.com/calendar към сървъра на Google

HTTP заявка

Ако запазите полето Path празен JMeter ще създаде URL заявката http://www.google.com към сървъра на Google.

В този тест оставяте полето Path празно, за да направите JMeter създайте URL заявката http://www.google.com към сървъра на Google.

Стъпка 3) Добавяне на резултат от графика

JMeter може да покаже резултата от теста във формат Graph.

Щракнете с десния бутон върху плана за тестване, Добави -> слушател -> Графика Резултати

Добавяне на графичен резултат

Стъпка 4) Пуснете тест и получете резултата от теста

Натискане бягането бутон (Ctrl + R) на лентата с инструменти, за да започнете процеса на тестване на софтуера. Ще видите резултата от теста на Graph в реално време.

Картината по-долу представя графика на план за тестване, където симулирахме 100 потребители, които са имали достъп до уебсайта www.google.com.

Пуснете тест и получете резултата от теста

В долната част на снимката има следните статистики, представени в цветове:

  • Черно: Общият брой изпратени текущи проби.
  • Блу: Текущата средна стойност на всички изпратени проби.
  • червен: Текущото стандартно отклонение.
  • Зелена: Скорост на пропускателна способност, която представлява броя на заявките за минута, обработени от сървъра

Нека анализираме ефективността на сървъра на Google на фигурата по-долу.

Пуснете тест и получете резултата от теста

За да анализирате производителността на тествания уеб сървър, трябва да се съсредоточите върху 2 параметъра

  • магистрала
  • отклонение

- магистрала е най-важният параметър. Представлява способността на сървъра да се справи с голямо натоварване. The по-висок пропускателната способност е, по-добре е производителността на сървъра.

В този тест пропускателната способност на сървъра на Google е 1,491.193/минута. Това означава, че сървърът на Google може да обработва 1,491.193 XNUMX XNUMX заявки в минута. Тази стойност е доста висока, така че можем да заключим, че сървърът на Google има добра производителност

- отклонение се показва в червено – показва отклонението от средната стойност. The по-малък - по-добре.

Нека сравним производителността на сървъра на Google с други уеб сървъри. Това е резултатът от теста за ефективност на уебсайта http://www.yahoo.com/ (Можете да изберете други уебсайтове)

Пуснете тест и получете резултата от теста

Пропускателната способност на тестван уебсайт http://www.yahoo.com е 867.326/минути. Това означава, че този сървър обработва 867.326 XNUMX заявки в минута, по-малко от Google.

Отклонението е 2689, много по-високо от Google (577). Така че можем да определим, че ефективността на този уебсайт е по-ниска от тази на сървър на Google.

ЗАБЕЛЕЖКА: Стойностите по-горе зависят от няколко фактора, като текущото натоварване на сървъра в Google, вашата скорост на интернет, мощност на вашия процесор и т.н. Следователно е много малко вероятно да получите същите резултати като по-горе. Така че не се паникьосвайте! Ако се интересувате да разберете как натоварването на сървъра влияе върху производителността и как да го тествате, може да намерите това урок за тестване на натоварване полезен.

Отстраняване на проблеми

Ако се сблъскате с проблема, докато изпълнявате горния сценарий... направете следното

  1. Проверете дали се свързвате с интернет чрез прокси. Ако да, премахнете проксито.
  2. Отворете нов екземпляр на Jmeter
  3. Отворете PerformanceTestPlan.jmx в Jmeter
  4. Double Кликнете върху Група нишки -> Резултат от графика
  5. Стартирайте теста