<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Axel Jung</title>
	<atom:link href="http://www.ajung.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajung.de</link>
	<description>Privater Blog von Axel Jung aus Wiesbaden</description>
	<lastBuildDate>Mon, 18 Feb 2013 22:34:08 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Qype: Café Prückel in Wien</title>
		<link>http://www.ajung.de/2013/02/19/qype-cafe-pruckel-in-wien/</link>
		<comments>http://www.ajung.de/2013/02/19/qype-cafe-pruckel-in-wien/#comments</comments>
		<pubDate>Mon, 18 Feb 2013 22:34:08 +0000</pubDate>
		<dc:creator>Axel Jung</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=742</guid>
		<description><![CDATA[Wien - Essen und Trinken - Cafe und Coffee Shop - Cafe Auf den ersten Blick wirkte diese Kaffee etwas kühl und ungemütlich. Das liegt aber nur an der sehr hellen Einrichtung. Diese besteht aus faszinierend vielen Möbeln aus den 70er Jahren. Alle Stühle, alle Lampen, alle Tische und sonstigen Möbel scheinen in der Zeit [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.qype.com/at130-wien">Wien</a> - <a href="/at130-wien/categories/883-essen-und-trinken-in-wien">Essen und Trinken</a> - <a href="/at130-wien/categories/332-cafe-und-coffee-shops-in-wien">Cafe und Coffee Shop</a> - <a href="/at130-wien/categories/73-cafes-in-wien">Cafe</a></p>
<p>  Auf den ersten Blick wirkte diese Kaffee etwas kühl und ungemütlich. Das liegt aber nur an der sehr hellen Einrichtung. Diese besteht aus faszinierend vielen Möbeln aus den 70er Jahren. Alle Stühle, alle Lampen, alle Tische und sonstigen Möbel scheinen in der Zeit stehen geblieben zu sein. Es hat ein wenig was, aus einen alten Bond Film. <br><br>Die Bedienung war sehr flott und brachte mir dann das beste Wiener Schnitzel das ich bis jetzt essen durfte (dabei habe ich schon mal eins beim Sterne Koch gegessen). Dieses Schnitzel hatte so eine genial luftige Pannade. Einfach ein Traum. <br><br><br><img title="" height="377" width="250" src="http://assets1.qypecdn.net/uploads/photos/0463/3983/IMGP1844_gallery2.jpg" alt=""><img title="" height="377" width="250" src="http://assets1.qypecdn.net/uploads/photos/0463/7223/IMGP1845_gallery2.jpg" alt=""><br><br />
Mein Beitrag zu <a href="http://www.qype.com/place/25253-Cafe-Prueckel-Wien">Café Prückel</a> - Ich bin <a href="http://www.qype.com/people/ajung">ajung</a> - auf <a href="http://www.qype.com/">Qype</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2013/02/19/qype-cafe-pruckel-in-wien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides vom Vortrag über Scrum Rollen und Kunagi</title>
		<link>http://www.ajung.de/2012/11/11/slides-vom-vortrag-uber-scrum-rollen-und-kunagi/</link>
		<comments>http://www.ajung.de/2012/11/11/slides-vom-vortrag-uber-scrum-rollen-und-kunagi/#comments</comments>
		<pubDate>Sun, 11 Nov 2012 13:17:50 +0000</pubDate>
		<dc:creator>Axel Jung</dc:creator>
				<category><![CDATA[Webwerkzeuge]]></category>
		<category><![CDATA[kunagi]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=734</guid>
		<description><![CDATA[Hier sind die Slides von meinen Vortrag auf der Tools 4 Agile Teams 2012 in Wiesbaden. Scrum rollen sauber einhalten from Axel Jung]]></description>
				<content:encoded><![CDATA[<p>Hier sind die Slides von meinen Vortrag auf der <a href="http://www.tools4agileteams.com">Tools 4 Agile Teams 2012</a> in Wiesbaden.</p>
<p><iframe style="border: 1px solid #CCC; border-width: 1px 1px 0; margin-bottom: 5px;" src="http://de.slideshare.net/slideshow/embed_code/15080683" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="427" height="356"></iframe></p>
<div style="margin-bottom: 5px;"><strong> <a title="Scrum rollen sauber einhalten" href="http://de.slideshare.net/axeljung01/scrum-rollen-sauber-einhalten" target="_blank">Scrum rollen sauber einhalten</a> </strong> from <strong><a href="http://de.slideshare.net/axeljung01" target="_blank">Axel Jung</a></strong></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2012/11/11/slides-vom-vortrag-uber-scrum-rollen-und-kunagi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brügge &#8211; Brighton Brüssel</title>
		<link>http://www.ajung.de/2012/10/19/brugge-brighton-brussel/</link>
		<comments>http://www.ajung.de/2012/10/19/brugge-brighton-brussel/#comments</comments>
		<pubDate>Thu, 18 Oct 2012 22:30:33 +0000</pubDate>
		<dc:creator>Axel Jung</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=712</guid>
		<description><![CDATA[Kleiner aber feiner Kurzurlaub an Orte wo ich vorher noch nie war.]]></description>
				<content:encoded><![CDATA[<p>Kleiner aber feiner Kurzurlaub an Orte wo ich vorher noch nie war.</p>

<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp5866/' title='IMGP5866'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP5866-150x150.jpg" class="attachment-thumbnail" alt="IMGP5866" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp5877/' title='IMGP5877'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP5877-150x150.jpg" class="attachment-thumbnail" alt="IMGP5877" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp5884/' title='IMGP5884'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP5884-150x150.jpg" class="attachment-thumbnail" alt="IMGP5884" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp5949/' title='IMGP5949'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP5949-150x150.jpg" class="attachment-thumbnail" alt="IMGP5949" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp5988/' title='IMGP5988'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP5988-150x150.jpg" class="attachment-thumbnail" alt="IMGP5988" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp6001/' title='IMGP6001'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP6001-150x150.jpg" class="attachment-thumbnail" alt="IMGP6001" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp6032/' title='IMGP6032'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP6032-150x150.jpg" class="attachment-thumbnail" alt="IMGP6032" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp6044/' title='IMGP6044'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP6044-150x150.jpg" class="attachment-thumbnail" alt="IMGP6044" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp6054/' title='IMGP6054'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP6054-150x150.jpg" class="attachment-thumbnail" alt="IMGP6054" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp6065/' title='IMGP6065'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP6065-150x150.jpg" class="attachment-thumbnail" alt="IMGP6065" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp6104/' title='IMGP6104'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP6104-150x150.jpg" class="attachment-thumbnail" alt="IMGP6104" /></a>
<a href='http://www.ajung.de/2012/10/19/brugge-brighton-brussel/imgp6108/' title='IMGP6108'><img width="150" height="150" src="http://www.ajung.de/wp-content/uploads/2012/10/IMGP6108-150x150.jpg" class="attachment-thumbnail" alt="IMGP6108" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2012/10/19/brugge-brighton-brussel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qype: Boulangerie Paul in Bruxelles</title>
		<link>http://www.ajung.de/2012/10/15/qype-boulangerie-paul-in-bruxelles/</link>
		<comments>http://www.ajung.de/2012/10/15/qype-boulangerie-paul-in-bruxelles/#comments</comments>
		<pubDate>Mon, 15 Oct 2012 15:01:59 +0000</pubDate>
		<dc:creator>Axel Jung</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=709</guid>
		<description><![CDATA[Bruxelles - Shopping - Lebensmittel - Baeckerei &#038; Konditorei Ich habe diesen Bäcker zum ersten Mal in Metz kennengelernt. Bei diesen Bäcker gehts mir immer so, dass ich das gerade gekaufte Brot am liebsten sofort aufessen möchte. Wenn es ein Brot mal bis nach Hause geschafft hat, esse ich es ohne Belag da dieser den [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.qype.com/be100-bruxelles">Bruxelles</a> - <a href="/be100-bruxelles/categories/3-shopping">Shopping</a> - <a href="/be100-bruxelles/categories/350-lebensmittel-in-bruessel">Lebensmittel</a> - <a href="/be100-bruxelles/categories/74-baeckereien-und-konditoreien-in-bruessel">Baeckerei & Konditorei</a></p>
<p>  Ich habe diesen Bäcker zum ersten Mal in Metz kennengelernt. Bei diesen Bäcker gehts mir immer so, dass ich das gerade gekaufte Brot am liebsten sofort aufessen möchte. Wenn es ein Brot mal bis nach Hause geschafft hat, esse ich es ohne Belag da dieser den genialen Geschmack übertönen würde. Etwas teuer, aber unglaublich gutes Brot. Das Frühstück ist auch empfehlenswert.<br><i><br><img title="" src="http://assets0.qypecdn.net/uploads/photos/0428/3193/IMGP6082_gallery2.jpg" height="341" alt="" width="515"></i><br><br />
Mein Beitrag zu <a href="http://www.qype.com/place/1242340-Boulangerie-Paul-Bruxelles">Boulangerie Paul</a> - Ich bin <a href="http://www.qype.com/people/ajung">ajung</a> - auf <a href="http://www.qype.com/">Qype</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2012/10/15/qype-boulangerie-paul-in-bruxelles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UnitTH  Unit Tests im zeitlichen Verlauf</title>
		<link>http://www.ajung.de/2011/11/22/unitth-unit-tests-im-zeitlichen-verlauf/</link>
		<comments>http://www.ajung.de/2011/11/22/unitth-unit-tests-im-zeitlichen-verlauf/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 21:13:42 +0000</pubDate>
		<dc:creator>Axel Jung</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webwerkzeuge]]></category>
		<category><![CDATA[Continuus Integration]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[Unittests]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=696</guid>
		<description><![CDATA[In unserem aktuellen Projekt werden ziemlich viele Selenium Tests erstellt und ausgeführt. Selenium Tests bedürfen einer besonders Intensiven Wartung und Pflege. Der Kunde wünschte sich ein Monitoring über den Zustand der Tests in zeitlicher Hinsicht. Jenkins bietet einige Plugins zur Visualisierung an, aber das reichte uns nicht. Ziel war es eine Gesamtsicht  und Einzelsicht auf [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://junitth.sourceforge.net/"><img class="size-full wp-image-697 alignright" title="unitth-header" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth-header.jpg" alt="" width="330" height="80" /></a>In unserem aktuellen Projekt werden ziemlich viele Selenium Tests erstellt und ausgeführt. Selenium Tests bedürfen einer besonders Intensiven Wartung und Pflege. Der Kunde wünschte sich ein Monitoring über den Zustand der Tests in zeitlicher Hinsicht. Jenkins bietet einige Plugins zur Visualisierung an, aber das reichte uns nicht. Ziel war es eine Gesamtsicht  und Einzelsicht auf alle Test Module zu haben. Bei jeden Test sollte erkennbar sein bei welchen Build Lauf er erfolgreich war oder nicht.</p>
<p><a href="http://junitth.sourceforge.net/">UnitTH</a> ist ein kleines Java Tool das aus den Unit Test Ergebnis Dateien einen Report erzeugen kann.</p>
<p>Das Tool untersucht bestehende Unit Test Report XML Dateien und erzeugt daraus ein einen Report. Die zeitliche Achse wird durch Build Läufe erzeugt. UnitTH erkennt die Build Läufe anhand von Ordnern.</p>
<p>Die Reports muss in dieser Struktur vorliegen:</p>
<p>/build1/junit_log1.xml<br />
/build1/junit_log2.xml<br />
/build2/junit_log1.xml<br />
/build2/junit_log2.xml</p>
<p>In den Ordnern können beliebig viele XML Dateien liegen.</p>
<p>Testsuiten sind für das Tool sogenannte Module. Damit wird der Report gegliedert. Man muss also darauf achten das die Suiten in den Reports eindeutige Namen haben und nicht verschachtelte Suiten haben. Meine Report Dateien haben nicht ganz dem Schema entsprochen. Ich wandel die Dateien mit XSLT um.</p>
<p>Der Aufruf erfolgt so:</p>
<p><strong>java -jar -Dunitth.report.dir=/…/unitth/report unitth.jar /…/unitth/xml/*</strong></p>
<p>Man gibt also nur das Ziel Verzeichnis für die Reports und den Pfad zu den XML Dateien.</p>
<p>In den Report bekommt man eine praktische Übersicht über den aktuellen Stand der Tests und den Trend.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_overview.png"><img class="alignnone size-full wp-image-698" title="unitth_overview" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_overview.png" alt="" width="317" height="346" /></a></p>
<p>Über die Graphen kann man erkennen, wie sich die Testdauer verhält und ob sich die Anzahl der Tests verändert.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_graph.png"><img class="alignnone size-medium wp-image-699" title="unitth_graph" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_graph-500x235.png" alt="" width="500" height="235" /></a></p>
<p>Man bekommt eine Liste der Build Läufe und darin zusammengefasst wie deren Status war. Hier sieht man auch schön die aktuellen Trends.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_runs.png"><img class="alignnone size-medium wp-image-700" title="unitth_runs" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_runs-500x154.png" alt="" width="500" height="154" /></a></p>
<p>Die Module (Testsuiten) werden auch zusammengefasst dargestellt und man kann sich auf einer Unterseite den Verlauf auf Testcase Basis anschauen. Dadurch kann man besonders kritische Testfälle erkennen und dann stabilisieren.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_tests.png"><img class="alignnone size-medium wp-image-701" title="unitth_tests" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_tests-500x277.png" alt="" width="500" height="277" /></a></p>
<p>Das spannendste Feature ist die Spread Ansicht. Hier sieht man, bei welchen Build die Testfälle fehlgeschlagen sind. Damit kann man sogenannte "Blinker" Test finden. Um diese dann zu Isolieren.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/unitth_verteilung.png"><img class="alignnone size-medium wp-image-702" title="unitth_verteilung" src="http://www.ajung.de/wp-content/uploads/2011/11/unitth_verteilung-500x241.png" alt="" width="500" height="241" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2011/11/22/unitth-unit-tests-im-zeitlichen-verlauf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JMeter Testplan Parametrisieren</title>
		<link>http://www.ajung.de/2011/11/01/jmeter-testplan-parametrisieren/</link>
		<comments>http://www.ajung.de/2011/11/01/jmeter-testplan-parametrisieren/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 19:43:33 +0000</pubDate>
		<dc:creator>Axel Jung</dc:creator>
				<category><![CDATA[Test]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[jmeter]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=684</guid>
		<description><![CDATA[Es kann relativ aufwendig sein einen sinnvollen und realistischen Testplan mit JMeter zu erstellen. In unseren Fall wollte ich diesen Testplan auf verschiedenen Testumgebungen einsetzen und mal mit der JMeter Gui und mal auf der Konsole mittels Jenkins laufen lassen. Hierbei unterscheiden sich die Urls, Userdaten und Laufzeiten des Tests. Wenn ich den Plan kopiert [...]]]></description>
				<content:encoded><![CDATA[<p>Es kann relativ aufwendig sein einen sinnvollen und realistischen Testplan mit <a href="http://jakarta.apache.org/jmeter/">JMeter</a> zu erstellen. In unseren Fall wollte ich diesen Testplan auf verschiedenen Testumgebungen einsetzen und mal mit der JMeter Gui und mal auf der Konsole mittels Jenkins laufen lassen. Hierbei unterscheiden sich die Urls, Userdaten und Laufzeiten des Tests. Wenn ich den Plan kopiert hätte, wäre die Wartung sehr aufwendig.</p>
<h3>JMeter Properties</h3>
<p>Es gibt bei JMeter die Möglichkeit eine Properties Datei für den Testplan anzugeben.</p>
<pre>jmeter –p dev.properties –t testplan.jmx</pre>
<p>In dieser Datei kann man beispielsweise die Domain definieren.</p>
<pre>domain=example.com</pre>
<p>Im Testplan kann man auf diesen Wert dann wie folgt zugreifen:</p>
<pre>${__P(domain)}</pre>
<p>Man kann auch einen Default Wert angeben.</p>
<pre>${__P(domain,www.example.com)}</pre>
<h3><a href="http://www.ajung.de/wp-content/uploads/2011/11/jmeter_properties.jpg"><img class="alignnone size-full wp-image-685" title="jmeter_properties" src="http://www.ajung.de/wp-content/uploads/2011/11/jmeter_properties.jpg" alt="" width="444" height="240" /></a></h3>
<h3>JMeter Funktionen</h3>
<p>Mit dem JMeter Funktionen kann man noch einiges mehr machen. Beispielsweise: Daten aus einer <a href="http://jakarta.apache.org/jmeter/usermanual/functions.html#__CSVRead">CSV lesen</a> oder<a href="http://jakarta.apache.org/jmeter/usermanual/functions.html#__Random"> Zufallszahlen</a> verwendet.</p>
<p>http://jakarta.apache.org/jmeter/usermanual/functions.html</p>
<p>Im Hilfe Menü gibt es ein ganz praktisches Tool um mit den Funktionen zu arbeiten. Hierbei wird einem auch der richtige Code generiert.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/11/jmeter_help.jpg"><img class="alignnone size-medium wp-image-692" title="jmeter_help" src="http://www.ajung.de/wp-content/uploads/2011/11/jmeter_help-500x173.jpg" alt="" width="500" height="173" /></a></p>
<h3>Berechnungen</h3>
<p>Es lassen sich auch Berechnungen durchführen. Diese werden mit der Javascript Funktion gemacht:</p>
<pre>${__javaScript(${DURCHSATZ}/100*38.5)}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2011/11/01/jmeter-testplan-parametrisieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Lasttest mit JMeter und Amazon</title>
		<link>http://www.ajung.de/2011/10/27/cloud-lasttest-mit-jmeter-und-amazon/</link>
		<comments>http://www.ajung.de/2011/10/27/cloud-lasttest-mit-jmeter-und-amazon/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 20:53:31 +0000</pubDate>
		<dc:creator>Axel Jung</dc:creator>
				<category><![CDATA[Test]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=667</guid>
		<description><![CDATA[Wir hatten die Aufgabe für eine Webseite Lasttests zu erstellen. Die zu erzeugende Last sollte sehr real sein. Da man mit einen einzigen Rechner nicht so eine hohe Last erzeugen kann haben wir uns für die Amazon Cloud entschieden. Dort kann man für einen kurzen Zeitraum eine hohe Zahl an Rechnern verwenden und das mit [...]]]></description>
				<content:encoded><![CDATA[<p>Wir hatten die Aufgabe für eine Webseite Lasttests zu erstellen. Die zu erzeugende Last sollte sehr real sein. Da man mit einen einzigen Rechner nicht so eine hohe Last erzeugen kann haben wir uns für die Amazon Cloud entschieden. Dort kann man für einen kurzen Zeitraum eine hohe Zahl an Rechnern verwenden und das mit sehr geringen Kosten.</p>
<p>Als Lasttest Tool wird JMeter verwendet. Mit JMeter kann man sehr granulare Testpläne erstellen und damit ein relativ gutes Abbild der realen Last simulieren.</p>
<p><a href="http://jakarta.apache.org/jmeter/" rel="nofollow">http://jakarta.apache.org/jmeter/</a></p>
<p>JMeter ist in der Lage die Tests über verteilte Rechner auszuführen. Dadurch kann man eine sehr große Last erzeugen.</p>
<p><a href="http://jakarta.apache.org/jmeter/usermanual/remote-test.html" rel="nofollow">http://jakarta.apache.org/jmeter/usermanual/remote-test.html</a></p>
<p>JMeter ist in der Lage alle Anfragen über einen Proxy laufen zu lassen. So kann man IP geschützte Seiten testen indem man die IP vom Proxy freischaltet. In unseren Fall verwenden wir den Squid Proxy mit einer geschützten Authentifizierung.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/10/proxy.png"><img class="alignnone size-medium wp-image-668" title="proxy" src="http://www.ajung.de/wp-content/uploads/2011/10/proxy-500x368.png" alt="" width="500" height="368" /></a></p>
<p>&nbsp;</p>
<h3>Vorbereitung</h3>
<h4>Proxy Server AMI erstellen</h4>
<p>In der Amazon Cloud gibt es sogenannte AMI (Amazon Machine Images). Das sind Abbildungen von Systemen die man erstellen kann um diese immer wieder zu verwenden.</p>
<h4>AMI erstellen</h4>
<p>AWS Management Console <a href="https://console.aws.amazon.com/ec2/" rel="nofollow">https://console.aws.amazon.com/ec2/</a> auf den Reiter ec2 wechseln und eine Instanz starten. Den  Rechner nach eigenen Wünschen anpassen und dann über das Menü „Instance Action“ eine AMI erstellen. Amazon erstellt dann von dem aktuellen System ein Abbild das man wiederverwenden kann.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/10/ami.jpg"><img class="alignnone size-full wp-image-669" title="ami" src="http://www.ajung.de/wp-content/uploads/2011/10/ami.jpg" alt="" width="580" height="486" /></a></p>
<h3>Squid Proxy in der Cloud installieren:</h3>
<p><a href="http://home.engineering.iastate.edu/%7Ehawklan/squidProxy/squidProxy.html" rel="nofollow">http://home.engineering.iastate.edu/~hawklan/squidProxy/squidProxy.html</a></p>
<p>Dieser Proxy muss natürlich abgesichert werden, da er sonst missbraucht werden könnte.</p>
<h3>Passwort Authentifizierung einrichten</h3>
<p>In der Squid Konforgurations Datei (/etc/squid/squid.conf) muss als erstes das Authentifizierungs Programm eingestellt werden. Es gibt diverse Möglichkeiten. ncsa_auth ist wahrscheinlich die einfachste. Man erzeugt mit htpasswd eine Passwort Datei (/etc/squid/squid_user) und gibt diese in der Konfiguration an.</p>
<div>
<div>
<div>
<div id="highlighter_860025">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div title="Hint: double-click to select code">
<pre><code>auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_user</code></pre>
<div> <code>acl jmeter proxy_auth REQUIRED</code></div>
<div><code>http_access allow jmeter</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p>Der Proxy lässt sich damit nur noch mittels Usernamen und Passwort aufrufen.</p>
<h3>Caching auschalten</h3>
<p>Squid speichert die Anfragen normalerweise. Das würde aber das Ergebniss verfälschen. Deshalb muss man noch das Caching ausschalten. Dazu genügt es folgende Zeile in die Squid Konforgurations Datei (/etc/squid/squid.conf)  einzufügen.</p>
<pre>cache deny all</pre>
<h3>Proxy automatisch starten</h3>
<p>Damit der Proxy automatisch mit dem Starten der Instanz mit gestartet wird kann man in der Datei /etc/rc.local diesen Befehl eintragen /etc/init.d/squid start .</p>
<h3>Proxy starten</h3>
<p>In der AWS Management Console starten wir die vorgefertigte AMI.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/10/proxy1.jpg"><img class="alignnone size-medium wp-image-675" title="proxy" src="http://www.ajung.de/wp-content/uploads/2011/10/proxy1-500x128.jpg" alt="" width="500" height="128" /></a></p>
<h3>JMeter Master Server</h3>
<p>Für den JMeter Master Server verwenden wir einen vorgefertigte Windows AMI bei der JMeter vorinstalliert ist. Dieser Rechner kann dann über Remote Desktop bedient werden.</p>
<p>Auf den Master Server muss dann der Testplan kopiert werden.</p>
<p>Auf dem Master Server wird die Testausführung gesteuert.</p>
<h3>JMeter Slaves</h3>
<p>Die JMeter Slaves sind beliebig viele Linux Rechner auf denen der JMeter im Server Modus gestartet ist. Dafür benötigt man eine AMI auf der JMeter vorhanden ist und dieser Befehl Autostart (/etc/rc.local) ist</p>
<div>
<div>
<div>
<div id="highlighter_343846">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div title="Hint: double-click to select code">
<pre><code>{pathtojmeter}/bin/jmeter-server</code></pre>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p>Dafür steht auch die öffentliche AMI zur Verfügung: <strong>ami-823f0df6</strong></p>
<p>Die Adressen der Slave Rechner müssen in die JMeter Properties Datei auf den Master Server eingetragen werden. So das dieser seine Remote Maschinen kennt.</p>
<h3>jmeter.properties</h3>
<div>
<div>
<div>
<div id="highlighter_379261">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div title="Hint: double-click to select code">
<pre><code>remote_hosts=...,....</code></pre>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<h3>Starten der Tests</h3>
<p>Wenn die Slaves hochgefahren sind kann der Testplan auf den Remote Servern gestartet werden.</p>
<p><a href="http://www.ajung.de/wp-content/uploads/2011/10/cloud.jpg"><img class="alignnone size-medium wp-image-670" title="cloud" src="http://www.ajung.de/wp-content/uploads/2011/10/cloud-500x310.jpg" alt="" width="500" height="310" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2011/10/27/cloud-lasttest-mit-jmeter-und-amazon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
