pragmaMx Support Forum

pragmaMx => integrierte Module => Thema gestartet von: Atze am 04 Januar 2006, 12:50:03

Titel: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 04 Januar 2006, 12:50:03
Hi,
das Problem habe ich jetzt noch nicht im Forum gefunden, aber es wurde mal kurz im Zusammenhang einer etwas langsameren Seite angesprochen.
Von hier: http://www.pragmamx.org/modules.php?name=Forum&topic=14345.0
Zitat von FrankP Antwort 4:
ZitatDer Vollständigkeit halber: Sonst ist keinerlei Lastiges festzustellen, UserGb macht etwas Dampf, doch einigermaßen durch caching abzufangen.

Das etwas Dampf hat sich jetzt als sehr viel Dampf rausgestellt. Die Seite kann nicht mehr normal besurft werden, wenn das Userguest ein ist! Hab es jetzt deaktiviert bis auf weiteres. Auch alle Einschränkungen haben bis dato nichts gebracht. (html aus, textgrenze, GB einträge limit, umblättern, etc)

Wieso ist das GB eigentlich so belastend?? Normal zeigt es doch nur 10 Einträge pro Person an??
Mein Hoster hat noch gemeint, man müsste es evtl. die Einträge pro User auf eine Tageslimit einstellen.

Nur zur Erklärung. Ich habe teilweise User die mehr als 500 Einträge mit html Code etc vollgespammt haben!

Zu meinem Problem. Ich würde das GB ja aus lassen, aber die User mögen das GB enorm!
Was kann ich tun um das Ding zu tunen oder evtl. so einschränken das es schneller läuft??

Danke im vorraus...
Gruß





Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: jubilee am 04 Januar 2006, 19:34:56
Hallo !
Zitat
Was kann ich tun um das Ding zu tunen oder evtl. so einschränken das es schneller läuft??

Am Quellcode ist da nix zu tunen. Wenn die User es schaffen, den Server mit den Datenbankabfragen des Usergästebuches flachzulegen, dann ist das so. KA wo man da noch etwas rausfiedeln will.
Kannst höchstens mal mit den Einstellungen experimentieren.
Max. Anzahl an Einträgen runtersetzen.
Max. Anzahl an Zeichen pro Eintrag runtersetzen.
HTML aus (dann auch Spaw ausschalten).
PM bei Eintrag ausschalten.
User verbieten in seinem eigenen Gästebuch zu posten.

Das sind die Möglichkeiten. Wieviel User tumeln sich denn so im Usergästebuch ??

MfG
jubilee
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 04 Januar 2006, 20:53:21
ZitatDas sind die Möglichkeiten. Wieviel User tumeln sich denn so im Usergästebuch ??
Also die seite lahmt sobald ich es einschalte. von der einen sekunde auf die andere??

Als ich gekuckt habe, waren es 2 User im User Guest!
Von dir gennante Maßnahmen sind alle aktiv inkl. Backup aus!
Speicherplatz habe ich bei der DB = Insgesamt     133.273     KB

Also irgendwie läuft doch da was schief??

Wie schauts mit Tabellen leeren aus??

Gruß

p.S. kannst gern selber mal einschalten und das ergebniss besurfen  ;)
Ich lege dann ein adminzugang an...

Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: munzur am 04 Januar 2006, 21:06:36
Hi!

Also ich selber benütze es auch und meine db ist: 1144.285 Kb
Und hab sowas noch nicht erlebt, wenn doch dann ists mir nicht aufgefallen.

Eine Lösung habe ich nicht wirklich für dich auser dass wenn bei dir HTML aktiv ist das einer ein code eingetragen hat der das vielleicht verursacht.

L.g
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 04 Januar 2006, 22:22:06
DAs könnte sein, ein so brutaler Html Smilie-Code mix! :thumbdown:
Wie genau kann ich nur die inhalter der tabellen mit dem phpmyadmin löschen?
Über den leeren button, wars das schon oder muß ich was beachten?

Gruß
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Andi am 05 Januar 2006, 09:03:35
Moin :)

ich habe da nen Verdacht...

Schau mal in der /modules/UserGuest/index.php Zeile #218 steht folgender Code:
$eintrag['text'] = wordwrap2($eintrag['text'], $umbruch, "<br> ", " ");

Kommentier die Zeile mal aus und gugg ob sich was ändert ;)
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 05 Januar 2006, 12:29:29
Hi,
ja habs getestet, da ging dann auch nichts mehr. Kurzzeitig war sogar "Datenbankproblem" und die Seite war nicht zu erreichen.

Ich kann dir gern mal ein Zugang geben, damit es selber siehst, wie bei aktivieren das ganze auf einmal lahmt.
Kannst gern auch mal so versuche machen mit derm User GB

GRuß
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: FrankP am 05 Januar 2006, 12:48:43
Das kurzzeitige Datenbankproblem war der Provider, da wir- um den Server überhaupt noch zu halten - Dienste kurzzeitig stoppen mussten.

Ich habe jetzt mal das Monitoring für die Load abgeschalten - dann muss nicht immer einer von uns nachschauen, wenn ihr am testen seid  ;) und unternehme vorerst bei Überlast nichts.
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: munzur am 05 Januar 2006, 13:04:24
Hallo!


@Atze: Ja mach mal ein Backup von der Tabelle und schicks mir mal nur aus neugier :)
Und leere dann mal die Tabelle und wenn der fehler noch besteht kannst ja die Tabelle mit dem Inhalt ja wieder herstelllen.


L.g
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Andi am 05 Januar 2006, 17:20:50
Moin :)

ich habe das hier auf meinem localhost getestet.
Ein Usergästebuch mit 5 Einträgen eines Users, mit jeweils mehreren hundert Zeilen Text (inkl. html), haben meinen Rechner fast zum einschlafen gebracht.
Als die Zeile auskommentiert war, war keinerlei besondere Last zu bemerken.

Es kann nur an dieser Funktion wordwrap2() liegen, die ist sehr serverlastig gecodet und ist das einzige was im Usergästebuch irgendwie auffällig ist.
Die Datenbankabfragen sind 08-15, nur ganz einfache Selects und pro Seitenaufruf auch nur Eine....
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 05 Januar 2006, 20:33:09
Hmm,
bringt nicht wirklich was!
Geht nicht, da fällt alles aus!


Bringt die Tabellen leeren was??
Vielleicht zu viel Spam drin??

Gruß
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 05 Januar 2006, 21:54:16
Hab noch festgestellt,
das unter 50 user eigentlich fast alles normal läuft bis auf gelegentliche Spitzen.
Aber über 70 User bremst es immer...  ???

Vielleicht hilfts...
Gruß



Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Andi am 05 Januar 2006, 23:02:54
hmmm, wenn es das nicht ist, noch ne andere Idee, mir ist gerade was aufgefallen...

Sämtliche Tabellenfelder der Usergästebuchtabelle nach denen gesucht und sortiert werden soll, sind nicht mit einem Index versehen.

Ändere mal die Usergästebuchtabelle mit folgenden 5 Befehlen per phpMyAdmin:

ALTER TABLE `mx_userguest` ADD INDEX `date` ( `date` )  ;
ALTER TABLE `mx_userguest` ADD INDEX wer( `wer` ) ;
ALTER TABLE `mx_userguest` ADD INDEX dummy( `dummy` ) ;
ALTER TABLE `mx_userguest` ADD INDEX touserid( `touserid` ) ;
ALTER TABLE `mx_userguest` ADD INDEX fromuserid( `fromuserid` ) ;


Wenn das dann auch nicht hilft, dann ist das Latein am Ende...
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 06 Januar 2006, 13:32:10
Hi,
jetzt hast mich erwischt!
Ich als nicht PHPMYADMIN Profi!

Blöde Frage von mir:
ZitatALTER TABLE `mx_userguest` ADD INDEX `date` ( `date` )  ;
ALTER TABLE `mx_userguest` ADD INDEX wer( `wer` ) ;
ALTER TABLE `mx_userguest` ADD INDEX dummy( `dummy` ) ;
ALTER TABLE `mx_userguest` ADD INDEX touserid( `touserid` ) ;
ALTER TABLE `mx_userguest` ADD INDEX fromuserid( `fromuserid` ) ;

Also genau diese Befehle in der Tabelle "user_guest" bei " SQL-Befehl(e) in Datenbank ausführen" einfügen und auf "OK" drücken  :-[ :D :)

DAnke Gruß
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: NeMeSiSX2LC am 06 Januar 2006, 13:35:17
Genau so  ;)
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Andi am 06 Januar 2006, 13:51:48
Äh,

wie üblich natürlich den Präfix anpassen ;)
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 06 Januar 2006, 14:16:39
ZitatADD INDEX `date` ( `date` )  ;

Das hier außerhalb der Klammer bei "date" auch noch ein Hochzeichen ist, ist korrekt??
Die anderen haben es nicht.

Ich hab den genannten Prefix  :)

Gruß
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Andi am 06 Januar 2006, 14:32:21
Ja, das ist richtig :)

date ist in mysql ein reserviertes Wort und ich weiss nicht wie verschiedene mysql-Versionen auf diesen Indexnamen reagieren. Die französischen Hochkomma's sagen mxsql. dass da ein Feld/Indexname kommt und kein reserviertes Wort.

Machs einfach, wenn Fehlermeldungen kommen, poste die hier ;)
Kaputtmachen kannste damit nichts.
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 06 Januar 2006, 15:44:37
Ihr SQL-Befehl wurde erfolgreich ausgeführt.
SQL-Befehl:
ALTER TABLE `mx_userguest` ADD INDEX `date` ( `date` ) ;# Betroffene Datensätze: 252700
ALTER TABLE `mx_userguest` ADD INDEX wer( `wer` ) ;# Betroffene Datensätze: 252700
ALTER TABLE `mx_userguest` ADD INDEX dummy( `dummy` ) ;# Betroffene Datensätze: 252700
ALTER TABLE `mx_userguest` ADD INDEX touserid( `touserid` ) ;# Betroffene Datensätze: 252700
ALTER TABLE `mx_userguest` ADD INDEX fromuserid( `fromuserid` ) ;# Betroffene Datensätze: 252700




Jetzt schau ma mal!
Gruß

P.S. Was ist das:      
gid,touser, text gibts auch noch??
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Andi am 06 Januar 2006, 16:27:30
Jo, gugg mal ;)

ZitatP.S. Was ist das:     
gid,touser, text gibts auch noch??

Nur Felder, nach denen sortiert, verknüpft oder gesucht wird, benötigen evtl. einen Index um diese Operationen zu beschleunigen. Andere Felder zu indexieren ist unnötig und verbraucht unnötig Speicherplatz.
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: NeMeSiSX2LC am 06 Januar 2006, 17:09:53
Was bewirkt das indexieren eigentlich genau?
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Atze am 06 Januar 2006, 17:29:35
Also der erste Eindruck hat mir vermittelt, das die Seite wesentlich besser und schneller ist.
Machnmal könnte man meinen das Problem war noch nie da.

Gelegentliche Lastspitzen verursachen kurzfristige Stockungen, aber danach ist wieder schneller. Höchste Userzahl bis jetzt 95 Stück.

Vielleicht gibts nochmal ein schräubchen an dem gedreht werden kann??
Den Fakt ist, ohne UserGB läuft besser  ???

Danke aber so weit, hat mir ernorm viel gebracht!
jetzt muß ich es wenigstens mom nicht mehr ausschalten.

Warten wir mal höhere Userzahlen ab, ich melde mich wieder  ;)

Gruß Atze
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: Andi am 06 Januar 2006, 18:14:57
Hört sich mal gut an ;)


Zitat von: NeMeSiSX2LC am 06 Januar 2006, 17:09:53
Was bewirkt das indexieren eigentlich genau?

Hmm, denke das zu erklären sprengt den Rahmen dieses Forums.
Kann ich auch nicht ;)

http://dev.mysql.com/doc/refman/4.0/de/mysql-optimisation.html
http://dev.mysql.com/doc/refman/4.0/de/indexes.html
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: RiotheRat am 06 Januar 2006, 18:56:35
Zitat von: Atze am 06 Januar 2006, 17:29:35Vielleicht gibts nochmal ein schräubchen an dem gedreht werden kann??

Du bist doch bei Yellohost, oder? Frag mal Frank oder Dana ob man nachts (wenn alles schläft) einen Cron laufen lassen kann der die DB optimiert. Dann werden die Tabellen neu aufgebaut und auch der Index neu geschrieben. Grade bei Tabellen mit häufigen Schreib,- und/oder Löschoperationen kann das sehr wohl was bringen.

RtR
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: jubilee am 06 Januar 2006, 19:16:15
Hallo !
ZitatSämtliche Tabellenfelder der Usergästebuchtabelle nach denen gesucht und sortiert werden soll, sind nicht mit einem Index versehen.
Jo, der ist irgenwo verloren gegangen. Hab ich auch überhaupt nicht mehr drauf geachtet ...

MfG
jubilee
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: NeMeSiSX2LC am 06 Januar 2006, 19:53:43
Zitat von: Andi am 06 Januar 2006, 18:14:57
Hört sich mal gut an ;)


Zitat von: NeMeSiSX2LC am 06 Januar 2006, 17:09:53
Was bewirkt das indexieren eigentlich genau?

Hmm, denke das zu erklären sprengt den Rahmen dieses Forums.
Kann ich auch nicht ;)

http://dev.mysql.com/doc/refman/4.0/de/mysql-optimisation.html
http://dev.mysql.com/doc/refman/4.0/de/indexes.html

Supi wieder bissel schlauer THX
Titel: Re: Usergästebuch bremst die Seite aus?!
Beitrag von: selin01 am 07 Juni 2006, 01:10:41
Bei mir gebe ich folgendes ein ...

ALTER TABLE `nuke_userguest` ADD INDEX `date` ( `date` )  ;
ALTER TABLE `nuke_userguest` ADD INDEX wer( `wer` ) ;
ALTER TABLE `nuke_userguest` ADD INDEX dummy( `dummy` ) ;
ALTER TABLE `nuke_userguest` ADD INDEX touserid( `touserid` ) ;
ALTER TABLE `nuke_userguest` ADD INDEX fromuserid( `fromuserid` ) ;


und raus kommt ...

SQL-Befehl:

ALTER TABLE `nuke_userguest` ADD INDEX `date` ( `date` )