Jump to content
xt:Commerce Community Forum

Beschleunigen der Shop Suche


eurogard

Recommended Posts

Hallo,

die Shop suche ist bei uns sehr langsam (parse Time von 7 - 15 sec)

welche möglichkeiten gibt es diese z beschleunigen bei 50000 Artikeln.

Die MySql Datenbank wurde schon dahin optimiert das bei Aufruf der Seite und Kategorien eine Parse Time von 0,3 - 0,6 sec zustande kommt.

Jemand schon die gleichen Probleme gehabt???

LG

Bernd Alfers

Link to comment
Share on other sites

hi,

eine andere Möglichkeit wäre ( wie hier auch schon gefragt ), eine Kategorien-Vorauswahl per Dropdown oder checkboxen einzubauen. Ist dann auch eine Art Navigation, bei der dem Kunden nochmal das ganze Sortiment vor die Nase gehalten wird - ist doch auch nicht schlecht.

Das sollte sich mit ( relativ ) wenig Aufwand machen lassen.

Grüsse

Link to comment
Share on other sites

Hallo,

der Server ist im moment gar nicht ausgelastet.

wir haben im Moment max 10 besucher zur Zeit (Gartengeräte)

Als Server wird ein 1und1 root server mit 8 Prozessoren und 16 GB Arbeitsspeicher eingesetzt. Speicher Auslastung im Moment bei 5 %.

Alleine das Aufrufen der erweiterten suche dauert 7 sec.

Link to comment
Share on other sites

Hallo oldbear

1.Frage: Shopversion

2.Frage: Neueste Version von mzanier im Einsatz ( mehrere Suchbegriffe ) -> war im Forum zum Downloaden, habe die modifiziert, da mehrere Suchbegriffe im Feld "weitere Suchbegriffe" nicht implementiert war

Grüsse

zu 1 Veyton 4.0.13

zu 2 Ja brachte aber auch keinen Geschwindigkeits zuwachs

Link to comment
Share on other sites

Hallo,

der Server ist im moment gar nicht ausgelastet.

wir haben im Moment max 10 besucher zur Zeit (Gartengeräte)

Als Server wird ein 1und1 root server mit 8 Prozessoren und 16 GB Arbeitsspeicher eingesetzt. Speicher Auslastung im Moment bei 5 %.

Alleine das Aufrufen der erweiterten suche dauert 7 sec.

Ist das ein einzelner root server, oder ein vServer?

Also Ihr seid da alleine drauf?

Und schick mal dir URL gerne auch per PN, das würde ich mir gerne angucken.

Und wenn vorhanden Daten zum MySQL Dienst, also was der so machen darf:

Speicher

threads

etc....

Link to comment
Share on other sites

Ist das ein einzelner root server, oder ein vServer?

Also Ihr seid da alleine drauf?

Und schick mal dir URL gerne auch per PN, das würde ich mir gerne angucken.

Und wenn vorhanden Daten zum MySQL Dienst, also was der so machen darf:

Speicher

threads

etc....

Hallo,

Ja unser Root server mit 3 Datenbanken

url Gartentechnik Shop für Rasenmäher, Rasentraktor & Gartengeräte

einträge in die my.cnf

[mysqld]

large-pages

set-variable=local-infile=0

port            = 3306

socket          = /var/lib/mysql/mysql.sock

skip-locking

key_buffer = 256M

max_allowed_packet = 1M

thread_stack = 512K

thread_cache_size = 32

thread_concurrency = 8

table_cache = 1024

join_buffer_size =8M

tmp_table_size = 32M

max_heap_table_size = 32M

sort_buffer_size = 2M

net_buffer_length = 8K

read_buffer_size = 2M

read_rnd_buffer_size =2M

myisam_sort_buffer_size = 8M

query_cache_limit       = 2M

query_cache_size        = 128M

query_cache_type        = 1

query_cache_min_res_unit = 8K

max_connections         = 500

LG

Link to comment
Share on other sites

Hallo hier nochmal ein auszug aus der log-slow-queries.log

[# Query_time: 6  Lock_time: 0  Rows_sent: 37  Rows_examined: 19347

SELECT DISTINCT m.manufacturers_id FROM  xt_manufacturers m  LEFT JOIN xt_products p ON p.manufacturers_id = m.manufacturers_id  left JOIN xt_products_permission group_permission ON (group_permission.pid = p.products_id and group_permission.pgroup = 'group_permission_1' )   left JOIN xt_manufacturers_permission shop ON (shop.pid = m.manufacturers_id and shop.pgroup = 'shop_2' )  WHERE   m.manufacturers_id != '0' and p.products_status = '1'  and m.manufacturers_status = '1'   and group_permission.permission IS NULL  and shop.permission IS NULL ORDER BY   m.manufacturers_name;

vieleicht hat ja jemand eine Idee!!!

LG

Link to comment
Share on other sites

Nimm bitte mal die Query, pack noch ein EXPLAIN vor das SELECT und führ die Query über PHPMYADMIN in der Shop-Datenbank aus. Das Ergebnis poste mal hier.

Hallo hier nochmal ein auszug aus der log-slow-queries.log

[# Query_time: 6  Lock_time: 0  Rows_sent: 37  Rows_examined: 19347

SELECT DISTINCT m.manufacturers_id FROM  xt_manufacturers m  LEFT JOIN xt_products p ON p.manufacturers_id = m.manufacturers_id  left JOIN xt_products_permission group_permission ON (group_permission.pid = p.products_id and group_permission.pgroup = 'group_permission_1' )   left JOIN xt_manufacturers_permission shop ON (shop.pid = m.manufacturers_id and shop.pgroup = 'shop_2' )  WHERE   m.manufacturers_id != '0' and p.products_status = '1'  and m.manufacturers_status = '1'   and group_permission.permission IS NULL  and shop.permission IS NULL ORDER BY   m.manufacturers_name;

vieleicht hat ja jemand eine Idee!!!

LG

Link to comment
Share on other sites

hi,

also rein vom sql-code ist die query über die Left-Joins eh schon so performant wie möglich ausgelegt - wenns zu langsam ist, ist Veyton da nicht schuld ... eine Multishop-System, das wie hier über die permissons gesteuert wird, kann halt nicht anders.

Wenns wirklich zu langsam ist - Datenbank-Server und Shopserver auf zwei Server verteilen - selbst kritische User finden die Performance von Veyton per se beindruckend

Grüsse

Link to comment
Share on other sites

Also in meinem alten Veyton-Testsystem fehlen der Query 2 Indizes, da die Query über 2 Tabellen (products & manufacturers) einen Full Scan gemacht hat. Mit passendem Index wurde die Abfrage bei mir ca. 5 mal schneller. Und ich hatte nur 1000 Produkte und 8 Hersteller in der DB. Bei größeren Datenbanken mag der Performancegewinn noch größer sein.

Daher doch bitte einmal das EXPLAIN Ergebnis posten, vielleicht sind in neueren Versionen die Indizes ja schon drin, dann wüsst ich auch keinen Rat.

Und die Query bitte einmal auch so wie im Log ausführen und die Querytime posten.

Link to comment
Share on other sites

Also in meinem alten Veyton-Testsystem fehlen der Query 2 Indizes, da die Query über 2 Tabellen (products & manufacturers) einen Full Scan gemacht hat. Mit passendem Index wurde die Abfrage bei mir ca. 5 mal schneller. Und ich hatte nur 1000 Produkte und 8 Hersteller in der DB. Bei größeren Datenbanken mag der Performancegewinn noch größer sein.

Daher doch bitte einmal das EXPLAIN Ergebnis posten, vielleicht sind in neueren Versionen die Indizes ja schon drin, dann wüsst ich auch keinen Rat.

Und die Query bitte einmal auch so wie im Log ausführen und die Querytime posten.

Hallo,

die Indexe waren gesetzt.

Ich hatte aber noch alte kategorienstrukturen die ich deaktiviert oder gelöscht habe und seitdem läuft der Shop etwas besser.

Die suche dauert jetzt ca 3,5 sec

Das aufrufen der erweiterten suche ca 2,7 sec

Sind zwar noch keine optimalen Ergebnisse aber schon wesentlich besser wie vorher-

LG

Link to comment
Share on other sites

Welche Indexe hat die Query für `xt_products` & `xt_manufacturers` tatsächlich genutzt? Ich kann dir evtl. helfen, aber dafür brauch ich erstmal die angefragten Informationen.

Möglicherweise hat die Query nichts mit der Suche zu tun, aber wenn sie im slow-query-log steht, stimmt damit was nicht und sollte behoben werden.

Hallo,

die Indexe waren gesetzt.

Ich hatte aber noch alte kategorienstrukturen die ich deaktiviert oder gelöscht habe und seitdem läuft der Shop etwas besser.

Die suche dauert jetzt ca 3,5 sec

Das aufrufen der erweiterten suche ca 2,7 sec

Sind zwar noch keine optimalen Ergebnisse aber schon wesentlich besser wie vorher-

LG

Link to comment
Share on other sites

Archived

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

×
  • Create New...