Skip to content

gatling: Bauen und Installieren

Auch wenn das Medium Internet bei manchen Personen noch nicht angekommen ist, wird es bereits von sehr vielen Menschen zur Informationsbeschaffung, Kommunikation und spätestens seit facebook auch zur exzessiven Selbstdarstellung verwendet. In diesem Blogbeitrag erkläre ich kurz die ersten Schritte mit dem bei meiner Site eingesetzten Webserver gatling.

Webserver sind aus dem heutigen Internet nicht mehr wegzudenken, da für die meisten Menschen das Internet nur im Webbrowser existiert. Ich habe mich beim Aufsetzen meiner Site für gatling entschieden, da mich die Ladegeschwindigkeit von Fefes Blog einfach fasziniert. Fefe ist der Entwickler von gatling und ich finde seine Meinung zu langsamer Software klasse. :-) Rechner von vor 10 Jahren waren gefühlsmäßig genauso schnell, wie die von heute, obwohl die heutige Hardware erheblich leistungsfähiger ist. gut, zurück zum Thema;

Installationsablauf

Als erstes muss sichergestellt werden, dass die für das Bauen erforderliche Software installiert ist. Unter einer zu diesem Zeitpunkt aktuellen Ubuntuinstallation 11.10 geht das mit folgendem Befehl. Er installiert sämtliche notwendigen Pakete, insofern sie noch nicht installiert sind.

sudo apt-get install cvs build-essential zlib1g-dev libssl-dev

Da gatling von den zwei, ebenfalls von Fefe entwickelten, Libs dietlibc und libowfat abhängt, müssen wir diese im folgenden mit installieren. Die Abhängigkeiten lassen sich mit der Abarbeitungsreihenfolge dietlibc, libowfat, gatling auflösen. Das folgende kleine Skript beachtet diese Reihenfolge. Es holt die Quellcodes aus Fefes CVS, übersetzt sie und installiert nach /opt/diet. Zumindest zum Zeitpunkt der Erstellung dieses Blogbeitrags, wurden bei diesem Vorgang einige Warnings ausgegeben. Bitte beachtet, dass das Skript auch auf schnellen Rechnern ca. eine Minute benötigt.

#!/bin/bash
cd ~
for i in dietlibc libowfat gatling
do
    cvs -d :pserver:cvs@cvs.fefe.de:/cvs -z9 co $i
    cd $i
    make > /dev/null
    sudo make install
    cd ..
done

Einrichtung

Abschließend müssen wir noch den Programmpfad /opt/diet/bin bekanntmachen, um den soeben installierten gatling komfortabel nutzen zu können. Hierzu fügen wir in die Datei /etc/environment das Verzeichnis /opt/diet/bin hinzu und laden diese Einstellungen.

#!/bin/bash
k=$(grep /opt/diet/bin /etc/environment)
if [ $? -eq 0 ]
then
    echo "/opt/diet/bin bereits im PATH"
else
    sudo sed -i 's/\(PATH="[^"]*\)"$/\1:\/opt\/diet\/bin"/' /etc/environment
fi

source /etc/environment

Nun dürfte gatling korrekt installiert sein. :-)

Erste Schritte

Als erstes sollte probiert werden, ob die Manpage aufrufbar ist.

man gatling

Dort findet ihr erste Bedienungshinweise. Weitere sind im vorhin ausgecheckten gatling-Quellcodeverzeichnis in den README*-Dateien zu finden. Außerdem gibt es noch die gatling-Mailingliste, auf der Fefe mitliest.

Prinzipiell reicht es aus, in einem Verzeichnis, in welchem dem aktuellen Nutzer Leserechte eingeräumt sind, gatling ohne Parameter aufzurufen, um die Verzeichnisinhalte per HTTP und FTP zugreifbar zu machen. Die Log wird von gatling direkt auf die Standardausgabe geschrieben.

heidi@anna:~/gnuheidix.de$ gatling
warning: could not bind to SMB port; SMB will be unavailable.
starting_up 0 :: 8000
start_ftp 0 :: 2121
accept 7 127.0.0.1 35101 1 http
GET 7 / 282 Mozilla/5.0_(X11;_Linux_x86_64;_rv:7.0.1)_Gecko/20100101_Firefox/7.0.1 [no_referrer] localhost:8000
request_done 7 325 426

Abschließendes

Zu gatling gibt es noch ein paar eindrucksvolle Benchmarks. Seid vorgewarnt, wenn ihr ApacheBench einsetzt. Es kann passieren, dass dieses Benchmarktool mehr Ressourcen als gatling verheizt. Letztendlich kann es den Prozessor zu 100% auslasten, wohingegen gatling zwischen 0 und 1% bleibt. ;-) Beim Quellcode von gatling sind auch ein paar Benchmarkskripte dabei, mit denen Ihr selbst ein paar Tests fahren könnt, oder ich lest Euch gatling vs. nginx durch. Ich wünsch Euch viel Spaß beim Experimentieren.

Kommentare

Noch keine Kommentare

Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.