ut2k3 Posted September 2, 2004 Report Share Posted September 2, 2004 Hi Wir haben Windows 2003 Webserver mit xampp ein shop l?uft auf oscommerce und der neue soll auf xt commerce neuestes Release laufen. Beide Shops 27000 Artikel davon ca 3000 aktiv im Shopsystem. Meine Frage : Beim oscommerce l?uft alles sehr schnell und der gleiche Inhalt braucht beim xtcommerce ohne bilder ne halbe Ewigkeit. Also wenn ich z.b. die Seite neu lade passiert 30-60 sekunden garnichts dann kommt sie schnell. Beim Aufruf der Seite liegt die CPU-Last des Mysqlservers bei 99% f?r l?ngere Zeit ,selbst wenn die Seite schon geladen ist. Bei oscommerce aber bei 30- max 50. Woran liegt das ? danke f?r eure Antworten. Link to comment Share on other sites More sharing options...
ut2k3 Posted September 2, 2004 Author Report Share Posted September 2, 2004 anschauen k?nnt ihr dieses Problem unter http://xtstore.anekado.de = xtcommerce www.anekado.de = oscommerce Link to comment Share on other sites More sharing options...
chrengelke Posted September 2, 2004 Report Share Posted September 2, 2004 moin 2700 artikel das geht noch. aber ab 6000 ca ist er komplett tot. es liegt an den bestsellers und oder new products. ich hab die removed und es l?uft. gru? christian Link to comment Share on other sites More sharing options...
anekado Posted September 3, 2004 Report Share Posted September 3, 2004 Danke f?r die Info. Aber beide Shops sind identisch im Aufbau (Bestseller, Neue Produkte), siehe vergleich: http://www.anekado.de = osCommerce http://xtstore.anekado.de = XTCommerce Gleicher Server, gleiche Platte, gleiche Verzeichnistiefe. Komisch ist, das sobald man im XT-Admin ist, das XT-Backoffice sehr schnell ist. Auch die Seiten wie Anmelden, Impressum, AGBs usw. wo keine neue Produkte aus der Datenbank geholt werden m?ssen und angezeigt werden, sind total langsam, selbst der Shopaufruf dauert ewig. Chache ist eingeschaltet. Abschalten von Bestseller, Neue Produkte ist nicht gew?nscht und kann nicht Sinn sein, andere Shops mit identischen Aufbau laufen super schnell (vergleich http://shop.xadox.de). Wenns daran liegen sollte, warum l?uft dann der Shop auf osCommerce mit gleichen Einstellungen relativ schnell. Sobald eine Seite im XT-Shop aufgerufen wird geht der Server auf Vollast (mysqlxx.exe) 100% Systemlast und das ?ber l?ngere Zeit (30-60s), beim Seitenaufruf im osCommerce geht er nur sehr kurz auf max. 20-30% (1-2s) Systemlast und sofort wieder zur?ck. Ein paar technische Daten zum Server-System: - nix Shared, einzel Server im Schlund Rechenzentrum - 2,8 GHz P4 -1024 MB RAM - schnelle Platte - super Serverbenchmarks - technisch ist alles OK Bitte gebt uns Tips, wie wir der Sache auf die Schliche kommen, Danke.und gute Nacht. anekado.de Team XTCommerce - ShoposCommerce - Shop Link to comment Share on other sites More sharing options...
mzanier Posted September 3, 2004 Report Share Posted September 3, 2004 smarty braucht ne menge performance. evtl solte man hier mit ner zend engine und TTruck oder IONcube arbeiten. probleme k?nnen schon am server sein, zb beim mysql internen SQL cache, cache tabellen zu gro? etc. wenn das teil zu schwach ist, muss man ein SQL caching in den shop einbauen (ab v3.0 enthalten) 30.000 artikel sind eigentlich kein problem zb http://www.best-electronics.net/ ca 60.000 datens?tze (deu-eng) jedoch l?uft hier apache, suse und xtc:SQL cache. Link to comment Share on other sites More sharing options...
Hubi Posted September 3, 2004 Report Share Posted September 3, 2004 Hast Du GZip-Kompression eingeschaltet bei dem XTC und wenn ja, auf welchem Level? Link to comment Share on other sites More sharing options...
ut2k3 Posted September 3, 2004 Author Report Share Posted September 3, 2004 ist ausgeschaltet Link to comment Share on other sites More sharing options...
Hubi Posted September 3, 2004 Report Share Posted September 3, 2004 Irgendwas am code ge?ndert oder ein addon eingebaut? Link to comment Share on other sites More sharing options...
ut2k3 Posted September 3, 2004 Author Report Share Posted September 3, 2004 nichts am code ge?ndert so viel ich wei? ... nur halt das template Link to comment Share on other sites More sharing options...
khan_thep Posted September 3, 2004 Report Share Posted September 3, 2004 Zitat von zend.com Zend WinEnabler? - Running PHP on Windows The Zend WinEnabler eliminates the need for the unreliable IIS and Apache PHP modules, because it opens several PHP processes simultaneously. It saves time and CPU by utilizing a pool of PHP processes instead of launching PHP each time. Zend also leveraged its intimate knowledge of the Zend Engine to optimize its performance with the Zend WinEnabler, resulting in a fast PHP runtime environment. --------------------------------------------------------------------------- H?ngt mit der Prozessarchitektur zusammen. Daran f?hrt aif Windows Servern kein weg vorbei. Mit dem WinEnabler mu? es aber keine Beschr?nkungen mehr geben, hat mir zumindest ein befreundeter Sysadmin erz?hlt. --------------------------------------------------------------------------- Bei Shopprojekten auf Linux Servern hat sich in der Vergangenheit bei gro?er Artikelanzahl in der das Generieren der Liste der "Neuen produkte" als Engpass erwiesen (hier wird ein gigantischer Array erzeugt). Nach Limitierung auf ein gesundes Mass gibt es keine Probleme - auch Shops mit >30.000 laufen auf SharedHost Paketen superschnell - auch ohne Active QC. Bei Dir liegt es aber an etwas anderem - denn Dein Warenkorb, Impressum ... ben?tigt ja auch ewig. Ich hoffe, da? Du bald eine gute L?sung findest. Link to comment Share on other sites More sharing options...
Hubi Posted September 3, 2004 Report Share Posted September 3, 2004 nichts am code ge?ndert so viel ich wei? ... nur halt das template Doch, die Bestsellerliste ist ver?ndert worden. Poste doch mal den Inhalt von dein_Template/sources/boxes/bestsellers.php Link to comment Share on other sites More sharing options...
anekado Posted September 4, 2004 Report Share Posted September 4, 2004 Hallo hier der Code: "best_sellers.php" <?php /* ----------------------------------------------------------------------------------------- $Id: best_sellers.php,v 1.4 2004/03/25 08:31:41 fanta2k Exp $ XT-Commerce - community made shopping http://www.xt-commerce.com Copyright © 2003 XT-Commerce ----------------------------------------------------------------------------------------- based on: © 2000-2001 The Exchange Project (earlier name of osCommerce) © 2002-2003 osCommerce(best_sellers.php,v 1.20 2003/02/10); www.oscommerce.com © 2003 nextcommerce (best_sellers.php,v 1.10 2003/08/17); www.nextcommerce.org Released under the GNU General Public License ----------------------------------------------------------------------------------------- Third Party contributions: Enable_Disable_Categories 1.3 Autor: Mikel Williams | [email protected] Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ // reset var $box_smarty = new smarty; $box_content=''; $box_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/'); // include needed functions require_once(DIR_FS_INC . 'xtc_row_number_format.inc.php'); //fsk18 lock $fsk_lock=''; if ($_SESSION['customers_status']['customers_fsk18_display']=='0') { $fsk_lock=' and p.products_fsk18!=1'; } if (GROUP_CHECK=='true') { $group_check="and p.group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'"; } if (isset($current_category_id) && ($current_category_id > 0)) { $best_sellers_query = xtc_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and c.categories_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' and p.products_id = p2c.products_id ".$fsk_lock." ".$group_check." and p2c.categories_id = c.categories_id and '" . $current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS); } else { $best_sellers_query = xtc_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c where p.products_status = '1' and c.categories_status = '1' ".$group_check." and p.products_ordered > 0 and p.products_id = pd.products_id ".$fsk_lock." and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS); } if (xtc_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) { $rows = 0; $box_content=array(); while ($best_sellers = xtc_db_fetch_array($best_sellers_query)) { $rows++; $image=''; if ($best_sellers['products_image']) $image=DIR_WS_INFO_IMAGES . $best_sellers['products_image']; $box_content[]=array( 'ID'=> xtc_row_number_format($rows), 'NAME'=> $best_sellers['products_name'], 'IMAGE' => $image, 'PRICE'=>xtc_get_products_price($best_sellers['products_id'],$price_special=1,$quantity=1), 'LINK'=> xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id'])); } $box_smarty->assign('box_content', $box_content); $box_smarty->assign('language', $_SESSION['language']); // set cache ID if (USE_CACHE=='false') { $box_smarty->caching = 0; $box_best_sellers= $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_best_sellers.html'); } else { $box_smarty->caching = 1; $box_smarty->cache_lifetime=CACHE_LIFETIME; $box_smarty->cache_modified_check=CACHE_CHECK; $cache_id = $_SESSION['language']; $box_best_sellers= $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_best_sellers.html',$cache_id); } $smarty->assign('box_BESTSELLERS',$box_best_sellers); } ?> wir haben die Box deaktiviert, der Shop wird trotzdem nicht schneller, erst wenn wir die Produkte wieder rausnehmen wird er schneller. Habt Ihr noch andere Ideen warum der langsam gegen?ber den osCommerce ist? Danke anekado.de Link to comment Share on other sites More sharing options...
xadox Posted September 4, 2004 Report Share Posted September 4, 2004 Also ich habe mir das angeschaut wenn ich die index.php komplett ausklammerer also so: ------------------------------------------------------ include( 'includes/application_top.php'); // create smarty elements //$smarty = new Smarty; // include boxes //require(DIR_FS_CATALOG .'templates/'.CURRENT_TEMPLATE. '/source/boxes.php'); // the following cPath references come from application_top.php $category_depth = 'top'; if (isset($cPath) && xtc_not_null($cPath)) { $categories_products_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . $current_category_id . "'"); $cateqories_products = xtc_db_fetch_array($categories_products_query); if ($cateqories_products['total'] > 0) { $category_depth = 'products'; // display products } else { $category_parent_query = xtc_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . $current_category_id . "'"); $category_parent = xtc_db_fetch_array($category_parent_query); if ($category_parent['total'] > 0) { $category_depth = 'nested'; // navigate through the categories } else { $category_depth = 'products'; // category has no products, but display the 'no products' message } } } /* require(DIR_WS_INCLUDES . 'header.php'); include (DIR_WS_MODULES . 'default.php'); $smarty->assign('language', $_SESSION['language']); $smarty->caching = 0; $smarty->display(CURRENT_TEMPLATE . '/index.html'); $c_string='Powered by XT-Commerce'; */ echo 'test - keine angst alles noch da, ist nur auskommentiert'; echo $modified; ----------------------------------------------------------------------------------- ist es verdammt schnell schalte ich aber nur den smarty frei wirds langsam: ----------------------------------------------------------------- include( 'includes/application_top.php'); // create smarty elements $smarty = new Smarty; // include boxes require(DIR_FS_CATALOG .'templates/'.CURRENT_TEMPLATE. '/source/boxes.php'); // the following cPath references come from application_top.php $category_depth = 'top'; if (isset($cPath) && xtc_not_null($cPath)) { $categories_products_query = xtc_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . $current_category_id . "'"); $cateqories_products = xtc_db_fetch_array($categories_products_query); if ($cateqories_products['total'] > 0) { $category_depth = 'products'; // display products } else { $category_parent_query = xtc_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . $current_category_id . "'"); $category_parent = xtc_db_fetch_array($category_parent_query); if ($category_parent['total'] > 0) { $category_depth = 'nested'; // navigate through the categories } else { $category_depth = 'products'; // category has no products, but display the 'no products' message } } } /* require(DIR_WS_INCLUDES . 'header.php'); include (DIR_WS_MODULES . 'default.php'); $smarty->assign('language', $_SESSION['language']); $smarty->caching = 0; $smarty->display(CURRENT_TEMPLATE . '/index.html'); $c_string='Powered by XT-Commerce'; */ echo 'test - keine angst alles noch da, ist nur auskommentiert'; echo $modified; ---------------------------------------------------------------- liegt also am smarty, da er die boxen l?dt. gru? Andy Link to comment Share on other sites More sharing options...
ipod Posted September 4, 2004 Report Share Posted September 4, 2004 Ganz dumme Frage am Rande, welche Version von XTC verwendest Du. Ich hatte ?hnliches Problem bei vielen Artikeln in der 2.0 RC1.2. Nachdem ich Version v2.0 RC1.2 (24.09.04) Update verwende, ist das Problem beseitigt. Die Version v2.0 RC1.2 (24.09.04) Update finde ich ?brigens Spitze. Mein Kompliment an die Entwickler. Link to comment Share on other sites More sharing options...
schwarzer_Kater Posted September 4, 2004 Report Share Posted September 4, 2004 Gr??e, Update vom 24.09.04 ??? Hmm....im DB bereich steht es auch. Waran man mal wieder sieht Xt-Commerce ist seiner Zeit vorraus :-) gruz der Kater Link to comment Share on other sites More sharing options...
chrengelke Posted September 8, 2004 Report Share Posted September 8, 2004 moin... ich habe generell die performance probleme so gel?st, dass ich viele dinge in cache tabellen anlege die ich alle 12h per cronjob aktualisiere. gru? christian Link to comment Share on other sites More sharing options...
Hubi Posted September 8, 2004 Report Share Posted September 8, 2004 Versuch mal die Preisdarstellung aus den Bestsellern wieder rauszunehmen. Dabei muss er zweimal durch ne riesige Tabelle ackern. <?php /* ----------------------------------------------------------------------------------------- $Id: best_sellers.php,v 1.4 2004/03/25 08:31:41 fanta2k Exp $ XT-Commerce - community made shopping http://www.xt-commerce.com Copyright ? 2003 XT-Commerce ----------------------------------------------------------------------------------------- based on: ? 2000-2001 The Exchange Project (earlier name of osCommerce) ? 2002-2003 osCommerce(best_sellers.php,v 1.20 2003/02/10); [url]www.oscommerce.com[/url] ? 2003 nextcommerce (best_sellers.php,v 1.10 2003/08/17); [url]www.nextcommerce.org[/url] Released under the GNU General Public License ----------------------------------------------------------------------------------------- Third Party contributions: Enable_Disable_Categories 1.3 Autor: Mikel Williams | [email][email protected][/email] Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ // reset var $box_smarty = new smarty; $box_content=''; $box_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/'); // include needed functions require_once(DIR_FS_INC . 'xtc_row_number_format.inc.php'); //fsk18 lock $fsk_lock=''; if ($_SESSION['customers_status']['customers_fsk18_display']=='0') { $fsk_lock=' and p.products_fsk18!=1'; } if (GROUP_CHECK=='true') { $group_check="and p.group_ids LIKE '%c_".$_SESSION['customers_status']['customers_status_id']."_group%'"; } if (isset($current_category_id) && ($current_category_id > 0)) { $best_sellers_query = xtc_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_status = '1' and c.categories_status = '1' and p.products_ordered > 0 and p.products_id = pd.products_id and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' and p.products_id = p2c.products_id ".$fsk_lock." ".$group_check." and p2c.categories_id = c.categories_id and '" . $current_category_id . "' in (c.categories_id, c.parent_id) order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS); } else { $best_sellers_query = xtc_db_query("select distinct p.products_id, p.products_image, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_CATEGORIES . " c where p.products_status = '1' and c.categories_status = '1' ".$group_check." and p.products_ordered > 0 and p.products_id = pd.products_id ".$fsk_lock." and pd.language_id = '" . (int)$_SESSION['languages_id'] . "' order by p.products_ordered desc, pd.products_name limit " . MAX_DISPLAY_BESTSELLERS); } if (xtc_db_num_rows($best_sellers_query) >= MIN_DISPLAY_BESTSELLERS) { $rows = 0; $box_content=array(); while ($best_sellers = xtc_db_fetch_array($best_sellers_query)) { $rows++; $image=''; if ($best_sellers['products_image']) $image=DIR_WS_INFO_IMAGES . $best_sellers['products_image']; $box_content[]=array( 'ID'=> xtc_row_number_format($rows), 'NAME'=> $best_sellers['products_name'], 'IMAGE' => $image, //'PRICE'=>xtc_get_products_price($best_sellers['products_id'],$price_special=1,$quantity=1), 'LINK'=> xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $best_sellers['products_id'])); } $box_smarty->assign('box_content', $box_content); $box_smarty->assign('language', $_SESSION['language']); // set cache ID if (USE_CACHE=='false') { $box_smarty->caching = 0; $box_best_sellers= $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_best_sellers.html'); } else { $box_smarty->caching = 1; $box_smarty->cache_lifetime=CACHE_LIFETIME; $box_smarty->cache_modified_check=CACHE_CHECK; $cache_id = $_SESSION['language']; $box_best_sellers= $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_best_sellers.html',$cache_id); } $smarty->assign('box_BESTSELLERS',$box_best_sellers); } ?> nur das deaktivieren der Box im Template verhindert ja nicht, dass der Code trotzdem ausgef?hrt wird. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.