Jump to content
xt:Commerce Community Forum

Optimierung Datenbank


Frank_Roe

Recommended Posts

Hallo,

wir benötigen professionelle Hilfe bei der Optimierung unserer Datenbank. Zurzeit sind in unserem Shop zirka 5000 Produkte. Wir haben bemerkt, je mehr Produkte wir hinzufügen (wir benutzten JTL-Wawi) desto langsamer wird der Shop.

Habe einige Tipps aus den Forum, die man über den Adminbereich ändern kann, schon ausprobiert, jedoch ist keine Änderung in der Schnelligkeit bemerkbar.

Da wir wenig bis gar kein Wissen/Erfahrung über PHP/MySql haben, suchen wir professionelle Hilfe.

Hat bereits jemand die Optimierung durchführen lassen und kann uns einen Dienstleister empfehlen?

Wir sind für jeden Tipp dankbar!

Viele Grüße,

Frank

Link to comment
Share on other sites

Wir stehen vor dem selben Problem.

Es ist definitiv der Datenbank-Server, welcher das System ausbremst.

Testweise haben wir diesen schon auf einem anderen Rechner (ausgestattet mit zwei Intel-Quad-Core-Prozessoren und 8GB RAM) installiert, allerdings ohne nennenswerte Verbesserungen.

Das derzeitige Durchführen des Standard-SQL-Statements, welches sich die Informationen aus der Datenbank zieht, dauert durchschnittlich 72 Sekunden.

Ich habe die Datenbank daraufhin in einen MSSQL-Server importiert und das selbe Statement (und das sogar OHNE jegliche Indizes) durchgeführt. Obwohl der Datenbank-Server gerade erst initialisiert wurde, betrug die Ausführzeit unter einer Sekunde. Jedes weitere Ausführen nahe Null.

Kennst jemand Tips und/oder Tricks um die Performance zu erhöhen? Denn so ist das definitiv nicht aktzeptabel.

Link to comment
Share on other sites

Wir stehen vor dem selben Problem.

Es ist definitiv der Datenbank-Server, welcher das System ausbremst.

Mojn

Redest du von MySQL ?

Welche DB Version 4 oder 5?

Ich habe bei einem bei 1und1 gehosteten Shop (6000 Artikel) grossen Erfolg gehabt, nachdem ich die DB von Verison 5 eine 4 kopiert habe.

Viele Grüße - Michael

Link to comment
Share on other sites

Das derzeitige Durchführen des Standard-SQL-Statements, welches sich die Informationen aus der Datenbank zieht, dauert durchschnittlich 72 Sekunden.

Da ist wohl der Server komplett falsch konfiguriert. Oder ihr habt eine riesige Datenbank ohne Indizes.

Link to comment
Share on other sites

Guten Tag,

wir haben Version 14.12, Distribution 5.0.45 (x64) des MySQL-Servers installiert.

Indizies sind (laut der netten MySQL-Methode EXPLAIN) vorhanden und werden auch von der Datenbank verwendet.

Der MySQL-Datenbankserver sollte korrekt konfiguriert sein, da XT-Commerce die einzige Anwendung ist, welche Performance-Probleme aufweist. (So gesehen ist dies vor allem eine der kleinsten Datenbanken, welche wir online haben.)

@Dangerfreak: Ich werde deinem Rat mal nachgehen.

Vielen Dank schonmal für eure raschen Antworten :)

Link to comment
Share on other sites

@dangerfreak: Vielen Dank! Mit deiner Vermutung hattest du offenbar 100% richtig gelegen. Kaum habe ich dieses Index erzeugt, läuft der Shop unvergleichbar schneller (das Statement dauert nach der Initialisierung nur noch 0.3 Sekunden - beim 2. mal dann nur noch 0.004 Sekunden).

Vielen Dank nocheinmal :)

PS: Ist dieses Problem den Entwicklern von XT-Commerce bereits mitgeteilt worden? Soweit ich das durch google.de erblicken konnte, scheine ich ja nicht der Einzige zu sein.

Dieses Index sollte ja dann wohl auch in die Install-SQL-Files aufgenommen werden..

Link to comment
Share on other sites

PS: Ist dieses Problem den Entwicklern von XT-Commerce bereits mitgeteilt worden? Soweit ich das durch google.de erblicken konnte, scheine ich ja nicht der Einzige zu sein.

Dieses Index sollte ja dann wohl auch in die Install-SQL-Files aufgenommen werden..

Der Index macht nur in Shops Sinn, der wie Ihrer mehrere 1000 Produkte hat und sollte auch nur dann angelegt werden.

Ein Index auf die Tabelle in einem Shop mit wenig Produkten, kann auch die umgekehrte Wirkung haben...

Siehe auch http://www.xt-commerce.com/bugs/view.php?id=392 zur Problembeschreibung

Link to comment
Share on other sites

  • 1 month later...

Da ist wohl der Server komplett falsch konfiguriert. .

Ich bin wohl ein Laie und melde mich zu Wort da unser Hoster ratlos ist und nicht den Eindruck erweckt uns helfen zu wollen. Gemäss unserem Hoster werden bei unserem Shop fortlaufend unzählige "Logs" erstellt welche die Site enorm verlangsamen.

kurz facts:

PHP 5.2.0

circa 2500 Artikel

Top Dedicaded Server

Apache 2.0

Zend Engine zur beschlaunigung läuft auch bereits

Es werden keine Fehlermeldugnen angezeigt. Abfragen dauern sehr lange - bis hin zum Time out.

Hat jemand eine Idee was seitens der Serverkonfiguration geändert werden muss?

Link to comment
Share on other sites

  • 3 weeks later...

Hallo Community,

wir haben etwa 50.000 Artikel im Shop und planen nochmal so viele ein zu stellen. Dafür haben wir uns eine Datanormimportschnittstelle gebaut.

Mit dem oben genannten Index auf die Kategorien hat sich die "Auflistungsperformence" auch zufriedenstellend geändert.

Da meine Importroutine die Artikel auch nach Merkmalen zusammenfasst, solange diese ordentlich parsebar sind, werden eine Menge Artikeloptionen produziert. Das wiederum macht die Suchperformance unermesslich langsam Zeiten bis zu 600 Sekunden sind hier keine Seltenheit. Für dem Shop ist das natürlich Gift.

Wie ich gesehen habe durchsucht XTC auch die Artikelmerkmale.

Meine Frage ist nun, ob hier schon einmal jemand Erfahrungen gemacht hat und ob jemand mir einige nette Strukturen für weitere Indizes nennen kann. Die Datenbankgröße ist dabei unerheblich.

Ich habe Vollzugriff auf alle Serverfunktionen. (OPENSUSE10.1/MySQL5.0.18/PHP5.1.2/PERL5.8.8)

Über einen Erfahrungsaustausch würde ich mich freuen.

Mopox

Link to comment
Share on other sites

  • 4 weeks later...

ich habe festgestellt, dass das modul "kunden, die diesen artikel gekauft haben, haben auch folgende artikel gekauft" die ladezeit der produktdetailansicht unglaublich stark bremst. mit dieser option liegt die ladezeit eines weniger bekannten artikels bei 6 sekunden, ohne bei unter 1 sekunde. sofern es sich um einen beliebten artikel handelt, neben dem noch viele andere artikel gekauft wurden, liegt die ladezeit auch schon mal bei 60 sekunden. wie gesagt, modul rausgenommen und schon liegt die zeit konstant bei unter 1 sek.

rausnehmen kann man es in der datei {root}/includes/modules/product info.php (ca. zeile 170): diese codezeile auskommentieren:

include (DIR_WS_MODULES.FILENAME_ALSO_PURCHASED_PRODUCTS);

natürlich ist auskommentieren nur eine quick-and-dirty lösung. besser ist, man schaut sich das modul genau an und stellt fest, warum es so lange braucht. sofern jemand da was rausfindet, wäre es nett, hier in diesem thread darüber zu lesen. auf dauer wollen wir nämlich schon noch das modul wieder einsetzen.

Link to comment
Share on other sites

Da meine Importroutine die Artikel auch nach Merkmalen zusammenfasst, solange diese ordentlich parsebar sind, werden eine Menge Artikeloptionen produziert. Das wiederum macht die Suchperformance unermesslich langsam Zeiten bis zu 600 Sekunden sind hier keine Seltenheit. Für dem Shop ist das natürlich Gift.

Hier empfiehlt es sich die Suche in den Artikeloptionen abzuschalten oder die SQL Anweisung auf mehrere kleinere Queries aufzuteilen.

Hab mir gerade die products_attributes Tabelle angesehen und ja wie satzone schon erwähnt hat, fehlt hier ein Index. Und zwar auf products_id -> steigert Performance beachtlich.

Weiters sollte man die SQL Ausführungszeit mitmessen. So kommt man schnell an die Abfragen, welche die Datenbank zu stark belasten. Hier sollte man dann entsprechend optimieren. Man kann so einiges an Zeit rausholen, ein Zehntel hier, ein Zehntel da und schon ist der Shop schon flotter.

So weit ich mich errinere, sind die neuen Produkte der aktuellen Kategorie auch eine starke Bremse bei vielen Produkten in der Kategorie.

Link to comment
Share on other sites

  • 3 months later...
  • 3 months later...

Hab mir gerade die products_attributes Tabelle angesehen und ja wie satzone schon erwähnt hat, fehlt hier ein Index. Und zwar auf products_id -> steigert Performance beachtlich.

Hallo, habe auch das problem das manche Aufrufe im Shop sehr lange dauern, wie lege ich diesen Index an ?

Edit: Schon gefunden, sind alle da !

Danke

Stefan

Link to comment
Share on other sites

  • 6 months later...

Hallo,

ich habe das Problem bei mir gefunden.

In der Datenbank auf products_to_categories gehen, fals jetzt rechts unter Indizes Nur ein Primary für products_id angezeigt wird, einen Index für products_id anlegen und den Primary löschen.

Den Index anlegen da geht ihr auf " products to categories "

Jetzt seht ihr rechts die Felder

"Feld, Typ, Kollation, Attribute, Null, Standard, Extra, Aktion"

Unter " Feld " steht " products_id " in der Spalte kommen unter " Aktion " mehrere Buttons, der rechte erstellt einen Index ;-)

Hoffe euch geholfen zu haben.

Stefan

Link to comment
Share on other sites

  • 4 weeks later...

Hallo,

ich habe das Problem bei mir gefunden.

In der Datenbank auf products_to_categories gehen, fals jetzt rechts unter Indizes Nur ein Primary für products_id angezeigt wird, einen Index für products_id anlegen und den Primary löschen.

Den Primary Key würde ich auf keinen Fall löschen! Eher Indizes auf product_id UND categories_id anlegen...

BBKing

Link to comment
Share on other sites

  • 1 month later...

Einige Anmerkungen zu diesem Thema habe ich unter Performance notiert.

Dennoch bin ich nicht glücklich mit der Gesamtleistung des Systems und vermute, dass ich über die Konfiguration von Apache und PHP mehr herausholen könnte. Leider finde ich hier keine konstruktiven Lösungsvorschläge. Ein Providerwechsel mag dieses Problem lösen, bringt aber in aller Regel neue Probleme mit sich.

Könnte mir bitte jemand über Erfahrungen mit Optimizern, Speichereinstellungen, Anzahl Threads etc. weiterhelfen?

MySQL lässt sich mit den o.a. Werkzeugen sehr gut in den Griff bekommen.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...