• Byelex is expert op het gebied van dynamische content publicatie en eenvoudige online interactie, allemaal gebaseerd op Drupal.

Drupal 7, Formula 1 for webdesigning

Op 15 november, indien Dries zijn voorspelling klopt, zal Drupal 7 een feature freeze krijgen. Vanaf dat moment worden er geen nieuwe functies meer aan Drupal 7 toegevoegd. Nu zag ik vandaag een nieuwe Drupal 7 versie langs komen, http://drupal.org/node/156281, dus besloot ik maar eens een half uurtje te besteden om deze versie wat nader te onderzoeken.

Bij het installeren kwam ik meteen de grootste verandering in Drupal 7 tegen: PDO. Mijn lokale PHP 5 installatie had PDO namelijk uit staan. PDO is een PHP library die de legacy mysql en postgresql bibliotheken in PHP gaat vervangen. Het mooie van PDO is dat de applicatie die je schrijft in PHP met PDO werkt en dat PDO de commando’s dan vertaalt naar database specifieke calls. Voor de applicatie ontwikkelaar maakt het dus niet meer uit of je voor mySQL of Postgresql ontwikkeld, PDO lost de vertaalslag namelijk voor je op.

Drupal 7 maakt dan ook voortaan gebruik van PDO en daarom heb je dus PDO nodig. Voor de mensen die niet weten  hoe dit aangezet moet worden. Open php.ini in je tekst editor en zoek deze regels:

;extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll

 Ik ga gebruik maken van mysql dus ik haal de “;” weg voor php_pdo en voor php_pdo_mysql en ik herstart mijn apache server. Maar zoals je ziet is er flink wat ondersteuning voor databases (Oracle, Mssql, Postgresql, SQLite, Firebird). Met de odbc koppeling is het volgens mij zelfs mogelijk om elke database met een odbc driver te ondersteunen dus ook bijvoorbeeld MS Access (zou niet weten waarom je dat zou willen maar het kan).

Na het aanzetten van PDO zijn we los. En ik zie meteen het eerste scherm:

Clipboard-1.jpg

Oh jee, de vraag of ik de “expert” installatie wil doen. Normaal gesproken kies ik bij installaties altijd de “advanced” functie. Maar deze keer doe ik toch maar de normale installatie aangezien ik Drupal 7 z.s.m. in actie wil zien en ik niet te veel wil tweaken.

De rest van de installatie is voor het grootste gedeelte hetzelfde als bij Drupal 6.

Na het installeren krijg je de gewone Garland theme en ziet het er eigenlijk hetzelfde uit als Drupal 6. Grootste wijzigingen zijn de module pagina waarin alles nu in 1 categorie is geplaatst en er help links zijn geplaatst met meer informatie over de modules:

Clipboard-2.jpg

Ook is er de mogelijkheid om ip-adressen te blokkeren, simpletest is ingebouwd (misschien omdat dit nog een development release is) en Stories heten nu Articles. Voor de rest heb ik nog geen uiterlijke veranderingen gevonden.

Speed

Wat wel enorm opvalt is de extreme snelheid van het systeem. Dit komt mogelijk door de vernieuwde database abstraction layer en de code registry. Deze aanpassingen zorgen ervoor dat de structuur van Drupal een stuk professioneler is.

In Drupal 6 werd al een aanpassing gedaan aan de modules waardoor het menu systeem al een stuk verbeterd is. Een module kan in Drupal 6 conditioneel php files includen waardoor Drupal een stuk sneller is, niet alle files hoeven namelijk te worden ingeladen. Nadeel hiervan is dat de verantwoordelijkheid bij de module developer ligt en dat het conditionele include systeem niet simpel te implementeren is. Hierdoor zullen de wat minder gebruikte modules zich hier vaak niet aan houden.

In Drupal 7 is dit systeem verbeterd middels de code registry. De code registry is een zelf lerend systeem waardoor de module developer niet meer middels moeilijke settings de conditionele include van files kan regelen. De code registry doet dit automatisch. Ook het aantal functies dat in include files gestopt kan worden is enorm toegenomen. Op deze manier hoeft Drupal dus veel minder code in te laden waardoor alles versnelt wordt.

Rasmus Lerdorf

Zoals op de presentatie van Rasmus Lerdorf, maker van PHP, op de Drupalcon in Szeged verteld werd is het inladen van verschillende files een van de grotere bottlenecks in de performance van PHP en dus Drupal. Dus door deze aanpassing zorgt de grote kracht van Drupal, het modulaire systeem, niet voor een traag systeem als er veel modules aan staan.

Waarschijnlijk zullen de grotere wijzigingen met betrekking tot uiterlijk en functionaliteit voor end users in volgende versies te zien zijn en dan denk ik voornamelijk aan de usability verbeteringen. Ook zal de Drupal 7 versie extreem stabiel moeten zijn door het uitvoerige testen met simpletest.

Maar momenteel is de snelheidsupdate alleen al zeer indrukwekkend!

1 reactie

  • 1. Door Roel De Meester 26 Nov, 2008 | Files laden blijkt niet de bottleneck

    Hoi,

    kristof (realize.be) heeft vorige week samen met chx wat performance testing gedaan, en op het eerste zicht lijkt hij tot volgende conclusies te komen.
    1/ abstraction layer vertraagt drupal.
    Het is algemeen bekend dat iedere flexibiliteit die men inbouwd door bepaalde lagen toe te voegen, ook met een kost komt. Namelijk snelheid. Dat is hier niet anders. Maar gelukkig zijn de verschillen momenteel minimaal.
    2/ Laden van files is volgens Rasmus idd de grote bottleneck, maar niet bij drupal. Een drupal in bootstrap test waarbij een minimaal aantal files geladen werd blijkt amper sneller te draaien dan een 'gewone' drupal.

    De snelheid van drupal wordt momenteel vooral bepaald door het bootstrap proces an sich. Er moet gewoon heel veel gedaan worden alvorens er werkelijk een pagina op het scherm staat.
    Op zoek naar alternatieven dus, maar daarover later meer.

  • Post new comment

    The content of this field is kept private and will not be shown publicly.
    • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h1> <h2> <h3><br><br/> <p>
    • Lines and paragraphs break automatically.
    • Web page addresses and e-mail addresses turn into links automatically.

    Geïnteresseerd?

    Contact

    Vertel ons vrijblijvend over uw project en ontvang van ons een review of een voorstel

    byelex-black.png

    Byelex is een website en software ontwikkelaar met een passie voor het ambacht. Waarden als kwaliteit, gebruiksgemak en value-for-money staan bij Byelex hoog in het vaandel. De afgelopen 15 jaar heeft Byelex een schat van ervaring opgebouwd op het gebied van software ontwikkeling, bedrijfsprocessen, grafisch design en content management welke allemaal effectief voor klanten worden ingezet.

    Drupal Association Organizational Member
    Byelex ontwikkelt in het populaire open-source CMS Drupal. Een grote gemeenschap draagt inmiddels bij aan de ontwikkeling van Drupal en daar profiteert u van mee. Het is ook goed om te weten dat er ook 'grote jongens' zijn die Drupal gebruiken, zoals NASA, Amnesty International en AOL.

    Partners

    partner-dell.png
    partner-bridgizz.png