Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Tools & Tips
Code

New Relic & JMeter - perfektní, testování výkonu

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Performance Monitoring With New Relic.
3 New Relic Power Features You Should Be Using Today
Using New Relic Custom Metrics to Monitor All the Things
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

Czech (Čeština) translation by Tereza Foretová (you can also view the original English article)

Skvělé úvodní články v návaznosti na nedávno vystupoval na Nettuts +, Tento článek se zaměřuje Ukázat, jak si můžete vzít New Relic do další úrovně. Jako sledování výkonu nástroj New Relic je fantastické, ale to, co o testování výkonu, než si jít žít. To je místo, kde JMeter přijde hrát. V tomto kurzu, uvidíte, jak zdůrazňujeme naši aplikaci realistické zatížení otestovat a kombinovat výstup JMeter a New Relic k vám důvěru v výkon aplikací před uvolněním do provozního prostředí.

Sponzorovaný obsah

Tento obsah byl pověřen NewRelic a byl napsán či upravil Tuts + týmu. Naším cílem sponzorované obsahu je publikovat relevantní a objektivní tutoriály, případové studie a inspirativní rozhovory, které nabízejí originální vzdělávací hodnotu našim čtenářům a umožní nám financovat vytvoření další užitečný obsah.

Proč čekat až do nasazení vidět, jak vaše aplikace bude dařit proti reálného světa. Pokud existuje problémové místo ve vašem kódu, který snižuje uživatelský zážitek, opravdu to jít žít? Co když bychom mohli brzy najít tyto kritické body, zlepšit výkon a poskytují skvělou aplikaci našim koncovým uživatelům poprvé a udržovat, že do budoucna s pravidelné srovnávání. JMeter a New Relic dohromady vám může dát tento dokonalý výkon testování suite.


Demo aplikace

Předtím, než můžeme začít používat New Relic a JMeter potřebujeme jednoduchý app udělat nějaké testování na výkonu! Takže nechá napsat jednoduchý Ruby Sinatra app, která má službu, kterou lze testovat. Nebudu zacházet do vytvoření této aplikace příliš mnoho, jak si můžete přečíst na Sinatra v jiných článcích o Nettuts +.

Aplikace bude falešný trochu, aby nám umožňují vidět některé zajímavé výsledky v intencích toho, co nám mohou vidět v různých aplikacích. Bude psát službu, která vyžaduje identifikátor a podle toho, že id vrátí hodnotu buď hned, nebo se zpožděním. To nám ukáže, co se může stát, pokud požadavky jsou zpracovávány rychle nebo pomalu a dopad to má na své aplikace celkový výkon jak mnozí uživatelé vznášet požadavky.

Zde je kód, který definuje služby:

Jak vidíte, to je jasně příkladu nepřirozený, ale myšlenka je, že máme některé rychle reagovat služby a jednu s mírným zpožděním. Nyní můžeme používat tuto aplikaci a začít psát naše testování plán v JMeter výkonu. Pojďme si nejprve JMeter v našem počítači nainstalován.


Zapojení do New Relic

Získání aplikace hlášení do New Relic je velmi jednoduchý proces. Podpora nového Relic Ruby, Python, PHP, Java a jiné platformy, představovat snadné sledovat průvodci pro všechny. V případě Ruby Sinatra, to je doslova čtyři kroky:

  • Přidejte gem "newrelic_rpm" GemFile a "bundle instalace".
  • Ve své hlavní "app.rb" kde jsme definovali výše směrování služby přidejte řádek "require"newrelic_rpm"".
  • Stáhnout soubor "newrelic.ini" z vašeho účtu v New Relic a umístit do config složky ve vaší aplikaci.
    (Zajištění režim monitoru je nastavena na "true" pro rozvoj, je-li spuštěn lokálně.)
  • Rackup aplikace a vidět uvedeny v New Relic!

Jakmile budete mít tyto jednoduché kroky, měli byste začít vidět některá data procházející do New Relic, jak jste hit aplikace s některými provozu. Budete vědět, že to funguje při aplikace je uvedena a změní na zelenou.

newrelic-screen-1

Jen pro úplnost já jen vypíše stručný přehled hlavních pohledu, New Relic poskytuje pro vaše aplikace. Design na New Relic je především monitorování aplikací, které jsou v provozním prostředí s živou dopravní. Poskytuje přehled obrazovky na první pohled podívat na aktuální stav aplikace a jak reaguje na požadavky zákazníků.

Obrazovku lze rozdělit následovně:

  1. Doba odezvy - to je průměrná doba odezvy volání celé aplikace.
  2. Apdex - nová metrika relikvie pro zkušenosti zákazníků. Skóre více k 1 udává drtivá většina uživatelů
    požadavky klesají v přiměřené lhůtě. Apdex může být užitečná pro upozornění pokud klesne pod nastavené číslo.
  3. Propustnost - požadavky za minutu (ot/min) byla provedena k vaší aplikaci.
  4. Webové transakce - různé trasy jsou přístupné v aplikaci. Ty jsou řazeny podle nejvíce časově náročné požadavky.
  5. Míra chyb - procento požadavků, což způsobuje chybu. Můžete proklikat a ladění jednotlivých chyb.
newrelic-screen-2

Co je JMeter?

jmeter-logo

JMeter je Java aplikace, která umožňuje vytvářet plány pro testování, které mohou zátěžový test aplikace. Můžete nastavit vše od množství současných uživatelů služby, množství žádostí, které dělají chvilku. Dokonce můžete rozjet požadavky Chcete-li vidět, jak vaše aplikace se zabývá změnou zatížení, stejně jako by v reálném světě nasazení.

V rámci tohoto kurzu vám ukáže základy získání plán testování proti vaší aplikace, ale s bohatými pluginy a dokumentace existuje spousta nástrojů zvládnout jakýkoli druh testování výkonu, které budete potřebovat.


Instalace a použití

Instalace je poměrně jednoduchý a Zde uvedeme pokyny pro Mac a Linux.

Mac OS X

Na Mac JMeter lze velmi snadno nainstalovat prostřednictvím vařit. Jakmile máte vařit vyzkoušet
následující příkaz:

Linux

Na počítači Linux jednoduše stáhněte ze stránky stažení JMeter. Jednoduše postupujte podle pokynů.

Všechny platformy

Jakmile budete mít hlavní balíček JMeter, musíme také nainstalovat standardní množinu pluginů. Budeme dělat využívání jeden plugin zejména později, proto musíme přidat tyto v moci používat. Standardní modul sady lze získat z tohoto odkazu: https://jmeter-plugins.org/downloads/file/JMeterPlugins-1.0.0.zip po stažení extrahovat do JMeter balíčku, který se nachází na: "/ usr/local/sklep/jmeter /" na Mac, a všude tam, kde jste nainstalovali to na Linuxu.


Analýza v New Relic - nejprve potřebujeme plán JMeter testu!

Takže teď máme JMeter nainstalován a naši jednoduchou aplikaci, otestujeme tuto aplikaci a uvidíme, jak se chová. Když spustíš JMeter zobrazí se tato obrazovka:

A teď pojďme nastavit základní adresu URL pro naše požadavky. Klepněte pravým tlačítkem myši na "Testovacího plánu" v levém podokně a zvolte "Přidat-> prvek Config-> požadavku HTTP výchozí". Můžeme teď jít naše základní adresu URL zde jako tak.

jmeter-screen-2

Nyní můžeme přidat množství vláken nebo "uživatelů" z našeho systému. Tento pravým tlačítkem myši na "Testovacího plánu" znovu a zvolte "Přidat-> vlákna (uživatelé)-> skupina vláken". Můžeme pak můžete zadat uživatele, v tomto případě 20. Přesvědčte se, zda zvolit počet opakování, možnost navždy, což umožní nám kontrolovat čas a počet žádostí prostřednictvím plugin později.

jmeter-screen-3

Jakmile budeme mít vlákně skupiny můžeme nyní definovat požadavky, chceme, aby naši aplikaci, která se chystáme testu výkonnosti. K tomu přidáme "Požadavek HTTP" do našeho "testovacího plánu". To lze nalézt kliknutím pravým tlačítkem myši na "Thread Group" a zvolíte "Přidat-> Sampler-> HTTP požadavek". Pak můžeme definovat žádost, aby v podokně jako níže.

jmeter-screen-4

Vidíte, jak není třeba definovat základní adresu URL, jak jsme to dělali dříve a místo toho stačí přidat cestu pro požadavek. V tomto případě cesta je naší odpovědí ' Příklad/1'. Budete také všimnout jsem šel dopředu a přidal další dvě žádosti spolu s výsledkem a grafy podokna, které nám umožňuje analyzovat výsledky testů. Tím teď měli byste dostal na kloub přidávání prvků a lze snadno nalézt v menu z jejich jména. Hlavní dvě zájmu jsou "Formování časovač propustnost" a "Složený graf".

Formování časovač umožňuje mapovat, jak chceme požadavky mají být provedeny naší aplikace v průběhu času. Například můžeme konfigurovat jednu žádost za sekundu po dobu 60 sekund, a pak rampa maximálně pět požádá o chvilku na 60 sekund a vliv to má na naše doby odezvy. Pojďme se podívat jak jsme konfigurovat v podokně tvarování časovač.

jmeter-screen-5

Takže jít a přidáním každý řádek, můžete definovat velikost požadavku aby a za jak dlouho by to měl udělat pro. Můžeme pak prohlížet naše výsledky pomocí "Složený graf", který ukazuje transakcí provedených za sekundu proti doba odezvy našich požadavků. To vyžaduje minimální konfigurace, pouhým přidáním dva grafy spojit, pak v nastavení pro kompozitní graf, přidáme v grafech jsme vyžadují například takto:

jmeter-screen-6

To je ono! Nyní můžeme spustit náš testovací plán a začít vidět nějaké výsledky. Hit hrát směrem k horní části obrazovky a pak klepněte na složený graf. Začne trik výsledky jak přijdou, a můžete získat představu o jak vaše aplikace reagovat. Pojďme se podívat na naše výsledky.

jmeter-screen-7

Můžeme jasně vidět že skok v požadavcích na jednu minutu má poměrně značný vliv na naši aplikaci. Za první minutu požadavky jsou stabilní na jedné za sekundu a dát doby odezvy z okolí dvě/tři paní však, když zvýšíme na pět, doby odezvy zvýšit, mírně zasáhnout pět a pět m/s. Zřejmě to jsou velmi rychlou dobou odezvy v reálném světě, ale jen ukážeme zde jak můžeme zvýšit zatížení a vidět vliv, pokud vůbec, že bude to mít.

Srovnejme tyto výsledky se službou, která má zpoždění tři sekundy. Jak se to vyrovnat s nárůstem zatížení? Chcete-li přepnout na příkladu dvou, klepněte pravým tlačítkem myši na příkladu jeden a zvolte přepnout. To bude zakázat tuto žádost, pak se přepnout na příkladu dva a že umožní. Nezapomeňte klepnout na ikonu "Vymazat vše" (zametací kartáč) na vrcholu poslední spuštění výsledky, pak hit hry.

jmeter-screen-8

I přes tři sekundy zpoždění server spravovat požadavky docela dobře a vidíme mnohem stejné cestě výsledky pro tuto službu. Jen pár milisekund zvýšit jak zvýšit požadavky. S takovou jednoduchou službu je třeba očekávat.


Nový Relic Analytics

Skutečná moc nyní přichází s kombinací těchto údajů s New Relic. Můžeme například nastavte JMeter běžet půl hodiny s různými variacemi zatížení a pak použít New Relic k analyzovat výsledky a použít jeho procházení dolů funkce vyhledat slabá místa v aplikaci. To pak může být jemné naladěn, zvýšení vaší výkonnosti před dodáním k vašim zákazníkům.

Opět Nebudu zacházet do nastavení New Relic jako to je zahrnuto v jiných nedávných článků o Nettuts + (viz zde). Ale jakmile aplikace je připojen, to je prostě případ generování zatížení prostřednictvím JMeter a přihlášením se do New Relic vidět výsledky. Pro tento běh jsem nastavili tvarování časovač spuštění naší zatížení 30 minut rozjíždějícím se žádostí od pěti do 10 a pak 15 za sekundu. To by nám mělo dát nějaké rozumné provoz na pohled v New Relic.

jmeter-screen-9

Po spuštění JMeter testu, bereme se do New Relic přihlašují, které můžeme nyní viz má stat na provoz po prostřednictvím aplikace.

jmeter-screen-10

To jasně ukazuje rozjíždějícím žádostí na svém vrcholu bít zhruba 400 žádost za minutu (ot/min) a dobu zůstaly stejné odpovědi na tři sekundy. Můžeme ponořit se hlouběji do statistiky a podívat se do transakce, které chystáme. Pokud jsme proklikávat pohledu webové transakce, vidíme analýza, New Relic učinil právě této části aplikace. Kódu, který zpracovával požadavek měli více vrstev, například metody k volání jiných systémů získat data před prezentuje uživateli, by jsme vidět více z poruchy.

Například na levé straně ukazuje že jsme strávili 100 % času požadavku v tomto volání. Kdybychom měli více fáze jako volání do databáze, můžeme vidět vysoké procento a věděli bychom optimalizovat dotaz do databáze pro zvýšení výkonu.

jmeter-screen-11

New Relic také poskytuje skvělou vykazování pohled na data aplikace, zvané škálovatelnost. Tato zpráva může být opravdu užitečné pro sledování aplikace schopnost zvládat vzrůstající zátěž. Graf ukazuje doba odezvy proti požadavků za minutu, a můžete jasně vidět, jestli existuje nějaké snížení doby odezvy zvyšují. To je skvělý nástroj a jeden najdete často i v testu podobného výkonu, ale také v sledování aplikace výroby vašeho výkonu.

V našem příkladu je zřejmé, že aplikace je schopen udržovat dobu odezvy tři druhé i při zvýšení otáček.

jmeter-screen-12

New Relic poskytuje také další view, které kapacity. To nám umožňuje podívat na to, kolik dostupných zdrojů naše aplikace je aby využívání. Developer označuje, zda počet instancí, které slouží aplikace stačí zpracovat typ zatížení, které jste získali. To je důležité zajistit, že používáte zaplněn a mají schopnost zpracovat jakékoliv výkyvy v provozu, který může nastat mimo běžného dopravního proudu. New Relic shrnují stránky, vedle analýzy naší aplikace, který vidíme, je kapotáž dobře i na tuto jednu instanci.

jmeter-screen-13

Závěr

Cílem tohoto kurzu bylo Ukázat, jak rychle nastavit JMeter testování plánů pro vaši aplikaci, takže můžete vyzkoušet výkon aplikace před vydáním svým zákazníkům. Tento postup lze použít v nových projektech, zajistit, že aplikace, které budete dodávat je připravena pro reálný provoz. Lze použít i na starší aplikace, která vám ukazatel výkonu směrného plánu tak, aby při provádění změn do budoucna vidíte zda výkon aplikace je zlepšení nebo klesající.

Využitím skvělé nástroje poskytované New Relic, můžete jak sledovat vaše aplikace online v reálném čase, ale také vzít jeho toolset a použít jej pro vlastní nezávislou analýzu. Jak se vyvíjí, i když je propuštěn do přírody, to vám dá váš produkt, vývojář, důvěra.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.