Archiv

Artikel Tagged ‘performance’

Hurra, Hurra, Songbird 1.2 ist da!

18. Juni 2009

Meine Liebe zu Songbird habe ich ja bereits gestanden. Caschy war natürlich schneller als ich, aber heute ist die Version 1.2 des Musik-Players erschienen. Die Neuerungen sind in dem Blog von Songbird nachzulesen. Angeblich wurde wieder einmal die Performance verbessert, was gerade mich enorm interessiert, da Songbird bei 50000 Songs enorm zu schlauchen anfing (in Version 1.1). Ich werde sobald ich wieder zu Hause bin und das beurteilen kann den neuen Songbird auf Performance testen. Ein bisschen mehr als 60000 Audiodateien werde ich mal reinschmeißen und gucken was passiert ;)

Der Look ist übrigens unverändert und einfach schön.

Songbird 1.2 - Neue Version, alter Look

Songbird 1.2 - Neue Version, alter Look

CSS Stylesheets perfekt optimieren mit CSSTidy

30. Mai 2009

Die Optimierungswelle schlägt bei mir gerade um sich und so habe ich auch das Stylesheet für mich entdeckt. Nachdem ich alle Stylesheets der benutzten Wordpress-Plugins in einer zusammengefasst habe und mit dem CSS Validator von W3C validiert habe, wollte ich den Inhalt auch noch ein wenig komprimieren. Die beste und effektivste Lösung möchte ich euch hier vorstellen.

Nachdem ich einige Online CSS-Optimierer verglichen habe fand ich das csstidy Script, welches ich euch hier gern zur Verfügung stellen möchte. Das Script lässt diverse Einstellungen zu, die entscheidend für die Komprimierung sind. Es funktioniert recht simpel..man kopiert entweder seinen CSS-Quellcode einfach in die Textbox oder gibt die URL des Stylesheets an. Dann wählt man die Komprimierungsstufe, wobei entsprechende Hinweise hinter den Stufen vermerkt sind.

Ich beispielsweise habe meine Stylesheets durch Zusammenfügen und durch die anschließende Komprimierung mit bester Stufe die Gesamtgröße der CSS-Datei(en) von 32KB auf 18KB senken können. Das entspricht einer Einsparung von fast 50% und somit einer enormen Optimierung der Ladezeiten einer Webseite.

Nachtrag: Ich habe die Funktion der Speicherung der optimierten Datei für die Öffentlichkeit entfernt. Kopiert bitte daher den optimierten Teil und speichert ihn selbst in einer Datei ab ;)

CSSTidy - Aufräumen des Stylesheets

CSSTidy - Aufräumen des Stylesheets

CSSTidy – Online CSS Optimiser

MySQL-Server Optimierung und Defragmentierung

20. Mai 2009

Wenn man selbst einen Rootserver betreibt und einen Apache, PHP und MySQL installiert hat heißt das noch lange nicht, dass sich jede Anwendung von allein optimal einstellt. Ich werde im Folgenden einmal die Optmierung des MySQL-Servers beschreiben. Sie ist wie eigentlich alles an Servereinstellungen einfach zu bewerkstelligen, wenn man nur weiß wie und wo.

Um die Werte der aktuellen Konfiguration des MySQL-Servers zu checken und eventuelle Fehler anzeigen zu lassen kann man sich von diversen Optmierungsscripts helfen lassen. 2 von ihnen, tuning-primer.sh und mysqltuner.pl, möchte ich hier einmal vorstellen. Außerdem ist die Defragmentierung fragmentierter Tabellen eine sinnvolle Maßnahme, die zusätzliche Performance bringen kann.

Wir laden zuerst tuning-primer.sh herunter,

wget http://www.day32.com/MySQL/tuning-primer.sh

setzen die notwendigen Rechte..

chmod 755 tuning-primer.sh

und rufen das Script auf mit

tuning-primer.sh

oder

sh tuning-primer.sh

Normalerweise wird die my.cnf, die ja optimiert werden soll, schon im korrekten Pfad erkannt. Das heißt die erste Frage kann mit nein beantwortet werden. Man sollte nun seinen Login “handy” haben und ja sagen. Nach Angabe der Root-Login-Daten für die SQL-Datenbank wird gefragt, ob eine my.cnf erstellt werden soll. Das kann man mit nein beantworten und die Prüfung der aktuellen Konfiguration rattert durch. Man guckt sich nun die Auswertung an.
Möglich wäre folgende Ausgabe:

Current max_connections = 70
Current threads_connected = 1
Historic max_used_connections = 1
The number of used connections is 1% of the configured maximum.
You are using less than 10% of your configured max_connections.
Lowering max_connections could help to avoid an over-allocation of memory
See "MEMORY USAGE" section to make sure you are not over-allocating

Die Analyse ist einfach zu deuten: Zuerst werden die aktuellen Einstellungen angezeigt, also maximale gleichzeitige Verbindungen sind 70 und eine ist hergestellt. Außerdem wurden maximal eine Verbindung gleichzeitig benutzt (habe den Server gerade neu gestartet). Darunter eine ausformulierte Deutung des Zustandes. tuning-primer denkt natürlich, dass die Anzahl der Verbindungen viel zu hoch eingestellt ist, dafür dass ich sie nicht nutze. Allerdings ist diese Analyse nicht repräsentativ, da tuning-primer noch nicht die Werte vom Abend kennt ;)

Eine weiter Anwendung zur Optimierung des mysql-Servers ist mysqltuner.pl, der sich gerade für Einsteiger etwas übersichtlicher gestaltet und die Hinweise eindeutiger formuliert.

Wir laden ihn einfach herunter:

wget http://mysqltuner.com/mysqltuner.pl

und vergeben die Rechte

chmod +x mysqltuner.pl

und führen es dann aus

./mysqltuner.pl

Auch hier sollte man wieder die Login-Daten parat haben und der Check beginnt. Das Resultat zeigt Fehler an (oder auch nicht) und die Verbesserungsvorschläge sehen dann z.B folgendermaßen aus:

General recommendations:
    Run OPTIMIZE TABLE to defragment tables for better performance
    MySQL started within last 24 hours - recommendations may be inaccurate
    Reduce your overall MySQL memory footprint for system stability
    Enable the slow query log to troubleshoot bad queries
    When making adjustments, make tmp_table_size/max_heap_table_size equal
    Reduce your SELECT DISTINCT queries without LIMIT clauses
Variables to adjust:
    tmp_table_size (> 212M)
    max_heap_table_size (> 212M)

Der Vorteil, den mysqltuner mit sich bringt ist, dass die anzupassenden Variablen gleich genannt werden und man im einfachsten Falle diese Hinweise befolgt. Bei diesem Hinweis könnte ich also in meiner my.cnf (sie liegt bei mir in /etc/mysql/my.cnf) die vorgeschlagenen Werte erhöhen.

Defragmentieren:

Zuletzt noch ein kleiner weiterer Hinweis zur Performance-Steigerung der Datenbank – die Defragmentierung. Bitte VORSICHT bei Arbeiten an der mysql-Datenbank immer VORHER eine SICHERUNG erstellen. Hat man diese, so kann man

mysqlcheck -op --all-databases

eingeben und benötigt wieder einmal das root-Passwort der Datenbank um dann alle Datenbanken zu defragmentieren (kann eine Weile dauern).

Das waren drei Vorgehensweisen, die die Performance-Werte bei schlechter Voreinstellung deutlich verbessern kann und mehr aus einem Server herausholen können, es gibt natürlich noch viele weitere Methoden der Optimierung. Ich gucke mir demnächst auch mal die Optimierung des Apache-Servers an.

Serverperformance Testen mit UnixBench

7. Mai 2009

Es gibt diverse Möglichkeiten seinen Server auf Performance zu testen. Ich halte allein die subjektive Einschätzung für enorm wichtig, da man keinen Spaß hat, wenn man trotz hoher Performance ewig braucht um eine Anwendung zu installieren.

Einen Server-Performance-Wert kann man z.B mit Unixbench in der etwas abgeänderten WHT-Version ermitteln. Man sollte ihn nicht allein als Maßstab benutzen, da er in einigen Serverumgebungen nicht alle Faktoren richtig bewerten kann.

Um sicher zu gehen, dass alle Abhängigkeiten für die Anwendung gegeben sind, empfehle ich vorher diese 4 Anwendungen zu installieren. Unter Debian z.B sieht das folgendermaßen aus:

apt-get install gcc g++ time make

Nun kann man Unix-Bench anwenden.

wget http://members.dslextreme.com/users/andylee/unixbench-4.1.0-wht.tar.gz
tar xzvf unixbench-4.1.0-wht.tar.gz
cd unixbench-4.1.0-wht-2
make
./Run

Im Forum von Webhostingtalk gibt es schon einige Werte zu V-Servern und Dedizierten Servern, allerdings sind dort überwiegend amerikanische Anbieter vertreten. Ein deutsches Pendant dazu ist ein Thread im Serversupport-Forum, der sich ausschließlich vServern widmet.

Author: chris Categories: Linux, Tools Tags: , ,