In einem aktuellen Projekt steht bald ein signifikanter Server-Wechsel an. Um später genau sagen zu können, was das gebracht hat, wollte ich mehrere Teile der Website (verschiedene URIs) mit dem Apache Tool ab zu verschiedenen Tageszeiten, einmal vor Wechsel des Servers und nach Wechsel des Servers, testen. Da ich nicht viel Zeit verschwenden wollte, hab’ ich ein Shell-Script geschrieben das mir wenigstens die Arbeit abnimmt die verschiedenen URIs abzuchecken:
#!/bin/bash
##############################################################################
# Run ab on a list of URIs
#
# Usage:
# ab_batch.sh
#
# Author: Marcel Eichner // Ephigenia <love@ephigenia.de>
# Date: 2010-06-03
##############################################################################
URL="http://www.horrorblog.org"
SLEEP=30
URIS=(
"/"
"/blog/reca-drei-clips-und-red-band-trailer/"
"/blog/the-crazies-remake-horrorblog-kritik/"
"/blog/the-crazies-interview-clips/"
"/blog/the-devils-playground-erste-bilder/"
"/blog/a-nightmare-on-elm-street-remake-horrorblog-kritik/"
)
date
echo -e "Batch Apache-Benchmarking on n${URL}"
for URI in ${URIS[@]};
do
echo "uri: ${URI}"
ab -c 10 -t 60 "${URL}${URI}" | grep -P "(request|second):"
sleep ${SLEEP}
done
Das liefert dann zum Beispiel folgendes Ergebnis. Die Werte kann man dann in eine Tabelle übertragen und ein Diagram draus machen. Nach dem Server wechseln dann das ganze noch einmal durchführen und schon hat man einen schönen Beweis was der Umzug denn gebracht hat.
Fr 4 Jun 2010 12:15:54 CEST
Batch Apache-Benchmarking on
http://www.horrorblog.org
uri: /
Finished 349 requests
Requests per second: 5.57 [#/sec] (mean)
Time per request: 1794.754 [ms] (mean)
Time per request: 179.475 [ms] (mean, across all concurrent requests)
uri: /blog/reca-drei-clips-und-red-band-trailer/
Finished 588 requests
Requests per second: 9.79 [#/sec] (mean)
Time per request: 1021.170 [ms] (mean)
Time per request: 102.117 [ms] (mean, across all concurrent requests)
uri: /blog/the-crazies-remake-horrorblog-kritik/
Finished 407 requests
Requests per second: 6.78 [#/sec] (mean)
Time per request: 1474.255 [ms] (mean)
Time per request: 147.425 [ms] (mean, across all concurrent requests)
uri: /blog/the-crazies-interview-clips/
Finished 397 requests
Requests per second: 6.60 [#/sec] (mean)
Time per request: 1514.682 [ms] (mean)
Time per request: 151.468 [ms] (mean, across all concurrent requests)
uri: /blog/the-devils-playground-erste-bilder/
Finished 331 requests
Requests per second: 5.50 [#/sec] (mean)
Time per request: 1816.657 [ms] (mean)
Time per request: 181.666 [ms] (mean, across all concurrent requests)
uri: /blog/a-nightmare-on-elm-street-remake-horrorblog-kritik/
Finished 506 requests
Requests per second: 8.43 [#/sec] (mean)
Time per request: 1185.792 [ms] (mean)
Time per request: 118.579 [ms] (mean, across all concurrent requests)
Für Verbesserungsvorschläge bin ich wie immer offen! Kommentiert einfach!
Twitter wurde schon wieder gehackt!
Wie gestern schon auf verschiedenen amerikanischen Seiten und jetzt auch bei Golem berichtet wurde ist Twitter am Montag erneut Opfer von Hackern geworden.
Diesmal erhielt der Hacker interessante Information (u.a. Kreditkartennummern) von Mitarbeitern, sog. Star-Accounts und vieles mehr.
Wie passiert ist und was alles "erbeutet" wurde kann man in diesem Blog nachlesen (Englisch).
Wer sich mit Websiten beschäftigt die von mehr als 100 Besuchern am Tag besucht werden und nicht wirklich viel im Terminal macht freut sich eventuell über Apache Bench.
Das ist ein Programm das man auf OSX ganz einfach im Terminal laufen lassen kann um seinen Server mal so richtig schwitzen zu lassen.
Ein üblicher (und auch vergleichbarer) Aufruf ist der folgende:
ab -c 10 -t 60 http://localhost/myProject/
Was 60 Sekunden lang, immer 10 Requests auf die Seite abfeuert und einem danach folgende Ausgabe generiert:
Finished 3102 requests
Server Software: Apache/2.0.59
Server Hostname: localhost
Server Port: 80
Document Path: /myProject/
Document Length: 2005 bytes
Concurrency Level: 10
Time taken for tests: 60.002 seconds
Complete requests: 3102
Failed requests: 303
(Connect: 0, Receive: 0, Length: 303, Exceptions: 0)
Write errors: 0
Total transferred: 7530897 bytes
HTML transferred: 6211149 bytes
Requests per second: 51.70 [#/sec] (mean)
Time per request: 193.431 [ms] (mean)
Time per request: 19.343 [ms] (mean, across all concurrent requests)
Transfer rate: 122.57 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 1.2 0 11
Processing: 30 186 663.6 157 20630
Waiting: 0 161 83.6 155 621
Total: 30 187 663.6 157 20631
Percentage of the requests served within a certain time (ms)
50% 157
66% 196
75% 219
80% 235
90% 276
95% 309
98% 354
99% 386
100% 20631 (longest request)
In dieser Ausgabe kann man erkennen das das aktuelle Projekt so ca. 50 Leute gleichzeitig aushalten könnte. Im vergleich mit anderen Projekten kann man dann Rückschlüsse darauf ziehen wie gut man programmiert hat ;-)
Viele benutzen ab auch zum Vergleich von verschiedenen Frameworks die ich euch natürlich nicht vorenthalten möchte: Test1, Test2 und Test3.
ab kann man wie üblich über macports installieren (OSX Developer Tools müssen installiert sein):
sudo port install ab
Gerade wurde ich wieder gefragt wie man erfolgreich subdomains mit einer htaccess Rule erkennen kann. Grund dafür war das neue Update von Wordpress, nach dem die Subdomains nicht mehr so recht wollten.
Viele kenen die normalen Standard Rules für die htaccess Dateien und kennen noch nicht die Konditionalen Rules die auch sehr hilfreich sind.
RewriteCond %{HTTP_HOST} ^(subdomain1|subdomain2).domain.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de//$1 [R=301,L]
Diese müssen dann vor die Regeln von Wordpress und schon müsste es wieder laufen.
Mehr oder weniger durch Zufall bin ich auf Kontoblick.de gestoßen. Nach der Anmeldung kann man dort sein echtes Konto von fast jeder Bank eintragen und sich die Umsätze fortan über ein Java-Applett in Kontoblick laden. Anscheinend wird dort Sicherheit ganz groß geschrieben. Mal sehen ... auf jeden Fall kann man sich dann seine Kontoauszüge schön katalogisiert und für die Statistik aufbereit anschauen. So wird aus jeder Überweisung an die Telekom direkt als solche erkannt und auch die Miete oder änliches gleich in der richtigen Kategorie abgelegt.
So erhält man ohne viel zu machen eine schöne Aufstellung über die Ausgaben und Einnahmen.
Wetterberichte sind immer überholt! Mach Deine eigenen Vorhersagen! Geh 10 Minuten vor dem Regen oder 30 Minuten danach! Wenn der Regen auf dem Radar erscheint weisst Du was Du zu tun hast!
Wetterberichte sind lange nicht das was das Web 2.0 vorschlägt. Alt, Überholt, nicht real und vor allem - jaja- super nicht der Realität entsprechend!
Ich hab immer auf meinem Dashboard drauf:
http://meteox.de/h.aspx?r=&jaar=-3&soort=loop1uur
für den europäischen Luftstrom, kann man relativ genau sagen ob es morgen regnen wird oder eher Abends
und ..
http://www.niederschlagsradar.de/
supercool wenn man gerade Feierabend hat und kein Fenster wo man rauschauen kann.
Tipp vom Hobby-Metereologen:
Wenn der Regen (die bunten Pixel) auf einen zukommen, haste noch zirka 30 Minuten um abzuhauen.
Tripsbytips ist back!!!
Mit verbessertem Konzept zu Bewertungen und Empfehlungen (alle Empfehlungen von Freunden sind jetzt wichtiger als alle anderen und noch mehr), und komplett neu gebautem Allem! Die Jungs dahinter, Uwe Frers und sein Team haben sich wortwörtlich die Nächte um die Ohren gehauen. Das hab ich selbst mitbekommen. Die neue Seite macht einen total besseren Eindruck und es kann losghen! Meldet euch an und added mich!
Es ist eh alles viel einfacher geworden ... Du hast einen nützlichen Tipp und willst ihn loswerden? Alles klar, einfach Text eingeben, Tipp abgeben drücken und schon ist es drin! Alle Empfehlungen von Freunden werden durch kleine Herzchen gekennzeichnet und ach was red ich! Geht einfach mal drauf und zieht's euch rein!
Wer mir 'nen Drink ausgibt bekommt ein Dankeschön :D
Man! Wow! Das ich das noch in echt erlebe! Ich darf im SO36 mehr machen als Bloc Party verpassen (unter tränen schon erledigt)
Aber! Diesmal ganz anders!
OFF THE CHAIN - Freitag 29.02.08 - 23h im SO36! in X-Berg Man!
HipHop mit dem Vibe der legendären "Block Parties"!
DJs: Dejoe & Dister (Born2Roll/Raphistory)
mit legendären Breakdancing Crew:
Ill (B.S.E. Crew), B-Boy Crok & B-Girl Chrissi
mit den lecker verrückten Illustrationen von äh Tobias Krafczyk aka Legends of Rap (wenn da wer nen Link hat - her damit) und uns - den Superpositioners Baby!
Rock'n'Roll - ah ne HipHop! Super-Gut!
alles zusamengestellt und organisiert bei der "that fuc*ing Sara", aight ;-)
Zitate aus Newslettern sind gewollt ;-)
Year Year Year we're going to the SO! Wooooot!
(Für die Technik-Freaks und Nörds: Wir haben bis Freitag unseren selbstgebauten Mixer so modifiert das er euch noch mehr rocken wird als vorher - oder soll ich sagen noch mehr hip-hoppen?)
Die Superpositioners live sehen? Ganz einfach! Diesen Samstag 02.06. ab 10 Uhr im RAW Tempel in Friedrichshain! Diesmal mit special guest star max aus weimar! Max supportet uns als Live - VJ mit extra Software und neum Footage!
Wie freuen uns auf euch!
Die Superpostioners haben ihr erstes Video Interview gegeben!
Flasher
zeigt das erste Video-Interview mit Vcap, Antistar und Ephigenia auf ihrer Website!
Wer Lust darauf hat, die Superpositioners und ihre Tools mal live in Aktion zu sehen
kann am 02.06 in den RAW Tempel in Friedrichshain kommen und zuschauen!
Organisiert und fertig gemacht von den grandiosen Netlag Leuten!
Mehr kommt noch! Immer mehr ja!