PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘performance’ tag

SQL richtig schreiben: Ausnutzung von Indizes

with 6 comments

PerformanceUm SQL kommt man in der heutigen Webentwicklung nicht herum, und jeder von uns kann SQL-Queries erstellen. Doch nicht jeder SQL-Query, der das korrekte Ergebnis zurückliefert, ist optimal aus Sicht der Performance. Hier ein kleines Beispiel:

Wir haben folgende Tabelle:

CREATE TABLE IF NOT EXISTS `Login` (
  `LoginId` int(11) NOT NULL AUTO_INCREMENT,
  `UserId` int(11) NOT NULL,
  `LoginDateTime` datetime NOT NULL,
  PRIMARY KEY (`LoginId`)
)

Nehmen wir an in der Tabelle sind 10.000.000 Zeilen. Es sind 10.000 verschiedene UserIds enthalten und jeder User hat im Schnitt 1.000 Logeinträge in den letzten 3 Jahren produziert. Die Tabelle enthält erstmal keine Indizes.

Die Aufgabe ist die folgende: Hole alle Logeinträge die in den letzten 30 Minuten stattgefunden haben.

Die Queries

Weiterlesen »

Written by Michael Kliewe

März 27th, 2013 at 10:10 am

PHP 5.4.0 Beta1 Performance!

with 10 comments

Ich bin zufällig auf eine Präsentation über die kommende PHP 5.4.0 Version gestossen, mit einer Liste aller entfernten Features, neuer Features, aber auch interessanten Performance- und Speicherverbrauchdaten. Informationen über Features sind ja schon etwas länger bekannt, und im Changelog findet man auch viele Informationen, aber ehrlich gesagt konnte ich es nicht glauben was da bei den Performance-Tests steht, das mußte ich selbst ausprobieren.

Hier Beispiel 1 aus der Präsentation:

/php537/php micro_bench.php
    Max memory usage 1048576 bytes.
    Running 27.608 s.

/php540/php micro_bench.php
    Max memory usage 524288 bytes.
    Running 13.254 s.

Hier Beispiel 2 aus der Präsentation:

/php537/php NewObjectClassTest.php
   Running 0.20629 s , 640616 bytes.
/php537/php StaticClassTest.php
   Running 0.35047 s, 640616 bytes.

/php540/php NewObjectClassTest.php
   Running 0.12018 s, 227808 bytes.
/php540/php StaticClassTest.php
   Running 0.10803 s, 227880 bytes.

Hier Beispiel 3 aus der Präsentation:

Weiterlesen »

Written by Michael Kliewe

September 30th, 2011 at 9:27 am

Posted in PHP

Tagged with , , ,

Fast by Default – O’Reilly Media’s Velocity Konferenz kommt nach Berlin!

with one comment

Velocity, die erfolgreiche Web Performance and Operations Konferenz produziert von O’Reilly Media, kommt zum ersten Mal nach Europa! Am 8. und 9. November trifft sich die internationale Web Developer Szene im Berliner Maritim proArte Hotel, um ihr Wissen über Skalierbarkeit, Zuverlässigkeit und Schnelligkeit von Webseiten auszutauschen.

Auf die Teilnehmer warten zwei spannende Tage mit exzellenten Keynote Rednern und intensiven Workshops. Die Gastgeber Steve Souders (Google) and John Allspaw (etsy.com) haben Experten wie Theo Schlossnagle (OmniTI) und Jeff Veen (Typekit) eingeladen, die ihre Erfolgsgeschichten präsentieren und auch die kniffligsten Fragen zu Themen wie Ajax, CSS, JavaScript und Performance auf mobilen Geräten beantworten werden.

Was sind die neuesten Tools und Trends im Web Development? Erfahrungsaustausch und praktische Anwendungen stehen im Vordergrund bei der Velocity Europe. Ivo Teel (SPIL GAMES), Mike Shaver (Mozilla Firefox), Jon Jenkins (Amazon.com), Schlomo Schapiro (ImmobilienScout24) und weitere maßgebliche Vordenker der Branche stellen ihre Ideen vor und diskutieren die neuesten Entwicklungen.

Jeff Veen, CEO von Typekit, betont die entscheidenden Faktoren für erfolgreiche Webseiten: „I’ve been working on the design and user experience of web sites for 15 years, and I keep coming back to this: performance and reliability is the bedrock for building products people love. The diversity of speakers at Velocity Europe is a testament to how important speed at scale has become.“

Informationen zu allen bestätigten Sprechern unter:
http://velocityconf.com/velocityeu/public/schedule/speakers

Weitere Highlights des englischsprachigen Programms sind:
Weiterlesen »

Written by Michael Kliewe

September 23rd, 2011 at 11:04 am

PHP in_array() die Performance-Bremse

with 24 comments

Dies ist ein Gastartikel von Dominik Siebel.

Dominik ist 25 Jahre alt und arbeitet als Webentwickler und Consultant bei TWT Business Solutions GmbH in Düsseldorf. Sein Hauptaufgabenbereich ist die Entwicklung von Inter- und Intranetapplikation im Zusammenspiel mit Google Enterprise Produkten (GSA) auf Basis gängiger Technologien: MySQL, PHP, Java, jQuery, etc.

Einleitung

Ich bin kürzlich erst wieder über dieses Problem gestolpert und dachte mir ich bringe es für die Nachwelt zu Papier 😉
PHPs in_array() Funktion ist ziemlich praktisch um auf die Schnelle zu überprüfen ob ein Eintrag bereits in einem Array enthalten ist und so z.B. doppelte Einträge zu vermeiden. So handlich diese Funktion auch ist, so offenbart sie jedoch erhebliche Schwächen, wenn wir erstmal ein paar mehr als die üblichen 500 – 1000 Datensätzen verarbeiten wollen.

Ausgangssituation

Weiterlesen »

Written by Dominik Siebel

Januar 26th, 2011 at 9:26 am

Test von Googles neuem Apache Modul mod_pagespeed

with 22 comments

Google kündigt an, die Welt applaudiert: Das neue Apache-Modul mod_pagespeed soll automatisch Webseiten schneller machen, ohne Aufwand und für jede Seite, eine bis zu 50% schnellere Webseite wird versprochen. Google selbst hat natürlich auch etwas davon: Wenn jede Webseite schneller abrufbar ist, können die Suchmaschinen-Spider schneller und mehr crawlen…

Doch wenn man es selbst ausprobiert sind die Ergebnisse ernüchternd. Ich habe heute Abend das Modul installiert und aktiviert (in unter 3 Minuten), und ein paar Messergebnisse mit Firebug, PageSpeed und YSlow zusammengetragen.

Ergebnis: kein nennenswerter Geschwindigkeitsschub, teilweise sogar langsamer als vorher. Einige haben bei ersten Benchmarks das selbe Ergebnis wie ich erhalten, andere jedoch sprechen von 46% Verbesserung. Es scheint sehr davon abzuhängen wie die Seite aufgebaut ist und ob bereits Maßnahmen zur Verbesserung der Performance getroffen wurden.
Außerdem habe ich auf meiner Seite nach der Aktivierung Probleme mit dem HTML-Validator gefunden die vorher nicht da waren, durch die „Verbesserungen“ habe ich plötzlich ungültigen HTML-Code!

Hat jemand von Euch bereits Tests gemacht, was ist dabei herausgekommen?

==========================
Die Installation unter Ubuntu (32bit) ist denkbar einfach:
Weiterlesen »

Written by Michael Kliewe

November 5th, 2010 at 12:32 am