Beste,
de laadtijd van mijn website is erg traag. Dit wil ik wel omhoog hebben ook voor me bezoekers/klanten, want dit lijkt me een ergernis.
Ik ben dus nu op zoek naar iemand die mij hier mee kan helpen om de oorzaak te vinden?
Alvast bedankt!

Laadtijd website
-
-
Guest, wil je besparen op je domeinnamen? (ad)
-
Heb je specificaties van je server ?
Wat Opencart maakt je website normaal niet zo traag. Alsook, waar is je server gelegen? Desnoods help ik je vanavond of van't weekend.Aanvulling: laad je externe images, javascript e.d. ? Want als die website traag is, vertraagt het ook jouw website.
Werk je ook met cache e.d.?
-
Besturingsysteem: Linux
Webhosting: Webhosting Pro (Hostnet)
Opslagruimte: 5GBIk werk met OpenCart die gebruik maakt van een cache systeem.
alle images worden geladen vanaf de server zelf.als je me zou kunnen helpen graag!
-
Besturingsysteem: Linux
Webhosting: Webhosting Pro (Hostnet)
Opslagruimte: 5GBIk werk met OpenCart die gebruik maakt van een cache systeem.
alle images worden geladen vanaf de server zelf.als je me zou kunnen helpen graag!
Hallo.
Hoe groot is de opencart die je erop hebt staan?
-
Hmm... daar kan ik nu geen antwoord meer opgeven. aangezien alle images, categorieën en producten ook al erop gezet zijn.
-
Ok, maar wordt er eventuele externe js geladen ? Het is handiger als je een link vrijgaf
-
http://tools.pingdom.com/fpt/#…GY/http://www.svgshop.nl/
17.51 seconden nodig om te laden. Daar kan je zien wat er mis gaat.Bv:
http://www.svgshop.nl/catalog/…esheet/images/loading.gif Bestaat niet. -
De betreffende tool van Ferhat is inderdaad een mooie manier om dit eens te bekijken. Zijn conclusies kloppen alleen wat minder. Als je de resultaten bekijkt, wordt er in mijn geval 15 seconde gewacht op de index-pagina. Bij het opbouwen van die pagina is er dus iets bijzonder traag. Waarschijnlijk ligt dat aan je PHP-code (?) of aan je database.
-
Die tools zijn inderdaad handig en kan ik goed gebruiken.
Inderdaad afbeeldingen die niet bestaan moet ik eruit gaan filteren omdat dit teveel vraagtijd eist.Wat betreft externe js die worden wel geladen i.v.m jquery e.d
Waar ik ook aan zit te denken en ben tegen gekomen in mijn onderzoek waarom OpenCart zo traag is is vanwege het feit (Misschien) omdat alle categorieën op iedere pagina worden geladen door het menu (incl. dropdown). Maar dit kan ik niet weghalen omdat ik het menu gewoon nodig heb.
Ik zal de tool is ff flink gaan bekijken en kijken of ik met die resultaten de laadtijd sneller kan maken.
want zeg nou zelf 15 sec is absurd hoog? :O
-
Als je op het pijltje duwt per item, zie je meer informatie ook die soms nuttig is. Tevens is er geen goede cache, doe is een cache in je .htaccess
-
Hoe kan ik een cache in me .htacces doen? Sorry beetje noobie met .htacces :p
-
http://www.askapache.com/htacc…ith-htaccess-caching.html geeft genoeg informatie daarvoor. Want ik zie dat je ook 3.000 + producten hebt. Zijn heel wat images. Kan je dus best cachen.
-
Thanks, ik kom er alleen helaas niet uit welke cache ik het beste kan gebruiken..
-
Als ik naar de resultaten van pingdom.com kijk, ligt het niet aan de plaatjes. Als ik je grootste plaatje (Klik) laad, en vervolgens opnieuw laad (Ctrl + F5) dan is dit binnen 1 seconde geladen.
Ik denk dat of je index.php erg traag is, en aangezien al je pagina's via de index.php gaan, je hele site traag loopt. Of de server is gewoon weg erg traag en kan PHP niet snel genoeg uitvoeren. Kan je achter de specs komen van de server?
-
Fouten in je html en php?
http://validator.w3.org/check?…29&doctype=Inline&group=0
En zet error reporting eens aan
-
Hmm... ik weet niet of het aan de index ligt maar zoals het er nu naar uit ziet wel. Ik ben nu eerst de Performance Grade aan het oplossen. Zodat alles wordt gecached enz.
-
Wat zijn de server specs?
-
Het ligt aan de laadtijd van de index-pagina, dat is overduidelijk. De server specs zullen daarvan niet de oorzaak zijn, daarvoor is deze laadtijd te lang.
Drie verschillende oorzaken kan ik bedenken:
- De PHP-code is erg traag, waarschijnlijk door veel database query's.
- De database is erg traag, door slechte configuratie of een slecht schema.
- De server staat onder zware load.En dan staan ze op volgorde van waarschijnlijkheid...
Kun je de PHP code van de index pagina, om eens te beginnen, eens posten?
-
Daar ben ik het niet mee eens.
Ik kan bijvoorbeeld op mijn server, "zware PHP-code's" draaien zonder moeite. Zet ik deze codes op een server met trage hardware, dan krijg ik het zelfde resultaat.
Daarnaast heb ik dit zelfde probleem met een hardware database script wat ik ergens draai. Puur vanwege verouderde hardware.
Maar ik zeg niet dat dit het geval is, ik denk dat dit een optie of factor kan zijn.
-
Dit is de code van de index.php
PHP
Toon Meer<?php // Version define('VERSION', '1.5.5.1');// Configuration if (file_exists('config.php')) { require_once('config.php'); } // Install if (!defined('DIR_APPLICATION')) { header('Location: install/index.php'); exit; }// VirtualQMOD require_once('./vqmod/vqmod.php'); $vqmod = new VQMod();// VQMODDED Startup require_once($vqmod->modCheck(DIR_SYSTEM . 'startup.php'));// Application Classes require_once($vqmod->modCheck(DIR_SYSTEM . 'library/customer.php')); require_once($vqmod->modCheck(DIR_SYSTEM . 'library/affiliate.php')); require_once($vqmod->modCheck(DIR_SYSTEM . 'library/currency.php')); require_once($vqmod->modCheck(DIR_SYSTEM . 'library/tax.php')); require_once($vqmod->modCheck(DIR_SYSTEM . 'library/weight.php')); require_once($vqmod->modCheck(DIR_SYSTEM . 'library/length.php')); require_once($vqmod->modCheck(DIR_SYSTEM . 'library/cart.php'));// Registry $registry = new Registry();// Loader $loader = new Loader($registry); $registry->set('load', $loader);// Config $config = new Config(); $registry->set('config', $config);// Database $db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE); $registry->set('db', $db);// Store if (isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1'))) { $store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`ssl`, 'www.', '') = '" . $db->escape('https://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'"); } else { $store_query = $db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`url`, 'www.', '') = '" . $db->escape('http://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'"); }if ($store_query->num_rows) { $config->set('config_store_id', $store_query->row['store_id']); } else { $config->set('config_store_id', 0); } // Settings $query = $db->query("SELECT * FROM " . DB_PREFIX . "setting WHERE store_id = '0' OR store_id = '" . (int)$config->get('config_store_id') . "' ORDER BY store_id ASC");foreach ($query->rows as $setting) { if (!$setting['serialized']) { $config->set($setting['key'], $setting['value']); } else { $config->set($setting['key'], unserialize($setting['value'])); } }if (!$store_query->num_rows) { $config->set('config_url', HTTP_SERVER); $config->set('config_ssl', HTTPS_SERVER); }// Url $url = new Url($config->get('config_url'), $config->get('config_secure') ? $config->get('config_ssl') : $config->get('config_url')); $registry->set('url', $url);// Log $log = new Log($config->get('config_error_filename')); $registry->set('log', $log);function error_handler($errno, $errstr, $errfile, $errline) { global $log, $config; switch ($errno) { case E_NOTICE: case E_USER_NOTICE: $error = 'Notice'; break; case E_WARNING: case E_USER_WARNING: $error = 'Warning'; break; case E_ERROR: case E_USER_ERROR: $error = 'Fatal Error'; break; default: $error = 'Unknown'; break; } if ($config->get('config_error_display')) { echo '<b>' . $error . '</b>: ' . $errstr . ' in <b>' . $errfile . '</b> on line <b>' . $errline . '</b>'; } if ($config->get('config_error_log')) { $log->write('PHP ' . $error . ': ' . $errstr . ' in ' . $errfile . ' on line ' . $errline); } return true; } // Error Handler set_error_handler('error_handler');// Request $request = new Request(); $registry->set('request', $request); // Response $response = new Response(); $response->addHeader('Content-Type: text/html; charset=utf-8'); $response->setCompression($config->get('config_compression')); $registry->set('response', $response); // Cache $cache = new Cache(); $registry->set('cache', $cache); // Session $session = new Session(); $registry->set('session', $session);// Language Detection $languages = array();$query = $db->query("SELECT * FROM `" . DB_PREFIX . "language` WHERE status = '1'"); foreach ($query->rows as $result) { $languages[$result['code']] = $result; }$detect = '';if (isset($request->server['HTTP_ACCEPT_LANGUAGE']) && $request->server['HTTP_ACCEPT_LANGUAGE']) { $browser_languages = explode(',', $request->server['HTTP_ACCEPT_LANGUAGE']); foreach ($browser_languages as $browser_language) { foreach ($languages as $key => $value) { if ($value['status']) { $locale = explode(',', $value['locale']); if (in_array($browser_language, $locale)) { $detect = $key; } } } } }if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages) && $languages[$session->data['language']]['status']) { $code = $session->data['language']; } elseif (isset($request->cookie['language']) && array_key_exists($request->cookie['language'], $languages) && $languages[$request->cookie['language']]['status']) { $code = $request->cookie['language']; } elseif ($detect) { $code = $detect; } else { $code = $config->get('config_language'); }if (!isset($session->data['language']) || $session->data['language'] != $code) { $session->data['language'] = $code; }if (!isset($request->cookie['language']) || $request->cookie['language'] != $code) { setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $request->server['HTTP_HOST']); } $config->set('config_language_id', $languages[$code]['language_id']); $config->set('config_language', $languages[$code]['code']);// Language $language = new Language($languages[$code]['directory']); $language->load($languages[$code]['filename']); $registry->set('language', $language); // Document $registry->set('document', new Document()); // Customer $registry->set('customer', new Customer($registry));// Affiliate $registry->set('affiliate', new Affiliate($registry));if (isset($request->get['tracking'])) { setcookie('tracking', $request->get['tracking'], time() + 3600 * 24 * 1000, '/'); } // Currency $registry->set('currency', new Currency($registry));// Tax $registry->set('tax', new Tax($registry));// Weight $registry->set('weight', new Weight($registry));// Length $registry->set('length', new Length($registry));// Cart $registry->set('cart', new Cart($registry));// Encryption $registry->set('encryption', new Encryption($config->get('config_encryption'))); // Front Controller $controller = new Front($registry);// SEO URL's $controller->addPreAction(new Action('common/seo_url')); // Maintenance Mode $controller->addPreAction(new Action('common/maintenance')); // Router if (isset($request->get['route'])) { $action = new Action($request->get['route']); } else { $action = new Action('common/home'); }// Dispatch $controller->dispatch($action, new Action('error/not_found'));// Output $response->output(); ?>
Participate now!
Heb je nog geen account? Registreer je nu en word deel van onze community!