Archiv

Artikel Tagged ‘optimierung’

Benchmark – Textpattern mit und ohne Cache

19. Januar 2010

Ich habe heute rein aus reiner Neugierde ausprobiert, wie effektiv das Cache-System asy_jpcache für Textpattern arbeitet beziehungsweise um welchen Faktor die Anzahl der ausgelieferten Seiten steigen würde. Mir ist klar, dass solche Benchmark-Werte nicht die repräsentativsten sind, daher beschreibe ich in aller Kürze die Testbedingungen damit sich jeder selbst ein Bild machen kann. Der Benchmark wird mit ApacheBench auf einem EEE PC ausgeführt und das Gerät, dessen Leistung getestet wird ist eine SheevaPlug mit einem 1,2Ghz ARM Prozessor und 512MB RAM. Der verwendete Webserver ist (natürlich) Nginx in der Version 0.8.31, der auf einem Debian Lenny läuft. Die beiden Rechner sind über einen 100Mbit-Switch verbunden (was aber keine Rolle spielen sollte, da die SheevaPlug ohnehin nicht so viel ausliefern kann). Die Seite, auf die der Benchmark ausgeführt wurde ist die Startseite von Textpattern nach einer frischen Installation.

Benchmark erfolgte mit diesen Parametern

ab -n 1000 -c 10 http://SheevaPlug/index.php

Benchmark #1 (ohne Cache)

Server Software:        nginx/0.8.31
Server Hostname:        SheevaPlug
Server Port:            80
 
Document Path:          /index.php
Document Length:        7668 bytes
 
Concurrency Level:      10
Time taken for tests:   390.297 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      8008000 bytes
HTML transferred:       7668000 bytes
Requests per second:    2.56 [#/sec] (mean)
Time per request:       3902.969 [ms] (mean)
Time per request:       390.297 [ms] (mean, across all concurrent requests)
Transfer rate:          20.04 [Kbytes/sec] received

Benchmark #2 (mit Cache)

Server Software:        nginx/0.8.31
Server Hostname:        SheevaPlug
Server Port:            80
 
Document Path:          /index.php
Document Length:        7668 bytes
 
Concurrency Level:      10
Time taken for tests:   90.844 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      8238254 bytes
HTML transferred:       7668000 bytes
Requests per second:    11.01 [#/sec] (mean)
Time per request:       908.438 [ms] (mean)
Time per request:       90.844 [ms] (mean, across all concurrent requests)
Transfer rate:          88.56 [Kbytes/sec] received

Natürlich ist die Betrachtung aller Werte wichtig für das Ergebnis, doch ich nehme für einen ungefähren Performancevergleich die “Time taken for tests” heran, die ohne Cache bei 390 Sekunden und mit Cache bei 91 Sekunden lag. Daraus folgt, dass durch den Einsatz eines Cache-Systems wie hier asy_jpcache etwa Faktor 390/91=4,3 mehr Seiten ausgeliefert werden können.

//Nachtrag: Ich habe (ohne mir noch viel mehr zu Versprechen) zu der oben genannten Konfiguration noch XCache hinzugefügt und es hat mich fast aus den Socken gerissen. Ich hätte ja mit einer winzigen Verbesserung gerechnet, aber seht selbst:

Benchmark #3 (mit Textpattern Cache und XCache)

Server Software:        nginx/0.8.31
Server Hostname:        SheevaPlug
Server Port:            80
 
Document Path:          /index.php
Document Length:        7667 bytes
 
Concurrency Level:      10
Time taken for tests:   26.063 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      8238247 bytes
HTML transferred:       7667000 bytes
Requests per second:    38.37 [#/sec] (mean)
Time per request:       260.625 [ms] (mean)
Time per request:       26.063 [ms] (mean, across all concurrent requests)
Transfer rate:          308.69 [Kbytes/sec] received

Noch einmal konnten die 1000 Abfragen um fast Faktor 4 schneller ausgegeben werden, was am Ende bedeutet, dass ein optimiertes System mit einem Cache für das CMS kombiniert mit einem opcode Cache wie XCache in meinem Beispiel Faktor 390/26=15 schneller arbeiten kann. Mit weiteren Optimierungen ist da sicherlich noch etwas mehr drin, allerdings reicht dieser Wert für mich erstmal locker aus ;)

Glary Utilities – Der kostenlose TuneUp-Killer

28. Juni 2009

Man kann Glary Utilities sehrwohl gleich auf eine Ebene mit TuneUp Utilities stellen, da der Funktionsumfang nahezu identisch ist. So bietet Glary Utilities z.B eine “1-Klick-Wartung” und diverse Module.

Glary Utilities - 1-Klick-Wartung

Glary Utilities - 1-Klick-Wartung

Die weiteren Module sind unterteilt in Kategorien wie “Optimieren und Verbessern” oder “Datenschutz und Sicherheit” um eine bessere Übersicht zu behalten.

Der TuneUp-Killer Glary Utilities im Überblick

Der TuneUp-Killer Glary Utilities im Überblick

Das Tool gibt es wie mittlerweile die meisten Tools auch in einer portablen Version für den privaten Gebrauch kostenlos.