Support » Allgemeine Fragen » Langsames laden für angemeldete User
Langsames laden für angemeldete User
-
Hallo,
Ich habe das Problem, dass die Seite gute Ladezustand hat für die Größe und den zu ladenden Content.
Sobald ein User sich einloggt, erhöht sich diese Ladezeit sehr.
Gibt es einen Grund in der Userabfrage, die für diesen unschönen Zustand verantwortlich wäre.
Verwendet wird ein classifields Theme für die „Börse“. Deshalb auch der große content.
Für die User wird eine w3phpbb2wp Datenbank Bridge verwendet, damit alle User Forum und WP mit selben Daten nutzen können.Gruß
Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]
-
Mein erster Gedanke:
Du benutzt ein Caching Plugin und wenn der User sich anmeldet, dann bekommt er eben keine gecachten Inhalte ausgeliefert.
Vielleicht liegt das auch am Session Handling auf deinem Server?
Hallo,
und danke für deine Gedanken.
Leider ist dem nicht so. Durch den dynamischen Content, können wir kein Cachingtool verwenden, da sonst neue Angebote nicht geladen werden.
Sprich die Seite wird 0 gecached.Mal zur Info WordPress aktuelle Version (heute morgen)
PHP 7.2xx -> dies können ir derzeit leider nicht erhöhen, da das WordPress CMS mit dem phpbb Forum CMS gebridged ist, um den Usern 1 Registrierung zu ersparen. Und phpbb ist für 7.3 nochnicht ausgereift.Die Bridge wurde auch probeweise abgeschaltet und es war keine Besserung zu erkennen.
Der Server ist futschneu und ein MX120 von Hetzner mit eigentlich zuviel Power.
Da hilft nur:
PHP log auswerten, ob dort Fehler und verbundene Schleifen generiert werden. Gerade für eingeloggte User.
Server log auswerten.
Da ich nicht genau weiß, wie die Bridge funktioniert, könntest du in WP den Query Monitor mal installieren und Bremsen ausfindig machen.
Warnung count(): Parameter must be an array or an object that implements Countable 3 wp-content/themes/dolceclassifieds/header.php:559 show_cats_dropdown() wp-content/themes/dolceclassifieds/header.php:579 load_template('wp-content/themes/dolceclassifieds/header.php') wp-includes/template.php:676 locate_template() wp-includes/general-template.php:48 get_header() wp-content/themes/dolceclassifieds/taxonomy.php:57 Theme Warnung in_array() expects parameter 2 to be array, boolean given 2 wp-content/themes/dolceclassifieds/header.php:565 in_array() wp-content/themes/dolceclassifieds/header.php:565 show_cats_dropdown() wp-content/themes/dolceclassifieds/header.php:579 load_template('wp-content/themes/dolceclassifieds/header.php') wp-includes/template.php:676 locate_template() wp-includes/general-template.php:48 get_header() wp-content/themes/dolceclassifieds/taxonomy.php:57 Theme Warnung count(): Parameter must be an array or an object that implements Countable 10 wp-content/themes/dolceclassifieds/header.php:571 show_cats_dropdown() wp-content/themes/dolceclassifieds/header.php:572 show_cats_dropdown() wp-content/themes/dolceclassifieds/header.php:579 load_template('wp-content/themes/dolceclassifieds/header.php') wp-includes/template.php:676 locate_template() wp-includes/general-template.php:48 get_header() wp-content/themes/dolceclassifieds/taxonomy.php:57 Theme Warnung count(): Parameter must be an array or an object that implements Countable 1 wp-content/themes/dolceclassifieds/header.php:590 load_template('wp-content/themes/dolceclassifieds/header.php') wp-includes/template.php:676 locate_template() wp-includes/general-template.php:48 get_header() wp-content/themes/dolceclassifieds/taxonomy.php:57 Theme Warnung count(): Parameter must be an array or an object that implements Countable 1 wp-content/themes/dolceclassifieds/taxonomy.php:303 wp-content/themes/dolceclassifieds/page-all-ads.php wp-content/themes/dolceclassifieds/page-all-ads.php:6 Theme Warnung count(): Parameter must be an array or an object that implements Countable 1 wp-content/themes/dolceclassifieds/sidebar.php:520 load_template('wp-content/themes/dolceclassifieds/sidebar.php') wp-includes/template.php:676 locate_template() wp-includes/general-template.php:136 get_sidebar() wp-content/themes/dolceclassifieds/footer.php:12 load_template('wp-content/themes/dolceclassifieds/footer.php') wp-includes/template.php:676 locate_template() wp-includes/general-template.php:92 get_footer() wp-content/themes/dolceclassifieds/taxonomy.php:386
Hier das Codeschnippsel aus der header.php
kann es an dem „count“ liegen?
//foreach $all_cats as $cat function show_cats_dropdown($all_cats, $main_cats) { $auto_class_cats = get_option('auto_class_cats'); $auto_class_cats = count($auto_class_cats) > 0 ? $auto_class_cats : array(); foreach ($main_cats as $key => $cat) { $selected = ($_GET['c'] == $category_id) ? " selected" : ""; echo '<div data-value="'.$cat->term_id.'" class="option'.$selected.'" data-cat-parent="'.$cat->category_parent.'"><span class="icon icon-level-down"></span> '.$cat->name.'</div>'; foreach($all_cats as $key => $subcat) { if($subcat->category_parent == $cat->term_id && !in_array($subcat->category_parent, $auto_class_cats)) { $sub_cats[] = $subcat; unset($all_cats[$key]); } }//foreach $c as $cat echo '<div class="sub-cat" data-subcats-for-cat="'.$cat->term_id.'">'; if(count($sub_cats) > 0) { show_cats_dropdown($all_cats, $sub_cats); unset($sub_cats); } echo '</div>'; } }
- Diese Antwort wurde geändert vor 3 Jahren, 2 Monaten von tito0815.
Das ist ehrlich gesagt – reines Rätselraten ab jetzt für Aussenstehende.
Zeigt der Query Monitor dir bestimmte Bremsen an?Nein der query monitor zeigt keine Bremsen an. Ein paar „Fehler“ was aber mit älteren Code zusammenhängt.
Das Problem hatten wir aber schon seit einiger Zeit.
Als angemeldeter User benötigt die Seite genau 5 sek. Sonst unter 1 sek.
Es liegt nicht am content (Bilder etc) der geladen wird, sondern irgendwie an der Anmeldung an sich.Logge ich mich aus lädt alles extrem schnell. Sobald ich mich wieder einlogge ist da dieser 5 sek delay.
Hast du dir das schonmal im Network Tab von Chrome angesehen?
Mal vergleichen mit eingeloggt und uneingeloggt.
Nein der query monitor zeigt keine Bremsen an. Ein paar „Fehler“ was aber mit älteren Code zusammenhängt.
– Genau da könnte das Problem liegen, wenn da Schleifen drin sind, die nicht richtig aufgelöst werden.Was steht im Query Monitor unter Querys? Sind langsame dabei?
Du kannst das mit einem Cookie übrigens im Frontend messen, auch ohne eingeloggt zu sein.Also Network Tab sagt:
als Gast: 1,34 sek TTFB
als User: 8,3 sek TTFBsonst alles tutti
Query Moitor zeigt unter Query nur die Postmeta mit der Funktion Getpost als „langsam“ an mit 0,3 sek. Dies halt 20 mal.
Ort ist im Template query und loop items.
derzeit ~ 500.000 postmeta Datenbankeinträge
die PHP Fehler werden durch eine „count“ Funktion erzeugt gem. Query Monitor
TTFB ist „noch“ im Rahmen aber dennoch langsam.
Macht der Server das auch noch mit? Vielleicht ist der ausgelastet?
WP lastet den Server eh von haus aus etwas aus.Query Moitor zeigt unter Query nur die Postmeta mit der Funktion Getpost als „langsam“ an mit 0,3 sek. Dies halt 20 mal.
Wenn du jetzt 0,3 sek mal 20 nimmst, dann kommst du ungefähr auf 5-6 Sekunden.
DB Sicherung machen.
Dann ungenutzte Post Metas löschen. Per Tool oder per aufwendigen sql Query.
DB einmal optimieren.Ansonsten direkt die langsamen Queries anschauen, ob die noch optimiert werden können.
PS: Keine Gewähr, da Fernwartung. 😉
Hallo,
sry für die späte Rückmeldung.
Leider löst das ja nicht das Problem.
Es muss am Status „eingeloggt“ liegen.
Als Gast lädt der gleiche (nicht selbe, denn gesperrt oder private Anzeigen werden Gästen ja nicht angezeigt) content. Sprich die Menge der Daten sind identisch.
20 Anzeigen auf der Übersichtseite, sind 20 Anzeigen.
Die Seite lädt auch nicht.
Zur Erklärung. ich habe mal eine Preloader installiert, der einen drehenden Kreis anzeigt während des ladens.
Als Gast -> unter 1 sek Preloader bämmm content ist da
Als User -> ~ 5 sek nichts, dann unter 1 sek Preloader und bämmmDie Vermutung liegt halt nahe, dass es an dem Status „eingeloggter“ User an sich liegen muss.
Btw. PHP wurde auf 7.4 angehoben.
Kann es an den Settings des Servers liegen? irgendein timeout bzw session handling für User (da ja WordPress grundsätzlich kein PHP session erzeugen sollte)
Cheers
if user logged in ist letzendlich nur eine Zeile code mit if abschluss 2 zeilen code.
das sollte fix gehen und nicht zu merken sein.
ich hab dich mal angemeldet. läuft flüssig.
welche seiten haben diese langsamen ladezeiten? ich konnte keine finden …
Wenn man jetzt von boerse.pbhub.de auf den Links „Anzeigenübersicht“ klickt. Erst dann wird die Übersicht der Anzeigen geladen. Die Startseite haben wir generiert damit die User direkt ein Feedback haben, dass die Seite lebt.
- Das Thema „Langsames laden für angemeldete User“ ist für neue Antworten geschlossen.