Netzwerk Geschwindigkeit testen

Von Zeit zu Zeit besteht die Anforderung eine Netzwerkverbindung auf ihre Bandbreite zu testen. Einfach gesagt heist dass, “Wie schnell werden Daten übertragen?”. In meinem konkreten Fall eine WLAN-Verbindung. Wie so oft führen dabei viele Wege nach Rom.

Test Datei erzeugen

Eine Möglichkeit ist das Kopieren einer großen Datei oder auch mehrer kleinen Dateien, zusammen mit der manuellen Messung der Übertragungsdauer. Eine Testdatei in belibiger größe ist schnell erstellt und muss nicht erst müsam auf dem System gesucht werden.

#Windows
fsutil file createnew c:temptest.dummy 1073741824
#Linux
dd if=/dev/zero of=/tmp/test.dummy bs=1073741824 count=1

Die Dateigröße wird in Byte angegeben.
1073741824/1024(=KB)/1024(=MB)/1024(=GB) = 1 GB

Daten über Netzwerk übertragen

Um z.b. die Netzwerkgeschwindigkeit über einen längeren Zeitraum zu testen, empfehle ich (in diesem Fall unter Linux) das Tool netCat. Bei einer Ubuntu Installation ist dies bereits vorinstalliert. Es wird dazu auf zwei Rechnern gestartet und senden nun fortlaufend Daten von A nach B.

#RechnerA (Sender)
dd if=/dev/urandom bs=100M count=50 | nc RechnerB 1234
#RechnerB (Empfänger)
nc -l -L 1234

Rechner A sendet nun 50 mal 100 Megabyte an Port 1234 von RechnerB.

Viel Anleitungen im Internet geben zum Parameter “-l” noch den Parameter -”p” an. Dies ist laut Manpage, der Ubuntu Version, nicht zulässig. Unter Windows ist er jedoch notwendig.

Die aktuelle Netzwerkauslatung des Interface lässt sich nun mit einem von vielen Tool überwachen und auslesen. Eine gute Übersicht bietet ubuntugeek.com.

Wie testet Ihr? Verbesserungsvorschläge? Scheibt einen Kommentar …

Linux: Default Editor unter Ubuntu setzten – z.B. für Crontab

Wenn ein Programm unter Ubunut eine Datei zur Bearbeitung öffnet, nutzt es dazu ein Hilfsprogramm names /usr/bin/sensible-editor. Der Befehl crontab -e tut dies beispielsweise.

sensible-editor versucht mit Hilfe von einigen einfachen Regeln einen passenden Editor zu starten. Einfach gesagt nutzt es einen der folgenden nano, nano-tiny oder vi. Dabei ist nano wesentlich einfacher zu bedienen als vi. Das Hilfsprogramm geht davon aus, will man vi nutzen, ist man auch in der Lage diese Einstellung zu ändern.

Das Ändern des default Editors unter Linux ist über einen der folgenden drei Wege möglich.

In der Datei ~/.bashrc folgende Zeile hinzufügen

export EDITOR=vi

Als Administrator eines Systems, den default Editor für das gesamte System vorgegeben.

sudo update-alternatives --config editor

Oder ab Ubuntu Intrepid, über das Programm /usr/bin/select-editor welches die Auswahl unter ~/.selected_editor ablegt. Diese Datei wird von dem oben genannten Hilfsprogramm ausgewertet.

Quelle: ubuntugeek.com

Linux: grep Ausgabe ohne Kommentarzeilen

Oft benötigt man schnell einen Überblick welche Einstellungen in einer Konfigurationsdatei unter Linux angegeben und aktiviert sind. Überlicher weise sind diese Dateien sehr ausführlich mit Kommentaren dokumentiert.

Um die Datei ohne Kommentare auszugeben eignet sich grep hervorragend:

grep -v ^# foo.bar

Der Paramter -v zeigt alle nicht passenden Zeilen an.
Das ^ bezeichnet den Anfang einer Zeile.

Somit wird die Datei ohne Zeilen welche ein #-Zeichen am Anfang besitzen ausgegeben.

Netbook mit Ubuntu 11.10 und SSD

Logo Ubuntu

Asus Eee PC 1000h mit Windows XP. Dieses schnuckelige Netbook darf ich mein eigen nennen. Leider ist die Performance auch nach einer frischen Installation des Windows XP kaum noch zu gebrauchen. Ausgestattet mit einem Intel Atom N270 (1.6 GHz Dualcore), 1 GB RAM und einer 160GB HDD (5200 rpm) eigentlich gar nicht schlecht ausgestattet. Jedoch ist selbst einfaches surfen im Web mittlerweile zu einer Tortur geworden. Meiner Meinung nach liegt dass an der Keks langsamen Festplatte.

Daher habe ich mir nachträglich selbst zu Weihnachten ein kleines Geschenk gemacht. Eine SSD (Solid-State-Drive). Genau genommen ist es die ADATA S599 64 GB, welche auf ssd-test.de den #1 Platz des Low-Budget Ranking belegt[1].

Nun gibt es beim Umstieg auf SSD’s einiges zu beachten. Worauf man dabei im Detail beachten sollte, möchte ich im folgenden eingehen.

Patition Ausrichten („Alignment“)

Wichtig damit Dateisystem-Blöcke mit SSD-Pages übereinstimmen. Ansonsten kommt es vor das ein 4KB großer Dateisystem-Block über zwei SSD-Pages geschieben wird. Diese Anpassung birgt den größsten Geschwindigkeitszuwachs.

Weiterlesen: http://wiki.ubuntuusers.de/SSD/Alignment

TRIM Funktion sicherstellen

Der ATA-Befehl TRIM teilt der SSD mit dass gelöschte oder ungenutzte Blöcke nicht mehr genutzt werden. Normalerweise wird nur im Dateisystem vermerkt dass der Platz auf dem Speichermedium frei geworden ist. So wird auf einer üblichen Festplatte die Stelle dann einfach mit neuen Informationen überschrieben. Wobei auf einer SSD die Daten vor dem schreiben der Stelle erst gelöscht werden müssen bevor geschrieben werden kann.

Diese Anpassung beschleunigt die Schreibzugriffe auf das Laufwerk und verringert zudem die Abnutzungseffekte. Trim wird von Linux ab Kernelversion 2.6.33, Windows 7 und Mac OS X seit Version 10.6.8 unterstützt.

Weiterlesen: http://wiki.ubuntuusers.de/SSD/TRIM

Scheduler ändern

Ein Scheduler verwaltet die Schreib-/Lesevorgänge auf ein Datenträger. Es gibt unter Linux “CFQ”, “NOOP” und “Deadline”. “CFQ” ist meist nach der Installation aktiv und ist auf herkömmliche HDD’s angepasst. Ich habe mich für “Deadline” entschieden.

Weiterlesen: http://wiki.ubuntuusers.de/SSD/Scheduler

Auslagerung von Daten

Eine weitere Möglichkeit die SSD möglichst wenig mit Schreibvorgängen zu belasten ist z.B. temporäre Daten in den RAM zu verlegen. Somit werden sie nicht auf die SSD geschrieben, sind aber beim nächsten Start nicht mehr vorhanden. Dazu könnte man /tmp in eine RAM-Disk mounten.

Der Browser ist oft eines der meist genutzten Programme. Hier kann es sich lohnen den Cache aus dem Benutzerverzeichnis nach /tmp zu verlegen.

Weiterlesen: http://wiki.ubuntuusers.de/SSD/Auslagerung

Fazit

Mit den oben genannten Anpassungen startet mein Ubunut (abzüglich BIOS) mit automatischer Anmledung in 18 Sekunden zum Desktop. Der Bootscreen hat nicht mal Zeit die Ladeanimation darzustellen :)

  1. Stand 01/2012 []

Open Street Map #1: die erste Karte

Bevor das erste Beispiel folgt, sollte etwas geklärt werden. OpenStreetMap ist eigendlich nur das Kartenmaterial. Angezeigt werden kann das Kartenmaterial in den verschiedensten Anwendungen. Für das Web empfiehlt sich z.B. OpenLayers, eine Open Source JavaScript Library. OpenLayers wird auch von www.openstreetmap.org selbst genutzt.

Daher benötigen wir für unsere Karte zuerst die Openlayers Library. Den Download gibt es auf www.openlayers.org. Ich arbeite hier mit Version 2.11. Wir benötigen aus dem Download erst mal nur die Ordern “/img”, “/theme” und die Datei “OpenLayers.js”.

Die wichtigsten Anlaufstellen zum nachschlagen sind:

Teil 1: die erste Karte

Demo von Teil 1 anschauen

Zu beginn steht das HTML-Grundgerüst an. In dem DIV mit der id “map” wird nachher die Karte angezeigt.

Im Head-Bereich des HTML-Grundgerüst ergänzen wir nun das Openlayers Theme per CSS Datei und laden die OpenLayers.js Libray.

Die folgende init() Funktion führt nach dem Laden der Seite den Code aus um die Karte anzuzeigen. Hier werden alle Einstellungen angegeben, welche zu beginn aktiviert sind. Natürlich ist es später immer möglich auf das “map” Objekt zuzugreifen um es zu verändern.
Damit die Funktion nach dem Laden des Bodys aufgerufen wird, erweiteren wir den Body-Tag wie folgt.

Das Endergebnis müsste nun sich nun wie in der Demo zu sehen darstellen.