Performanceprobleme
am 26.05.2015 - 13:35 Uhr in
Hallo zusammen!
Ich habe meine neue Website mit Drupal erstellt und ärgere mich derzeit über die extrem niedrige Performance. Der Seitenaufbau dauert teilweise extrem lang! Allerdings scheint das Problem nur aufzutreten, wenn ich nicht angemeldet bin. Daher ist die Reproduzierbarkeit für Außenstehe recht schwierig.
Ich habe Devel genutzt, um mir ein paar Dinge anzeigen zu lassen, die mich vielleicht auf die richtige Spur führen könnten:
"Executed 238 queries in 966.85 ms. Queries exceeding 5 ms are highlighted. Page execution time was 1445.65 ms."
Das war übrigens noch ein recht schneller Seitenaufbau. Falls die Seite nicht gerade frisch im Cache liegt, kann der Seitenaufbau auch mal gut und gerne 5 Sekunden dauern, was eine gefühlte Ewigkeit ist.
Datenbankabfragen, die bsonders lange brauchten, liste ich hier mal auf:
502.15 ms | 1 | _variable_store_load | P A E | SELECT s.name AS name, s.value AS value, s.serialized AS serialized FROM _drupalvariable_store s WHERE (realm = :db_condition_placeholder_0) AND (realm_key = :db_condition_placeholder_1)
75.32 ms | 4 | DrupalDatabaseCache::getMultiple | P A E | SELECT cid, data, created, expire, serialized FROM _drupalcache_bootstrap WHERE cid IN (:cids_0)
26.42 ms | 9 | DrupalDatabaseCache::set | P A | INSERT INTO _drupalcache (cid, serialized, created, expire, data) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4)
26.03 ms | 1 | locale | P A E | SELECT s.source, s.context, t.translation, t.language FROM _drupallocales_source s LEFT JOIN _drupallocales_target t ON s.lid = t.lid AND t.language = :language WHERE s.textgroup = 'default' AND s.version = :version AND LENGTH(s.source) < :length
15.58 ms | 9 | DrupalDatabaseCache::set | P A | INSERT INTO _drupalcache (cid, serialized, created, expire, data) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4)
14.81 ms | 1 | filter_formats | P A E | SELECT ff.* FROM _drupalfilter_format ff WHERE (status = :db_condition_placeholder_0) ORDER BY weight ASC
Es gibt noch ein paar andere Abfragen, die auch recht lang gedauert habe, aber dies sind die extremsten Ausreißer.
Weiterhin stellt sich die Frage, woher die restliche Execution Time kommt.
Kann mir jemand einen Tipp geben, wo ich mit der Suche beginnen soll?
Vielen Dank!
garv3
- Anmelden oder Registrieren um Kommentare zu schreiben
Ein paar Details zur Hardware
am 26.05.2015 - 14:37 Uhr
Ein paar Details zur Hardware wären interessant und der Konfiguration des Datenbankservers.
sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.
Zur Hardware kann ich leider
am 26.05.2015 - 15:47 Uhr
Zur Hardware kann ich leider nicht viel sagen, da es sich um einen Shared Server bei einem größeren Hoster handelt.
Zu den Servereinstellungen kann ich folgendes sagen:
PHP 5.6
memory_limit: 64 MB
max_execution_time: 30 Sek.
mod_rewrite: On
MySQL 5.5
Verwaltet wird das per Confixx. Hier werden keine Servermeldungen/Fehler angezeigt.
Wie viele Module sind denn
am 26.05.2015 - 16:04 Uhr
Wie viele Module sind denn auf dem Server im Einsatz?
Wenn Du bereit bist mir einen Export der Daten zur Verfügung zu stellen kann ich das auch gern mal auf meinem Server testen.
sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.
Danke für das
am 26.05.2015 - 16:32 Uhr
Danke für das Angebot!
Grundsätzlich kann ich dir gern nen Export geben. Sensible Daten sind bisher keine drauf. Was bräuchtest du denn alles?
Es sind diverse Module installiert (Chaos Tools, Multilingual, Wysiwyg, Service Links...)
Interessanter Weise kann ich einige deaktivierte Module (Advanced Forum u.a.) anscheinend nicht deinstallieren. Sie werden jedenfalls in der Liste nicht angezeigt.
Dump der Datenbank und die
am 26.05.2015 - 20:20 Uhr
Dump der Datenbank und die Dateien als ZIP.
sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.
garv3 schrieb Z memory_limit:
am 27.05.2015 - 05:16 Uhr
Z
memory_limit: 64 MB..
die 64mb sind auf jeden fall viel zu wenig. 128 oder mehr!
C.A.W. Webdesign
Ich hatte auf dem System
am 02.06.2015 - 10:56 Uhr
Ich hatte auf dem System zuvor nur 36MB. Damit bekam ich im Administrationsbereich häufig Memory Exceptions. Seit dem Upgrade auf 64MB sind die Fehler verschwunden. Ich glaube eigentlich kaum, dass es daran liegt, da ich alle Fehler ausgebe und mir halt keine entsprechenden Fehlermeldungen mehr angezeigt werden.
@Sense:
Ich hab dir eine Nachricht mit einem Link zum Download geschickt.
Vielen Dank schonmal!
Hallo, also 64MB ist sicher
am 02.06.2015 - 11:58 Uhr
Hallo,
also 64MB ist sicher zu wenig, hat aber wohl weniger mit Deinem Prolem zu tun!
Schau mal hier:
https://www.drupal.org/requirements/php#memory
Warning messages will be shown if the PHP configuration does not meet these requirements. However, while these values may be sufficient for a default Drupal installation, a production site with a number of commonly used modules enabled could require more memory. Typically 128 MB or 256 MB are found in production systems. Some installations may require much more, especially with media-rich implementations
Bei langsamen Queries kann Dir APC und besonders memcache helfen, welcher DB Abfragen cached:
https://openconcept.ca/blog/mmallett/apc-varnish-memcache-and-caching-be...
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)