Backend sehr sehr langsam (Userabhängig)
Backend sehr sehr langsam (Userabhängig)
Hallo zusammen,
ich habe folgendes Problem:
In der Administration habe ich 2 User:
1) Sysadmin
2) Redakteur
Wenn ich Content/Artikel aufrufe dauert es beim dem Administrator ca 3 sekunden bis sich der Baum aufbaut. Wenn ich mich als Redakteur (eingeschränkte Rechte) einlogge dauert es über 30 Sekunden. Woran kann das liegen? Der Kunde kann so auf jeden Fall nicht arbeiten
Der Seitenbaum umfasst ca. 150-200 Kategorien mit jeweils einem Artikel.
Vielen Dank,
Jörn
ich habe folgendes Problem:
In der Administration habe ich 2 User:
1) Sysadmin
2) Redakteur
Wenn ich Content/Artikel aufrufe dauert es beim dem Administrator ca 3 sekunden bis sich der Baum aufbaut. Wenn ich mich als Redakteur (eingeschränkte Rechte) einlogge dauert es über 30 Sekunden. Woran kann das liegen? Der Kunde kann so auf jeden Fall nicht arbeiten
Der Seitenbaum umfasst ca. 150-200 Kategorien mit jeweils einem Artikel.
Vielen Dank,
Jörn
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: Backend sehr sehr langsam (Userabhängig)
Welche Version setzt du ein?
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: Backend sehr sehr langsam (Userabhängig)
Kann ich von hier aus bisher nicht bestätigen. Ich habe extra einen Nutzer mit eingeschränkten Rechten (jeweils mit entsprechenden Rechten unter Content bzw. Bereiche getestet) angelegt. Merklich langsamer wird der Kategoriebaum unter "Content -> Artikel" bei einer lokalen 4.8.10 nicht angezeigt.
Müsste man mal schauen, ob das Problem auch bei anderen auftritt, um dem auf den Grund zu gehen. Zur 4.8.11 hat es zwar eine Änderung mit den Berechtigungen in diesem Bereich gegeben, diese dürfte aber keinen positiven Effekt auf die Performance haben.
Lässt sich das Problem in verschiedenen Browsern nachstellen? Tritt das nur beim ersten Laden auf und geht es danach flotter (z.B. beim Auf-/Zuklappen von Kategorien)?
Müsste man mal schauen, ob das Problem auch bei anderen auftritt, um dem auf den Grund zu gehen. Zur 4.8.11 hat es zwar eine Änderung mit den Berechtigungen in diesem Bereich gegeben, diese dürfte aber keinen positiven Effekt auf die Performance haben.
Lässt sich das Problem in verschiedenen Browsern nachstellen? Tritt das nur beim ersten Laden auf und geht es danach flotter (z.B. beim Auf-/Zuklappen von Kategorien)?
Re: Backend sehr sehr langsam (Userabhängig)
Gestestet habe ich das im IE und FF.
Beide Browser sind lahm. Wenn der Baum einmal geladen wurde geht es allerdings schneller. Das ausklappen der einzelnen Bäume sgeht fix. Gehe ich dann wieder auf Artikel, dauert es wieder ewig.
Das Merkwürdige ist, dass es mit einem Adminaccount schneller geht...
Vielen Dank,
Jörn
Beide Browser sind lahm. Wenn der Baum einmal geladen wurde geht es allerdings schneller. Das ausklappen der einzelnen Bäume sgeht fix. Gehe ich dann wieder auf Artikel, dauert es wieder ewig.
Das Merkwürdige ist, dass es mit einem Adminaccount schneller geht...
Vielen Dank,
Jörn
Re: Backend sehr sehr langsam (Userabhängig)
Würde mich interessieren, ob sich in der Hinsicht in absehbarer Zeit irgenwas ändern wird. Ich habe hier ein System (angefangen mit 4.6, kürzlich auf 4.8.12 hochgezogen) mit ca. 850 Kategorien und 3000 Artikeln (Tendenz im Moment +20 Artikel/Tag) das im Backend unerträglich langsam wird. Als Admin spürt man das hauptsächlich in der Kategorie-Übersicht, aber normale Redakteure warten auch auf die Artikelübersicht deutlich über zehn Sekunden (mit 4.6 zwei bis drei), in der Kategorieübersicht manchmal mehr als eine halbe Minute. Und nein, Hardware, Apache, MySQL und PHP selbst sind nicht das Problem.
Ich habe grad mal ein wenig in db_mysql.inc mitgelogt und festgestellt, dass allein das Anzeigen der aufgeklappten Kategorieübersicht hier 5800 Queries absetzt
IMHO rennt das Backend-System mit synchronen HTML-Anfragen langsam aber schmerzhaft an die Grenzen. Gibt's schon irgenwelche Pläne in Richtung v5, diese Teile auf Ajax umzustellen?
Ich habe grad mal ein wenig in db_mysql.inc mitgelogt und festgestellt, dass allein das Anzeigen der aufgeklappten Kategorieübersicht hier 5800 Queries absetzt
IMHO rennt das Backend-System mit synchronen HTML-Anfragen langsam aber schmerzhaft an die Grenzen. Gibt's schon irgenwelche Pläne in Richtung v5, diese Teile auf Ajax umzustellen?
Re: Backend sehr sehr langsam (Userabhängig)
Hallo,
dieses Problem tritt bei uns auch auf (Contenido 4.8.12). Wir haben mehrere User mit eingeschränkten Rechten und das System war so langsam, dass wir allen Usern Admin-Rechte gegeben haben und dann konnten sie auch gut und schnell arbeiten. Ist zwar nicht Sinn und Zweck, aber für das Arbeiten unabdingbar, da am Tag mehrere User Daten einpflegen und bearbeiten. Es sind ca. 1000 Kategorien angelegt.
Dies habe ich auch schon im Forum angefragt.
http://forum.contenido.org/viewtopic.ph ... ps#p133535
Fips
dieses Problem tritt bei uns auch auf (Contenido 4.8.12). Wir haben mehrere User mit eingeschränkten Rechten und das System war so langsam, dass wir allen Usern Admin-Rechte gegeben haben und dann konnten sie auch gut und schnell arbeiten. Ist zwar nicht Sinn und Zweck, aber für das Arbeiten unabdingbar, da am Tag mehrere User Daten einpflegen und bearbeiten. Es sind ca. 1000 Kategorien angelegt.
Dies habe ich auch schon im Forum angefragt.
http://forum.contenido.org/viewtopic.ph ... ps#p133535
Fips
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: Backend sehr sehr langsam (Userabhängig)
Das Problem bzgl. der Kategorieübersicht ist bekannt und wurde z.B. hier:
http://forum.contenido.org/viewtopic.php?f=62&t=23932
http://forum.contenido.org/viewtopic.php?f=62&t=23969
lang und breit diskutiert. Bei der Darstellung unter Content->Kategorie gibt es mindestens zwei Performancefresser:
1. Anzahl der Datenbankabfragen (und -verbindungen)
Da werden aktuell ca. 10 DB-Abfragen je dargestellter Kategorie abgesetzt. Es gibt da viele Ansätze, mit denen das komplett umgebaut werden könnte oder auf bestehender Basis optimiert werden kann. Man bekommt das nach ersten Tests von mir sicher auf unter 100 DB-Abfragen gesamt reduziert unabhängig von der Anzahl der Kategorien. Das Workflow-Plugin verursacht dort aber auch 2 Abfragen je Kategorie, die man evtl. auch vermeiden kann. Das ist insgesamt aber halt ein ordentlicher Aufwand, den erstmal jemand leisten muss.
2. Die Menge des HTML
Außerdem spielt bei der Darstellung auch die Menge an HTML eine Rolle, da man mit ca. 2,5 bis 3 (inkl. Workflow-Plugin) KB je Kategorie rechnen muss. Bei ca. 400 Kategorien sind wir also schon bei ca. 1 MB, das bei jedem Klick übertragen werden muss. Da könnte man natürlich auch einiges Einsparen. Eine wirklich merkbare Verbesserung wird dahingehend aber erst der Einsatz von AJAX bringen. Das ist allerdings ein ziemlich großer Aufwand.
Für die Abfragen bei den Berechtigungen ist auch noch etwas drin, denke ich. Grundsätzlich ist das aber bei einem Sysadmin/Admin natürlich performanter, da für diesen im Prinzip eine Abfrage der Berechtigungen ausreicht. Bei anderen Nutzern müssen evtl. bedeutend mehr Abfragen ausgeführt werden (Bereiche/Aktionen und Kategorien/Aktionen). Da werden schon bei ein paar hundert Kategorien tausende Abfragen zusammenkommen. Dadurch wird da immer ein Unterschied bleiben.
http://forum.contenido.org/viewtopic.php?f=62&t=23932
http://forum.contenido.org/viewtopic.php?f=62&t=23969
lang und breit diskutiert. Bei der Darstellung unter Content->Kategorie gibt es mindestens zwei Performancefresser:
1. Anzahl der Datenbankabfragen (und -verbindungen)
Da werden aktuell ca. 10 DB-Abfragen je dargestellter Kategorie abgesetzt. Es gibt da viele Ansätze, mit denen das komplett umgebaut werden könnte oder auf bestehender Basis optimiert werden kann. Man bekommt das nach ersten Tests von mir sicher auf unter 100 DB-Abfragen gesamt reduziert unabhängig von der Anzahl der Kategorien. Das Workflow-Plugin verursacht dort aber auch 2 Abfragen je Kategorie, die man evtl. auch vermeiden kann. Das ist insgesamt aber halt ein ordentlicher Aufwand, den erstmal jemand leisten muss.
2. Die Menge des HTML
Außerdem spielt bei der Darstellung auch die Menge an HTML eine Rolle, da man mit ca. 2,5 bis 3 (inkl. Workflow-Plugin) KB je Kategorie rechnen muss. Bei ca. 400 Kategorien sind wir also schon bei ca. 1 MB, das bei jedem Klick übertragen werden muss. Da könnte man natürlich auch einiges Einsparen. Eine wirklich merkbare Verbesserung wird dahingehend aber erst der Einsatz von AJAX bringen. Das ist allerdings ein ziemlich großer Aufwand.
Für die Abfragen bei den Berechtigungen ist auch noch etwas drin, denke ich. Grundsätzlich ist das aber bei einem Sysadmin/Admin natürlich performanter, da für diesen im Prinzip eine Abfrage der Berechtigungen ausreicht. Bei anderen Nutzern müssen evtl. bedeutend mehr Abfragen ausgeführt werden (Bereiche/Aktionen und Kategorien/Aktionen). Da werden schon bei ein paar hundert Kategorien tausende Abfragen zusammenkommen. Dadurch wird da immer ein Unterschied bleiben.
Re: Backend sehr sehr langsam (Userabhängig)
Ich habe hier einen für uns brauchbaren Fix eingebaut, indem ich in der conlib/perm.inc eine Timestamp und Lebensdauer für die Berechtigungen eingebaut habe. D.h. erst wenn die letzte Aktualisierung mehr als $perm_lifetime Sekunden zurückliegt, wird der ganze Berechtigungsbaum neu geladen. Zuvor wurde das für jede Kategorie beim Bauen der Baumansicht in der include.con_str_overview.php komplett durchgerattert.
[ToDo: optimalerweise sollte $perm_lifetime über config.local.php gesetzt werden]
[ToDo: optimalerweise sollte $perm_lifetime über config.local.php gesetzt werden]
Code: Alles auswählen
--- perm.inc.orig 2009-04-24 11:05:22.000000000 +0200
+++ perm.inc 2009-09-09 11:35:32.980384200 +0200
@@ -41,6 +41,8 @@
var $actioncache = array ();
var $db;
var $db_perm;
+ var $perm_timestamp = 0;
+ var $perm_lifetime = 1800;
function getGroupsForUser($user)
{
@@ -140,7 +142,9 @@
global $sess, $area_rights, $item_rights, $db, $client, $lang, $auth, $cfg, $changelang, $changeclient;
- $return = "1";
+ if( isset($area_rights) && isset($item_rights) && $this->is_perm_current() )
+ return 1;
+
//if not admin or sysadmin
if (!$this->have_perm())
{
@@ -169,6 +173,8 @@
}
}
+
+ $this->perm_timestamp = time();
return $return;
}
@@ -267,7 +273,7 @@
{
//if have action for area + action +item check right for client and lang
return true;
- } elseif ($item_rights[$area] != "noright")
+ } elseif ($item_rights[$area] != "noright" && ! $this->is_perm_current() )
{
$groupsForUser = $this->getGroupsForUser($auth->auth[uid]);
@@ -349,6 +355,13 @@
}
+ function is_perm_current()
+ {
+ if( time() - $this->perm_timestamp < $this->perm_lifetime )
+ return true;
+ return false;
+ }
+
function have_perm_area_action($area, $action = 0)
{
global $area_rights, $client, $lang, $cfg;
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: Backend sehr sehr langsam (Userabhängig)
Ich habs mal verschoben nach Bugs. Sollte man sich mal ansehen.
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Backend sehr sehr langsam (Userabhängig)
Hallo,
wo müßte denn der Code rein? Also an welche Position in der conlib/perm.inc?
Vielen Dank
MfG Steffen
wo müßte denn der Code rein? Also an welche Position in der conlib/perm.inc?
Vielen Dank
MfG Steffen
Re: Backend sehr sehr langsam (Userabhängig)
Noch Probleme mit Kategorien? Hier vorab ein Screenshot: http://tr.im/Kpyo
Kommt bei ausreichendem Interesse bald auch als CE-Version
Kommt bei ausreichendem Interesse bald auch als CE-Version
aitsu open source cms framework für contenido bei googlecode...
Re: Backend sehr sehr langsam (Userabhängig)
Frank ... bekommt ihr aitsu nicht verkauft?
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)