Daniel's Blog

Festplatten-Benchmarks mit Bonnie++

Um die Geschwindigkeit einer Festplatte zu bestimmen, gibt es unter Linux verschiedene Tools.

hdparm

Für einen einfachen Test reicht das vorinstallierte hdparm völlig aus. hdparm -tT /dev/sda gibt beispielsweise die Lesegeschwindigkeit der ersten Festplatte aus. Allerdings kann hdparm nur die Lesegeschwindigkeit bestimmen und es wird nur die Geschwindigkeit der nackten Platte (unter Umgehung des Dateisystems) gemessen.

bonnie++

Für einen Test unter realistischen Bedingungen ist daher ein anderes Tool nötig. Das Linux-Standardtool dafür ist bonnie++. Da es bei den meisten Distributionen in den Repositories enthalten ist, gestaltet sich die Installation sehr einfach:

apt-get install bonnie++

bonnie++ führt zwei Testverfahren durch. Zuerst wird eine große Datei angelegt (in der Standardeinstellung doppelt so groß wie der Arbeitsspeicher), danach werden viele kleine Dateien angelegt (in der Standardeinstellung 16.000).

Eine HTML-formatierte Ausgabe erhält man, wenn man bonnie++ mit

bonnie++ -d /pfad/zum/verzeichnis -u root -q | bon_csv2html > result.html

aufruft. Alle Dateien werden dabei in /pfad/zum/verzeichnis angelegt. Lässt man den Parameter -d weg, werden alle Dateien im aktuellen Verzeichnis angelegt. Das Ergebnis landet dann in der Datei result.html im aktuellen Verzeichnis.

Gerade bei langsamen Datenträgern kann der Test sehr lange dauern. Dann ist es notwendig die Testparameter anzupassen. Allerdings erlaubt es bonnie++ nicht, die Größe der Datei unter das doppelte des Arbeitsspeichers zu senken. Dies ist der Fall, da man sonst nur die Geschwindigkeit das Dateisystem-Caches messen würde und die Angabe der Lesegeschwindigkeit nicht stimmt. Mit einem kleinen Trick kann man bonnie++ aber dennoch zwingen nur eine kleine Datei zu schreiben:

bonnie++ -r 500M -s 1G -n 10 -d /pfad/zum/verzeichnis -u root -q | bon_csv2html > result.html

Der Parameter -r 500M gibt dabei an, dass bonnie++ von einer Arbeitsspeichergröße von 500MiB ausgehen soll. Dadurch ist es möglich die Größe der Testdatei mit -s 1G auf 1GiB zu senken. Die Lese-Werte sind dann allerdings nicht mehr zu gebrauchen. Mittels -n 10 wird eingestellt, dass bonnie++ nur 10.000 kleine Dateien anlegen soll.

Quellen

Tor auf dem Server

Zuerst mal zur Problematik: Tor ist eine einfache und effektive Möglichkeit, anonym im Internet zu surfen. Es gibt aber 2 Probleme: die Geschwindigkeit lässt sehr zu wünschen übrig und wenn man an einem fremden Rechner sitzt, kann man Tor nicht installieren.
Die Lösung ist, dass man Tor auf einem Server installiert und dann mit Hilfe eines SSH-Tunnels auf Tor zugreift.
Da ein Server üblicherweise über eine Verbindung mit geringer Latenz angebunden ist, beträgt die Verzögerung beim Seitenaufbau in der Regel weniger als eine Sekunde.

Wenn man Tor auf dem Server installiert hat, kann man auch die Gelegenheit nutzen um das Tor-Projekt zu unterstützen. Da die Installation als normaler Relay-Node eine recht hohe Bandbreite und Rechenleistung voraussetzt empfehle ich die Installation im Bridge-Modus. Die Bridges sind nicht in der Liste der Tor-Knoten enthalten, die man vom Server abrufen kann, deshalb ist es nicht möglich alle Bridges zu zensieren. Damit hilft man also vor allem Benutzern aus Ländern mit Internet-Zensur. Der Bandbreitenverbrauch liegt dabei typischerweise unter 100MB am Tag und der Server leitet auch keine Verbindungen weiter, die das Tor-Netzwerk verlassen, so sind rechtliche Probleme ausgeschlossen…

Die folgende Anleitung bezieht sich auf Debian (und Derivate)…

Auf dem Server:

Zuerst müssen tor und privoxy auf dem Server installiert werden:

apt-get install tor privoxy

Dann muss die Datei /etc/tor/torrc für den normalen Betrieb um folgende Zeilen ergänzt werden:

SocksPort 9050
SocksListenAddress 127.0.0.1

Soll tor zusätzlich noch im Bridge-Modus laufen müssen folgende Zeilen auch noch ergänzt werden:

ORPort 8080
BridgeRelay 1
Exitpolicy reject *:*

In der Datei /etc/privoxy/config muss folgendes hinten angefügt werden (den Punkt am Ende nicht vergessen):

forward-socks4a / 127.0.0.1:9050 .

Danach muss beides neu gestartet werden:

/etc/init.d/tor restart
/etc/init.d/privoxy restart

Auf dem Client:

Für eine einmalige Verbindung reicht folgender Befehl aus:

ssh -L 6677:localhost:8118 max.mustermann@example.com

Wenn man Tor häufiger benutzen möchte, lohnt es sich einen SSH-Alias anzulegen. Dazu muss in der Datei ~/.ssh/config folgendes eingetragen werden:

Host tor
  HostName example.com
  User max.mustermann
  LocalForward localhost:6677 localhost:8118

Nun kann das Port-Forwarding mit ssh tor gestartet werden (das muss bei jedem Start erfolgen)

Windows-Nutzer müssen entsprechend Putty benutzen um den SSH-Tunnel herzustellen. Bei Gelegenheit werd ich nochmal eine Anleitung für Putty schreiben.

Dann kann man im Browser als HTTP-Proxy localhost:6677 einstellen.

Von nun an sollte man mit tor im Internet surfen. Um zu Überprüfen ob man wirklich Tor benutzt, kann man auf die Seite https://check.torproject.org/ gehen…

Quellen: