Just4fun Posted April 8, 2008 Report Share Posted April 8, 2008 Hallo, wir haben in unserem shop ca 15 000 Artikel der ist aber so langsam das es nimmer geht das dauert alles ewig. Server ist dein VDS bei Internet X, was stimmt da nicht es dauert alles ewig und 2 tage. die suche geht gar nicht richtig das dauert auch alles. gruß Link to comment Share on other sites More sharing options...
Sirmad Posted April 8, 2008 Report Share Posted April 8, 2008 wie wäre es denn mal mit einem leistungsstarkeren server ? Rootserver mit schön viel Arbeitsspeicher und einer schnellen Cpu... Eventuell sollte man das ganze auch auf 2 Server auslegen der Apache auf einem eigenen und die Datenbank auf dem anderen... Link to comment Share on other sites More sharing options...
tutsn Posted April 8, 2008 Report Share Posted April 8, 2008 Das ist bei 15.000 Artikeln dann wohl doch etwas übertrieben. Auf einem guten WebPack von HostEurope sind 15.000 Artikel überhaupt kein Problem, dafür braucht man wirklich keine teuren root-Server. Zumindest solange man nicht 10.000 Besucher am Tag hat. wie wäre es denn mal mit einem leistungsstarkeren server ? Rootserver mit schön viel Arbeitsspeicher und einer schnellen Cpu... Eventuell sollte man das ganze auch auf 2 Server auslegen der Apache auf einem eigenen und die Datenbank auf dem anderen... Link to comment Share on other sites More sharing options...
mikkel Posted April 9, 2008 Report Share Posted April 9, 2008 Hallo, wir haben in unserem shop ca 15 000 Artikel der ist aber so langsam das es nimmer geht das dauert alles ewig. Server ist dein VDS bei Internet X, was stimmt da nicht es dauert alles ewig und 2 tage. die suche geht gar nicht richtig das dauert auch alles. gruß Mojn, bei einem Bekannten -www.elektrohandel-roll.de- der ca. 6000 Artikel hat und bei 1und1 gehostet ist, gabs ähnliche Probleme und Mahnung von 1und1 wegen zuviel Trafic auf dem DB-Server. 1. Haben den DB-Cache eingeschaltet im Admin - Cache. Das führte zwar zur deutlichen Traffic-Entlastung aber das /cache Verzeichnis lief voll. Dafür musste erst im XT was geändert werden. 2. Den größten Gewinn in Sachen Tempo gabs, als wir die MySQL Datenbank von einer 5er ind eine 4er kopiert haben. Lt. 1und1 haben die Probleme mit der MySQL Version 5. Vielleicht hilft dir dieser Erfahrungsbericht. Viele Grüße Michael Link to comment Share on other sites More sharing options...
John Steed Posted April 9, 2008 Report Share Posted April 9, 2008 aber das /cache Verzeichnis lief voll. Dafür musste erst im XT was geändert werden. Darf man fragen, was ihr da geändert habt? In unserem DB-Cache liegen schon so viele Files, dass ich da mit FTP gar nicht mehr rankomme Generell kann man vieles tun, um den Shop zu beschleunigen. Tipps dazu findet man zahlreich hier im Forum (z.B. anzeige neuer Artikel und der Artikelanzahl hinter den Kategorien ausschalten, nicht benötigte Boxen aus der boxes.php auskommentieren, Suchfunktion nicht in der Artikelbeschreibung suchen lassen, und letztendlich: SQL-Queries optimieren, wobei letzteres fast schon eine Lebensaufgabe ist und eigentlich von den Entwicklern erledigt werden sollte ) Und zur eigentlichen Frage: Hier im Forum sind Leute unterwegs, die haben XT mit einigen Optimierungen erfolgreich für zehntausende oder gar hunderttausende Artikel laufen. Bei solchen Dimensionen ist ein Root Server aber schon von Vorteil - egal wo Cheers, IaN Link to comment Share on other sites More sharing options...
mikkel Posted April 10, 2008 Report Share Posted April 10, 2008 Darf man fragen, was ihr da geändert habt? In unserem DB-Cache liegen schon so viele Files, dass ich da mit FTP gar nicht mehr rankomme :-)) Bei uns war es nach 10 Tagen mit Cache kurz vorm Exitus, da die Anzahl der Files und der verfügbare Platz fast erreicht war... Um es mir einfach zu machen und nicht zu viel Zeit an der Stelle zu investieren habe ich eine nicht ganz elegante, aber dafür sehr effektive und vor allem funktionierende Methode gewählt. Ich habe ein kleine Funktion geschrieben, die einfach die Files im /cache/ brutal löscht, wenn sie älter sind als die im Admin eingestellte Cache-Life-Time. (Bei uns auf 1200 gestellt !). Dann die Funktion im Index des Templates aufgerufen. (Ich weiss - das kostet zwar etwas Zeit, da es nun jedesmal aufgerufen wird - aber bei der Menge an Code der in der application_top aufgerufen wird, fällt das auch nicht mehr auf...). Dann für den Admin-Teil das Cache disabled, da es hier zu "lustigen" Effekten beim Export z.B. kam (nicht durch das Löschen sondern durch den Cache überhaupt) function losch_cache(){ /// löschen der Cache DB Files !!! if(!file_exists(SQL_CACHEDIR))return; $handle=opendir(SQL_CACHEDIR); while ($file = readdir ($handle)) { if ($file != "index.html" && $file != "." && $file != ".." && (substr($file,-4)=='.xtc' OR substr($file,-5)=='.html') ) { if (file_exists(SQL_CACHEDIR.$file) && filemtime(SQL_CACHEDIR.$file) < (time() - DB_CACHE_EXPIRE)) { if (file_exists(SQL_CACHEDIR.$file)) @unlink(SQL_CACHEDIR.$file); } } } closedir($handle); return; } Übrigens gabs noch ein doofes Problem mit der Suche bzw. mit dem vom Provider zugelassenen Memory und einer hohen Anzahl gefundenen Artikel mit aufwendiger Description. Hierzu musst ich die splitPageResults ein wenig trimmen... Und zur eigentlichen Frage: Hier im Forum sind Leute unterwegs, die haben XT mit einigen Optimierungen erfolgreich für zehntausende oder gar hunderttausende Artikel laufen. Bei solchen Dimensionen ist ein Root Server aber schon von Vorteil - egal wo Klar - ein Root-Server ist immer von Vorteil... Leider ist das nun mal nicht ganz billig und wir bewegen uns im OpenSource Bereich und wollen alle möglichst kostengünstig auskommen. Wenn einmal die Anzahl der Besucher/Bestellungen pro Tag die Anzahl der eingestellten Artikel übersteigt, kann man sich auch ne Sun 10k mit InterShop leisten..:-)) Link to comment Share on other sites More sharing options...
tobi030 Posted June 27, 2008 Report Share Posted June 27, 2008 :-)) Bei uns war es nach 10 Tagen mit Cache kurz vorm Exitus, da die Anzahl der Files und der verfügbare Platz fast erreicht war... Um es mir einfach zu machen und nicht zu viel Zeit an der Stelle zu investieren habe ich eine nicht ganz elegante, aber dafür sehr effektive und vor allem funktionierende Methode gewählt. Ich habe ein kleine Funktion geschrieben, die einfach die Files im /cache/ brutal löscht, wenn sie älter sind als die im Admin eingestellte Cache-Life-Time. (Bei uns auf 1200 gestellt !). Dann die Funktion im Index des Templates aufgerufen. (Ich weiss - das kostet zwar etwas Zeit, da es nun jedesmal aufgerufen wird - aber bei der Menge an Code der in der application_top aufgerufen wird, fällt das auch nicht mehr auf...). Dann für den Admin-Teil das Cache disabled, da es hier zu "lustigen" Effekten beim Export z.B. kam (nicht durch das Löschen sondern durch den Cache überhaupt) function losch_cache(){ /// löschen der Cache DB Files !!! if(!file_exists(SQL_CACHEDIR))return; $handle=opendir(SQL_CACHEDIR); while ($file = readdir ($handle)) { if ($file != "index.html" && $file != "." && $file != ".." && (substr($file,-4)=='.xtc' OR substr($file,-5)=='.html') ) { if (file_exists(SQL_CACHEDIR.$file) && filemtime(SQL_CACHEDIR.$file) < (time() - DB_CACHE_EXPIRE)) { if (file_exists(SQL_CACHEDIR.$file)) @unlink(SQL_CACHEDIR.$file); } } } closedir($handle); return; } Übrigens gabs noch ein doofes Problem mit der Suche bzw. mit dem vom Provider zugelassenen Memory und einer hohen Anzahl gefundenen Artikel mit aufwendiger Description. Hierzu musst ich die splitPageResults ein wenig trimmen... Klar - ein Root-Server ist immer von Vorteil... Leider ist das nun mal nicht ganz billig und wir bewegen uns im OpenSource Bereich und wollen alle möglichst kostengünstig auskommen. Wenn einmal die Anzahl der Besucher/Bestellungen pro Tag die Anzahl der eingestellten Artikel übersteigt, kann man sich auch ne Sun 10k mit InterShop leisten..:-)) Hallo habe deinen Beitrag gelesen.. sorry für die Frage aber ich weiss noch nicht genau wo ich es einbinden muss. Könnt Ihr mir vielleicht direckt sagen wo ich es machen muss. Danke in vorraus... Link to comment Share on other sites More sharing options...
mikkel Posted June 27, 2008 Report Share Posted June 27, 2008 Hallo Tobi030, ich habe meine Templates etwas anders als "normal" gemacht - daher habe ich es im Template einsetzten können. Du kannst es in der /index.php einbauen. Die Funktion ganz ans Ende des Programms (oder auch als externe Datei - wie du magst) nach dem letzten Befel "include ('includes/application_bottom.php');" und den Funktionsaufruf setzt du vor der Zeile $smarty->display(CURRENT_TEMPLATE.'/index.html'); einfach: losch_cache(); Viele Erfolg! Michael Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.