• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Zend_Gäähninator (Paginator)

dasuckoor

New member
Hi,

ich verwende den Zend_paginator und habe ein komisches verhalten festgestellt.
PHP:
$users = $model->... (gibt Zend_paginator objekt zurück)

$users->setCurrentPageNumber ( $this->getRequest ()->getParam ( 'page', 1 ) );

$users->setItemCountPerPage ( 5 );
das Ganze ist auch super performant ~ 0,3 sek. Komischerweiße wenn ich das erste mal auf das $users Objekt zugreife habe ich gleich Zeiten von ~ 3 sek.

PHP:
$users->getPage();
bzw.:

PHP:
foreach ( $users as $key => $user ) {    
//do nothing
}
warum wird der paginator hier so langsam?

Danke

Gruß
 

st0ffel

New member
Nicht der Paginator wird langsam, sondern die Datenquelle auf die er zugreift ;)

Die Daten werden nämlich nicht bei der Initialisierung geholt, sondern z.B. erst, wenn man über die Items iteriert.
 

dasuckoor

New member
sicher? hab mal gemessen und der Zeitverlust entsteht schon beim Initialisieren...
das Problem hat sich jedenfalls von selbst gelöst... kaum war das Projekt auf dem Webserver, waren die Geschwindigkeitsverluste weg! K.A. was da lokal passiert..

Danke!
Gruß
 

st0ffel

New member
Was genau verstehst Du unter "initialisieren"?

Ich bin mir sehr sicher, dass das Problem am Select liegt, welches der Paginator gegen die Datenbank ausführt.

Dass es lokal langsam und live schnell geht, liegt vermutlich an der schnelleren Hardware der/s Server/s und den warmen Caches der Live-Datenbank.

Wenn wir in der Arbeit die DB mal durchstarten müssen, beobachten wir auch eine höhere Load bis die Anfragen wieder aus dem Cache beantwortet werden können. Das macht schon ein bisschen etwas aus :)
 
Oben