Account statistics for our OpenX/Amazon Setup

Some time ago i wrote an article on our OpenX/AWS setup to increase our adserver performance and to reduce the load of our main webservers at diginights.com.
To shed some light on the more or less confusing cost structure of the Amazon webservices i’d like to share some information from the cost side. In our setup we use Amazon CloudFront in combination with the Simple Storage Service and therefore have to pay some additional bucks on the transfer between both services. I will only include payment data from europe, because most our traffic and costs (99%) are generated there.

Amazon Cloud Front

$0.150 per GB - first 10 TB / month data transfer out13.937 GB$47.09
$0.0120 per 10,000 HTTPS Requests51 Requests$0.01
$0.0090 per 10,000 HTTP Requests10,198,920 Requests$9.18
Most of our costs are generated here for outgoing data transfer and the total number of requests.

Amazon Simple Storage Service

$0.140 per GB - first 1 TB / month of storage used0.208 GB-Mo$0.03
$0.01 per 1,000 PUT, COPY, POST, or LIST requests103,007 Requests$1.03
$0.01 per 10,000 GET and all other requests364,565 Requests$0.36
Compared to Cloud Front we pay a very small amount for S3 due to the small amount of storage we consume (~240MB)

AWS Data Transfer (excluding Amazon CloudFront)

$0.100 per GB - data transfer in per month0.230 GB$0.02
$0.000 per GB - first 1 GB of data transferred out per month1.000 GB$0.00
$0.150 per GB - up to 10 TB / month data transfer out4.209 GB$0.63
Although worth mentioning, the cost for data transfer between the services is fairly small with our traffic usage.

In the end we came up with total cost of $69,96 in the month of december including all regions (US, Europe, Japan and Hong Kong/Singapore) and taxes. As i mentioned above we are currently serving only static images from our openX adserver totalling 240MB in around 3500 files. With the next version of our software we will start putting more static files (js,css,jpg,png) to the Amazon Webservices.

Related Posts:

7 Jahre diginights.com – Zahlen und Fakten

Das Party Portal diginights.com ist nun 7 Jahre alt! Das wurde am Wochenende natürlich gebührend gefeiert und nun ist es an der Zeit wie schon vor 2 Jahren ein kleines Fazit zu ziehen.

Im Monat Mai 2009 hatten wir im Schnitt 7,462.3 Besucher pro Tag (Gemessen mit awstats bei 30 Minuten Session Timeout). Stärkste Tage sind momentan der Freitag, Samstag und Sonntag, wir meistens über 9.000 und bei besonderen Events sogar bis zu 12.000 Visits auf die Seite messen.
Pro Tag generieren wir mit der Seite, den Bildern und dem Forum mittlerweile zwischen 7 GB und 30GB reinen Webtraffic pro Tag (vgl. 5-12GB vor 2 Jahren). Für den Monat Mai 2009 hielt der Zähler bei 360,5GB Traffic an, der von insgesamt 231,331 Besuchern erzeugt wurde.

Die Browser Verteilung hat sich auch ein wenig geändert: Von den vormals 2/3 Anteilen des Internet Explorer sind nur noch 41,9 % geblieben. In Führung liegt nun Mozilla Firefox mit stolzen 52,8 %. Der Rest verteilt sich auf Safari mit 2,0%, der somit den Opera (1,7%) hinter sich lässt.

Seit dem 1. Januar 2004 finden sich mittlerweile stolze 409,274 Bilder auf unseren Servern und wurden auf über 5600 verschiedenen Events geschossen (Diese beiden Zahlen haben sich in 2 Jahren verdoppelt).
Die Bilder wurden insgesamt 94.064.542 mal angeschaut, einzelne Top Bilder wurden sogar über 6000 mal angesehen!

Im Forum gibts mittlerweile 1,196,770 Posts, geschrieben in 37,726 verschiedenen Threads.

Die Technik hinter diginights.com hat sich kaum geändert. Die Server sind gemietet von Hetzner Online in Nürnberg. Als Betriebssystem verwenden wir Debian Lenny in einer typischen LAMP Umgebung. Als Webserver kommen Apache2 zum Einsatz – Bilder, Beiträge und sonstiges wird in einer MySQL 5 Datenbank abgelegt. Hauptbestandteil der Seite ist das PHP5 basierende Webframework Symfony. Zusätzlich verwenden wir Tools wie trac, subversion, den freien adserver Open-X, php-apc, Munin und nagios.

Related Posts:

Neudefinition der Page Impression im Anmarsch

Für die Reichweite und die Erfolgsmessung ist leider noch immer die Page Impression sehr gefragt, auch wenn sie in Zeiten von Technologien wie AJAX abgeschafft gehört!. Die größten Firmen in Deutschland für die Auswertung der Reichweite einer Seite sind die AGOF und IVW, und bei diesen wird die PI groß geschrieben.
Das soll sich nun bei genauso diesen Firmen entscheidend ändern.
Das ganze ist sehr zu begrüßen, da viele große Webseiten (spiegel.de oder web.de) ihre Klickstrecken und die Darstellung ihrer Inhalte mittlerweile total PI optimiert haben, für den User ist das meist sehr umständlich oder unübersichtlich. Stefan Niggemeier führt in seinem Blog ein paar total unsinnige Klickstrecken auf. (“Wozu Klickstrecken? Wegen der Übersicht!”, “Dumm klickt gut (2)”.
Da ist man doch froh, wenn andere zeigen, dass es auch anders geht: Ich hätte nie gedacht, dass ich das studiVZ mal lobe, aber deren Umstellung in wichtigen Bereichen auf AJAX Technologie bescherte den Betreibern einen Rückgang der PI von 5,2 auf 4,2 Milliarden – ein Minus von fast 20%. Für den studiVZ Chef Marcus Riecke ist das aber kalkuliert und total in Ordnung und die PI werden mit weiteren Umstellungen noch weiter sinken, denn die Nutzerzufriedenheit und andere Zahlen wie Unique User und Verweildauer sind für ihn viel wichtigere Erfolgsfaktoren als die Anzahl der Page Impressions:

“Mindestens ebenso wichtig sind uns beispielsweise Unique Users, Verweildauer, Mitgliederzahlen – und vor allem die einfache Bedienbarkeit unserer Seiten und die daraus resultierende Nutzerzufriedenheit.“, Marcus Riecke, studiVZ Chef

Bei diginights.com setzen wir bei unserem Kerngeschäft, der Bereitstellung von Eventbildern, schon seit geraumer Zeit auf AJAX, da es für den User viel bequemer und scheller ist als das ständige Neuladen der gesamten Seite.

Related Posts:

Migration auf Burning Board 3 bei diginights.com

Bei diginights.com setzen wir bisher auf die bewährte Forensoftware von WoltLab: Burning Board 2 (neuste Version 2.3.6).
Da diese Version nicht mehr weiterentwickelt wird und wir auf der Suche nach einem Forum waren, welches auf neue Technologien setzt, musste eine neue Boardsoftware her. Andere großen Forensystem setzten leider noch auf PHP4 oder haben andere Schwachstellen. Aufgrund unserer Hauptapplikation symfony, war aber ein PHP 5 System absolute Pflicht. Somit setzte sich das doch noch sehr neue Burning Board 3 letztendlich durch.
Vorletztes Wochende war es endlich so weit. Nach vielen kleinen und größeren Tests der Datenübername vom Bunring Board 2 (WBB2) ins Bunring Board 3 (WBB3) führten wir endlich die endgültige Umstellung durch.
Unser Testserver benötigte für die Übername ca. 1 Stunde pro 100.000 Beiträge, was natürlich alles andere als perfomant ist. Bei knapp über 1 Million Beiträgen in unserem Forum ist das eine langwierige Geschichte….

Continue reading

Related Posts:

PHP Framework Symfony wird 2 Jahre alt

Das PHP Framework Symfony, welches wir auch bei diginights.com verwenden, ist heute genau 2 Jahre alt!

In den vergangenen 2 Jahren hat sich sehr viel getan: Das Symfony-Forum enthält mittlerweile über 37.500 Beiträge von über 3800 registrierten Benutzern. Im Wiki finden sich über 200 Plugins, mit deren Hilfe man das Framework einfach erweitern kann. Mit Askeet gibt es ein hervorragendes 24 Stunden Tutorial zu Symfony. Der Code enthält mittlerweile über 5550 Changesets und wurde mitterweile 2 mal komplett überarbeitet.
Der 1.1 Milestone steht auch vor der Tür und bringt unter anderem ein neues Plugin System und Event System mit sich!
Mehr Informationen zu 2 Jahren Symfony gibts im Geburtstagseintrag auf der Homepage.

In einem Vergleich in der iX hat das Framework im Vergleich mit CakePHP,ez Components und dem Zend Framework gut abgeschnitten, vor allem in der Erfüllung des MVC Ansatzes ist es allen anderen Frameworks überlegen.

Natürlich gibts mittlerweile auch populäre Seiten, die Symfony produktiv einsetzen. Yahoo verwendet Symfony bei seinem Bookmark Dienst, außerdem wird Symfony bei der nächsten Version von delicious eingesetzt. Der wer-weiss-was Konkurrent gute-frage.net verwendet ebenfalls das Symfony Framework auf deinen Plattformen.

Links:
Symfony-Project Homepage
ApplicationsDevelopedWithSymfony
iX Artikel über PHP Frameworks

Related Posts:

Fehler bei suhosin in Verbindung mit dem WBB/PHPBB2

Verwendet man die Standardeinstellungen des Suhosin Patch, so kommt es bei der Verwendung des WBB2 (Wolt Lab Burning Board) oder des PHPBB2 (dt. PHPBB Homepage) zu einem Fehler beim Setzen der Gruppen Zugriffsrechte (Beispiel wbb):

[Fri Sep 21 00:13:43 2007] [error] [client 84.164.x.x] ALERT - configured POST variable limit exceeded – dropped variable ‘startpermiss
ion[79]‘ (attacker ’84.164.x.x’, file ‘/var/www/virtual/diginights.com/web/forum/acp/group.php’), referer: http://diginights.com/forum/
acp/group.php?action=permissions&groupid=31&sid=

Dieser Fehler tritt überall auf, wo die Post Variable größer ist, als der in Suhosin per default erlaubte Wert.
Abhilfe schafft folgende Änderung in der php.ini

[suhosin]
suhosin.post.max_vars = 2000
suhosin.request.max_vars = 1000

Links:
Beitrag im Woltlab Supportforum
Blogeintrag über Fehler in Verbindung mit phpBB2

Related Posts:

PHP absichern mit suhosin

Über Lücken und Schwachstellen in PHP liest man ja ständig. Die Entwickler sind beim fixen der Fehler leider auch nicht die schnellsten. Somit sollte man sich Gedanken über zusätzliche Absicherungen machen. Außerdem hat mich Martin unfreiwillig davon überzeugt, dass hier Handlungsbedarf besteht ;)
Eine meiner Meinung nach gute Möglichkeit zur Absicherung stellt die Suhosin Erweiterung des Hardened PHP Projects dar.

Suhosin is an advanced protection system for PHP installations. It was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core.

Suhosin kommt in 2 Teilen – ein Teil ist ein Patch direkt für den PHP Core, der andere ist eine normale PHP Extension. Für optimalen Schutz sollte man beide einsetzen – muss aber nicht. Denn nicht jede Software ist 100% kompatibel zu den Einschränkungen, die Suhosin am PHP vornimmt.

Die Installation des Patches ist kinderleicht:
– Passende Version im Downloadbereich wählen.
– Patch das PHP Build verzeichnis entpacken
– in meinem Fall ein patch -p 1 -i suhosin-patch-5.2.3-0.9.6.2.patch ausführen
– PHP neu kompilieren und installieren
– nach einem Neustart sollte unter phpinfo nun ein “This server is protected with the Suhosin Patch 0.9.6.2″ stehen.

Die Extension einzubauen ist ebenfalls kein Hexenwerk:
– Download der aktuellen Version vom Downloadbereich
– Entpacken und wechsel ins Source Verzeichnis
– phpize, configure & make
– Einbau in die PHP.ini mittels “extension=”suhosin.so”"
– nach dem Apache reload sollte sich die Zend Engine dann mit ” with Suhosin v0.9.20, Copyright (c) 2002-2006, by Hardened-PHP Project” melden.

Danach solltet ihr noch eure Software testen, vor allem Fremdprodukte.
Natürlich hat das ganze auch den Nachteil, dass eure Applikationen ein wenig langsamer lauffen…wer aber eh Performance übrig hat, wird davon nicht viel merken. Nichtsdestotrotz gibts hier eine Benchmark Seite mit Vorher/Nachher Vergleichen. Außerdem gibts das Benchmark Skript auch zum Download

Bei uns funktioniert alles reibungslos, ob nun die Blogsoftware serendipity, das Webframework Symfony oder den PHP Accelerator eaccelerator, alles läuft bisher tadellos!

Viel Spaß beim ausprobieren.

Related Posts: