Нагрузочное тестирование

Нагрузочное тестирование (англ. load testing) — процесс систематического анализа и проверки программного продукта на соответствие нефункциональным требованиям путём подачи предопределенной нагрузки с использованием инструментов нагрузочного тестирования.

Предопределенная нагрузка - нагрузка, подаваемая в % соотношении от профиля нагрузочного тестирования.

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

Наиболее яркими примерами инструментов нагрузочного тестирования являются: Apache Jmeter, Loadrunner, Gatling, K6.

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

Производительность - это мера того, насколько эффективно и хорошо система выполняет задачи, для которых она предназначена.

В рамках проверки производительности нагрузочное тестирование позволяет решить следующие задачи:

  1. найти максимальную производительность системы (maxperf, выше которой система перестает отвечать нефункциональным требованиям);
  2. найти пиковую производительность системы (peakperf, выше которой система перестает отвечать функциональным требованиям);
  3. определить пропускную способность системы;
  4. найти узкие места в системе;
  5. моделирование производительности;
  6. прогнозирование производительности;
  7. определить время отклика;
  8. определить объем утилизации памяти (memory leak).

Некоторые принципы

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

Иллюстрация различной дисперсии распределений для времени выполнения запросов X и Y.

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

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

Разброс времени отклика системы — при достаточно большом количестве измерений величины времени обработки запроса в любой системе всегда найдутся запросы, время обработки которых превышает определённые в требованиях максимумы; причем, чем больше суммарное время проведения эксперимента тем выше окажутся новые максимумы. Этот факт учитывается при формировании требований к производительности системы, а также при проведении регулярного нагрузочного тестирования.

Точность воспроизведения профилей нагрузки — необходимая точность воспроизведения профилей нагрузки тем дороже, чем больше компонент содержит система. Часто невозможно учесть все аспекты профиля нагрузки для сложных систем, так как чем сложнее система, тем больше времени будет затрачено на проектирование, программирование и поддержку адекватного профиля нагрузки для неё, что не всегда является необходимостью. Оптимальный подход в данном случае заключается в балансировании между стоимостью разработки теста и покрытием функциональности системы, в результате которого появляются допущения о влиянии на общую производительность той или иной части тестируемой системы.

Инструментарий

Некоторые инструменты для нагрузочного тестирования[1][2]:

ПО Наименование производителя Комментарии
OpenSTA 'Open System Testing Architecture' Свободно распространяемое программное обеспечение для нагрузочного/стресс тестирования, лицензированное GNU GPL. Использует распределённую архитектуру приложений, основанную на CORBA. Доступна версия под Windows, хотя имеются проблемы с совместимостью с Windows Vista. Поддержка прекращена в 2007 году.
IBM Rational Performance Tester IBM Основанное на среде разработки Eclipse ПО, позволяющее создавать нагрузку больших объёмов и измерять время отклика для приложений с клиент-серверной архитектурой. Требует лицензирования.
JMeter Открытый проект Apache Jakarta Project Основанный на Java кроссплатформенный инструментарий, позволяющий производить нагрузочные тесты с использованием JDBC / FTP / LDAP / SOAP / JMS / POP3 / HTTP / TCP соединений. Даёт возможность создавать большое количество запросов с разных компьютеров и контролировать процесс с одного из них.
HP LoadRunner HP Инструмент для нагрузочного тестирования, изначально разработанный для эмуляции работы большого количества параллельно работающих пользователей. Также может быть использован для unit- или интеграционного тестирования.
LoadComplete SmartBear Проприетарный продукт, позволяющий проводить нагрузочное тестирование веб-приложений
SilkPerformer Micro Focus (Borland)
Siege Joe Dog Software Siege — это утилита для нагрузочного тестирования веб-серверов.[3]
Visual Studio Team System Microsoft Visual Studio предоставляет инструмент для тестирования производительности включая load / unit testing
QTest Quotium
HTTPerf
QALoad Compuware Ltd.
(The) Grinder
WebLOAD RadView Software Нагрузочное тестирование инструмент для веб-и мобильных приложений, включая веб-панели для тестирования производительности анализа. Используется для крупномасштабных нагрузок, которые могут быть сгенерированы также из облака. лицензированный.[4]

Показатели производительности

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

Потребление ресурсов центрального процессора — метрика, показывающая сколько времени из заданного определённого интервала было потрачено процессором на вычисления для выбранного процесса. В современных системах важным фактором является способность процесса работать в нескольких потоках, для того, чтобы процессор мог производить вычисления параллельно. Анализ истории потребления ресурсов процессора может объяснять влияние на общую производительность системы потоков обрабатываемых данных, конфигурации приложения и операционной системы, многопоточности вычислений, и других факторов.

Потребление оперативной памяти — метрика, показывающая количество памяти, использованной приложением. Использованная память делится на несколько категорий:

  • виртуальная память — объём виртуального адресного пространства, которое использует процесс. Этот объём подразумевает, как использование соответствующего дискового пространства так и оперативной памяти. Система виртуальной памяти гарантирует, что потоки одного процесса не получат доступа к памяти принадлежащей другому процессу;
  • приватная память — объём адресного пространства, занятого процессом и не разделяемого с другими процессами;
  • рабочее множество — набор страниц памяти, недавно использованных процессом. В случае, когда свободной памяти достаточно, страницы остаются в наборе, даже если они не используются. В случае, когда свободной памяти остаётся мало, использованные страницы перемещаются из оперативной памяти на накопитель;
  • разделяемая память — объём используемой процессом физической памяти, которая может использоваться совместно с другими процессами. Хотя память выделенная процессу должна быть изолированной, процессам, иногда, необходимо иметь возможность обмениваться информацией. Общая память является самым быстрым способом межпроцессного взаимодействия.

При работе приложения память заполняется ссылками на объекты, которые, в случае неиспользования, могут быть очищены специальным автоматическим процессом, называемым сборщиком мусора. Время затрачиваемое процессором на очистку памяти таким способом может быть значительным, в случае, когда процесс занял всю доступную память (в Java — так называемый «постоянный Full GC») или когда процессу выделены большие объёмы памяти, нуждающиеся в очистке. На время, требующееся для очистки памяти, доступ процесса к страницам выделенной памяти может быть заблокирован, что может повлиять на конечное время обработки этим процессом данных.

Потребление сетевых ресурсов — метрика, не связана непосредственно с производительностью приложения, однако её показатели могут указывать на пределы производительности системы в целом.

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

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

Примечания

  1. Molyneaux, I. The Art of Application Performance Testing: Help for Programmers and Quality Assurance. — O'Reilly Media, 2009. — P. 130. — 158 p. — ISBN 9780596555436.
  2. Sosinsky, B. Cloud Computing Bible. — Wiley, 2010. — P. 121. — ISBN 9781118023990.
  3. Домашняя страница Siege. Дата обращения: 16 ноября 2013. Архивировано 20 ноября 2013 года.
  4. «WebLOAD Review-Getting Started with WebLOAD Load Testing Tool». Дата обращения: 12 сентября 2015. Архивировано 13 октября 2015 года.

Литература

  • Лайза Криспин, Джанет Грегори. Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд = Agile Testing: A Practical Guide for Testers and Agile Teams. — М.: «Вильямс», 2010. — 464 с. — (Addison-Wesley Signature Series). — 1000 экз. — ISBN 978-5-8459-1625-9.

Read other articles:

Cet article concerne le pays situé dans les Balkans. Pour le royaume caucasien antique (sans rapport avec lui), voir Albanie du Caucase. République d’Albanie(sq) Republika e Shqipërisë Drapeau de l'Albanie Armoiries de l'Albanie Devise en albanais : Ti Shqipëri, më jep nder, më jep emrin Shqipëtar (« Toi l'Albanie, tu me fais honneur, tu me donnes le nom d'Albanais ») Hymne en albanais : Hymni i Flamurit (« L'hymne au Drapeau...

 

Sindrom Empat XInformasi umumNama lainSindrom XXXX, tetrasomi X, sindrom 48, XXXXSpesialisasiGenetika kedokteranPenyebabKejadian acakSindrom Empat X (juga disebut sindrom XXXX, tetrasomi X, atau 48, XXXX) adalah kelainan kromosom yang sangat langka yang disebabkan oleh adanya empat kromosom X dan bukannya dua kromosom X.[1] Kondisi ini hanya terjadi pada wanita, karena tidak ada kromosom Y yang terlibat. Sindrom Empat X pertama kali dideskripsikan pada tahun 1961, dan sejak itu sekita...

 

American politician John Baker HollisterMember of the U.S. House of Representativesfrom Ohio's 1st districtIn officeNovember 3, 1931 – January 3, 1937Preceded byNicholas LongworthSucceeded byJoseph A. Dixon Personal detailsBorn(1890-11-07)November 7, 1890Cincinnati, OhioDiedJanuary 4, 1979(1979-01-04) (aged 88)Cincinnati, OhioResting placeSpring Grove CemeteryPolitical partyRepublicanAlma mater St. Paul's School Yale University University of Munich Harvard Law Scho...

Bay in Limestone Coast, South AustraliaGuichen BayThe Robe ObeliskGuichen BayLocation in South AustraliaLocationLimestone Coast, South AustraliaCoordinates37°7′14″S 139°45′58″E / 37.12056°S 139.76611°E / -37.12056; 139.76611[1]TypeBayBasin countriesAustraliaMax. length6 km (3.7 mi)[2]Max. width3.4 km (2.1 mi)[2]Max. depth11.3 m (37 ft)[2]SettlementsRobe Guichen Bay, (locally /ˈɡiːʃən/ ...

 

Kenwa MabuniLahir(1889-11-14)14 November 1889Shuri, OkinawaMeninggal23 Mei 1952(1952-05-23) (umur 62)Tokyo, JepangGayaShitō-ryūGuruAnkō Itosu, Higaonna KanryōPeringkatPendiri Shitō-ryūSiswa TerkemukaKenei Mabuni, Iwata Manzo, Chōjirō Tani Kenwa Mabuni (摩文仁 賢和code: ja is deprecated , Mabuni Kenwa, 14 November 1889 - 23 Mei 1952) adalah salah satu karateka pertama yang mengajarkan karate di daratan utama Jepang dan dikenal karena mengembangkan sebuah gaya yang dikenal seb...

 

Untuk pemain sepak bola Amerika Serikat, lihat Kevin Trapp (pemain sepak bola). Kevin Trapp Informasi pribadiNama lengkap Kevin TrappTanggal lahir 8 Juli 1990 (umur 33)Tempat lahir Merzig, Jerman BaratTinggi 1,89 m (6 ft 2+1⁄2 in)Posisi bermain Penjaga gawangInformasi klubKlub saat ini Paris Saint-GermainNomor 1Karier junior SSV Bachem SV Mettlach 1. FC KaiserslauternKarier senior*Tahun Tim Tampil (Gol)2007–2011 1. FC Kaiserslautern II 39 (0)2008–2012 1. FC Kaise...

Johannes TaulerPatung Johannes Tauler di salah satu gereja Protestan di Strasbourg.Lahirc. 1300Meninggal15 Juni 1361KebangsaanJermanPekerjaanMistikus Jerman, teolog dan pengkhotbah KatolikDikenal atasterutama para mistikus RheinlandGelarDoctor Illuminatus et sublimis Bagian dari seri tentangMistisisme Kristiani Teologi · Filsafat Apofatis Asketis Katafatis Spiritualitas Katolik Helenistis Teologi mistis Neoplatonis Henosis Praktik Monastisisme Monastisisme Asketisme Pengarahan rohani M...

 

United States Army general For other people with similar names, see Max Taylor. Maxwell D. TaylorChair of the President's Intelligence Advisory BoardIn officeFebruary 29, 1968 – May 1, 1970PresidentLyndon B. JohnsonRichard M. NixonPreceded byClark CliffordSucceeded byGeorge Whelan Anderson Jr.United States Ambassador to South VietnamIn officeJuly 14, 1964 – July 30, 1965PresidentLyndon B. JohnsonPreceded byHenry Cabot Lodge Jr.Succeeded byHenry Cabot Lodge Jr.Chairman of...

 

Voce principale: Unione Sportiva Foggia. Unione Polisportiva FoggiaStagione 1942-1943Sport calcio Squadra Foggia Allenatore Angelo Benincasa Presidente Alceo Gigli Serie C4º posto nel Girone M. 1941-1942 1945-1946 Si invita a seguire il modello di voce Questa voce raccoglie le informazioni riguardanti l'Unione Polisportiva Foggia nelle competizioni ufficiali della stagione 1942-1943. Rosa N. Ruolo Calciatore A Ernesto Bertè A N. Bruno C M. Caputo P Paolo Caracozzi C Giuseppe Carrara P...

Pour les articles homonymes, voir Gessner. Conrad GessnerPortrait de Conrad Gessner.FonctionsProfesseurPhilosophie naturelle1557-1565ProfesseurGrec ancien1537-1540BiographieNaissance 26 mars 1516ZurichDécès 13 décembre 1565 (à 49 ans)ZurichSépulture GrossmünsterNationalité SuisseFormation Université de StrasbourgUniversité de BourgesUniversité de MontpellierActivités Linguiste, biologiste, botaniste, ornithologue, apiculteur, professeur d'université, médecin, bibliographe, ...

 

2015 American filmThe True CostTheatrical release posterDirected byAndrew MorganProduced byMichael RossEdited byMichael RossMusic byDProductioncompaniesUntold CreativeLife Is My Movie EntertainmentDistributed byLife Is My Movie EntertainmentBullfrog Films (home media)Release dates May 15, 2015 (2015-05-15) (Cannes) May 29, 2015 (2015-05-29) (United States) Running time51 minutesCountryUnited StatesLanguageEnglishBudgetUS$500,000[1] Part of a seri...

 

Middelgrunden offshore wind park, 3.5 km outside Copenhagen. When built in 2000, it was the world's largest.[1] Denmark was a pioneer in developing commercial wind power during the 1970s, and today a substantial share of the wind turbines around the world are produced by Danish manufacturers such as Vestas—the world's largest wind-turbine manufacturer—along with many component suppliers. Furthermore, Denmark has—as of 2022—the 2nd highest amount in the world of wind powe...

American college basketball season 2008–09 Robert Morris Colonials men's basketballNEC tournament championsNEC Regular Season ChampionsNCAA tournament, first roundConferenceNortheast ConferenceRecord24–11 (15–3 NEC)Head coachMike Rice Jr. (2nd season)Assistant coaches Andrew Toole Jimmy Martelli Robby Pridgen Home arenaCharles L. Sewall CenterSeasons← 2007–082009–10 → 2008–09 Northeast Conference men's basketball standings vte Conf Overall Team W &#...

 

Red de Televisión Universitaria S.A. Logotipo de RTU, abril de 1992-septiembre de 1993.Nombre público RTUEslogan Transmite, RTU Red de Televisión Universidad de Chile, Canal 11Tipo de canal Aire y cableProgramación GeneralistaPropietario Universidad de ChilePaís Chile ChileInicio de transmisiones 18 de marzo de 1991Cese de transmisiones 30 de septiembre de 1993Formato de imagen 4:3 480i (SDTV)Área de transmisión NacionalUbicación Inés Matte Urrejola 0890Reemplazado por Chilevisi...

 

Woodworkers' hammer Warrington hammerOther namesWarrington pattern hammerJoiners' hammerEnglish pattern hammerLancashire pattern Riveting hammerPin hammer (Scots)ClassificationWoodworking hand tool The Warrington hammer, joiners' hammer, English pattern hammer, or Warrington pattern hammer is a kind of cross-peen hammer used in woodworking.[1][2][3][4][5][6] The chisel-like cross-peen side is used to set small nails and pins while the smaller, r...

British comedian, writer and musician (born 1977) Matt RoperMatt Roper in New York City, 2019Born20 May 1977 (1977-05-20) (age 47)Cheshire, EnglandMediumCharacter comedy, Alter egos, Stand up, SatireNationalityBritishYears active1997–presentNotable works and rolesWilfredo The Greatest Show on Legs I'll Say She Is: The Lost Marx Brothers Musical Matt Roper is a British comedian, writer and musician. Career Roper made his comedy debut in London during the late-1990s, working in sket...

 

1988 Thomas and Uber CupLocation Kuala Lumpur, Malaysia← 19861990 → The 1988 Thomas Cup & Uber Cup was the 15th tournament of Thomas Cup and the 12th tournament of Uber Cup, the most important badminton team competitions in the world. China won its third title in the Thomas Cup and in the Uber Cup, after beating in the final round Malaysia and Korea, respectively. Thomas Cup Teams 35 teams took part in the competition. China, as defending champion, and Malaysia, as h...

 

1939 border clashes between Imperial Japan and the Soviet Union Battle of Khalkha River redirects here. Not to be confused with Battle of the Kalka River. Battles of Khalkhin Gol/NomonhanPart of the Soviet–Japanese border conflicts (until 1939) and World War IIJapanese infantrymen near wrecked Soviet armored vehicles, July 1939Date11 May – 16 September 1939(4 months and 5 days)LocationKhalkha River, Mongolian People's Republic47°43′49″N 118°35′24″E / 47...

Rogers Morton Fonctions Conseiller du président des États-Unis 2 février – 1er avril 1976 Président Gerald Ford Gouvernement Administration Ford Prédécesseur John Marsh Successeur John Marsh 22e secrétaire au Commerce des États-Unis 1er mai 1975 – 2 février 1976(9 mois et 1 jour) Président Gerald Ford Gouvernement Administration Ford Prédécesseur Frederick Baily Dent Successeur Elliot Richardson 39e secrétaire à l'Intérieur des États-Unis 29 janvier 1971 – 30 ...

 

Questa voce o sezione sull'argomento politici spagnoli non cita le fonti necessarie o quelle presenti sono insufficienti. Commento: la pagina è pressoché priva di fonti (vedi discussione) Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Felipe González MárquezFelipe González nel 1991 Presidente del Governo di SpagnaDurata mandato2 dicembre 1982 –5 mag...