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!
Es ist schon erstaunlich und lobenswert, dass VALVE nach Jahren der Abstinenz auf -nix-basierten Systemen endlich seine STEAM-Plattform auch für Macs anbietet. Dumm nur wenn man, wie ich, den kram runterlädt, starten will, aber nur mit dieser lapidaren Meldung abgespeist wird die ihr oben sehen könnt. Anscheinend kann man STEAM nur benutzen, wenn man seine Festplatte richtig formatiert hat.
Nach dem ich Google befragt habe, finde ich ein paar Anleitungen wie man STEAM auch auf einem Case-Insensitiven System zum laufen bekommen kann. Ich bin aber gar nicht davon angetan, meine volle Fesplatte noch weniger, dass ich eine weitere Partition nur für STEAM, in case-sensitive anlegen soll! Das kann ja eigentlich auch nicht hinhauen. Ich bin selbst Programmierer und bin der Meinung, dass die Jungs bei VALVE mal ihren Code aufräumen müssen, nicht ich meine Platte umgestalten!
Wie manche von euch wissen betreibe ich seit einiger Zeit ja ein kleines aber mittlerweile echt ganz gut erfolgreiches Blog über Horror- und Fantasyfilme. Bei dem dritten Gewinnspiel haben über 150 Leute mitgemacht und mir eine Email geschickt. Leider etwas viele um per Losverfahren Gewinner auszuwählen. Das folgende Beispiel wird für erfahrene Programmierer nichts neues sein oder total langweilig. Eventuell hilft’s aber dem einen oder anderen weiter ;-)
Einfach mit OSX Mail die Mails extrahieren, die das richtige Lösungswort enthalten, oder die man untersuchen möchte. Dabei erstellt Mail einfach eine Datei mit allen Email-Quelltexten untereinander in einer Textdatei. Diese kann man super mit der Bash maltretieren und die Absenderadresse extrahieren:
grep -Z -P '^From:s(.+)' mail_export.txt | uniq
Wenn man dann noch zwei Gewinner auswählen möchte, braucht man nur doch die Anzahl der Zeilen in der Datei und wählt dann einfach zwei aus. Das ganze Shell-Script sieht dann so aus:
#!/bin/bash
##########################################################
# Extract n radom emails from a file
#
# Usage:
# winner.sh [filename] [count]
#
# Author: Marcel Eichner // Ephigenia <love@ephigenia.de>
# Date: 2009-03-30
##########################################################
TMPFILE=`mktemp -t emails` || exit 1
grep -Z -P '^From:s(.+)' "$1" | uniq > $TMPFILE
# select random line from file
LCOUNT=`wc -l "${TMPFILE}" | awk ' { print $1; }'`
echo "Choosing ${2:-1} winners from ${LCOUNT} emails"
for (( i = 0 ; i < ${2:-1}; i++ ))
do
LINENUMBER=$((($RANDOM % $LCOUNT) + 1))
sed -n ${LINENUMBER}p ${TMPFILE}
done
Das Script kann wenn es ganz doof kommt auch zwei mal die gleichen Absender auswählen. Wenn das passiert kann man das Bash-Script ja gleich noch mal laufen lassen. Danke an Caspar der noch weitere hilfreiche Anregungen gegeben hat!
Mal wieder ein bisschen Werbung für das Berliner Label und Studio Mazooka. Die haben vor kurzem einen Custom-T-Shirt Editor online gestellt in dem man sich schöne T-Shirts zusammenstellen kann!
(via dmig)
iTerm ist eine willkommene Alternative zu der nativen Terminal App für OSX. Jetzt kann man die auch mit AppleScript verwursten.
Wenn man es Leid ist immer wieder die selben Terminal Fenster aufzumachen um Apache-Logs zu lesen oder die Datenbank zu überwachen sollte man überlegen ob das nicht noch besser geht. Klaro geht das besser! Mit Apple-Script!
tell application "iTerm"
activate
-- create server log terminal
make new terminal
tell the last terminal
activate current session
launch session "Default Session"
tell the last session
write text "clear;"
write text "tail -f /Applications/MAMP/logs/apache_access.log"
set background color to {15000, 200, 200}
end tell
end tell
set the bounds of the first window to {0, 700, 840, 900}
set the name of the first window to "apace_access.log"
-- creat working terminal
make new terminal
tell the last terminal
activate current session
launch session "Default Session"
tell the last session
write text "welcome user, start now"
end tell
end tell
set the bounds of the first window to {0, 0, 840, 660}
set the name of the first window to "workspace"
end tell
So kann man ganze Fenster Setups zusammencoden und erspart sich so hoffentlich einen Haufen Zeit.
Nachtrag:
Man kann dann das Apple-Script auch automatisch bei jedem Start von iTerm ausführen lassen indem man es in ~/Library/iTerm/AutoLaunch.scpt ablegt. Weitere Beispiele gibt es auf der Scripting Seite von iTerm.
Mit dem Mondrianum von Lithoglyph kann man wärend man schnelles CSS programmiert schnell schöne Farb-Kombinationen zusammenstellen. Das Plugin für den Farbauswähler in OSX greift dabei auf die bekannte Farbdatenbank Kuler von Adobe zurück.
Ein wenig Fun in der Nacht wach zu sein - estrada or nada - lala, "My Name is Earl" - Fun from Emerica - is’ das wie Schlag den Raab!? Klärt mich uff!
Max Lisewski, einer meiner Lieblings-Wegbestreiter durchs Leben hat nach erstaunlich kurzer Zeit seine neues Portfolio online gestellt. Eigentlich wäre ich ja noch vor DMIG oder Kai dran gewesen, aber wenn man was bis Montag unterm Tisch halten will klappt das nicht immer. Schöne Verselbständigung :)
Na auf jeden Fall freu ich mich, dass Max seine Studienzeit erfolgreich mit seiner Diplomarbeit über das Prokrastinieren abgeschlossen hat und auch endlich wieder in Berlin ist. Freue mich auf weitere Jahre der Zusammenarbeit und Freundschaft! m/ rock on!
Schon 3 Monate nach dem offiziellen Kinostart in den USA und 3 Tage nach der Amtseinführung von Obama, die wir gestern alle mitverfolgen durften, wird W. eine Biografie über George W. Bush diesen Freitag um 22:25 auf Pro7 laufen.
– Nur eine freundliche Erinnerung.