Jump to content

Very Slow Site 6 - 20 Seconds to load


Recommended Posts

Hi,

 

according to www.pingdom.com my website funkyfashionjewellery.co.uk takes between 6 - 20 seconds to load.

 

I have ticked all the cache options in Advanced Paramaters/Performance but it hasn't made much difference.

 

My host JustHost has cache software called CloudFlare which I setup but there's still a problem. It still takes 4 - 12 seconds.

 

Any ideas please.

 

Best wishes,

 

Dahl 

Link to comment
Share on other sites

Think this is the bit you've asked for.

 

Stopwatch (with SQL_NO_CACHE) (total = 210)

24.023 ms SELECT SQL_NO_CACHE p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, MAX(product_attribute_shop.id_product_attribute) id_product_attribute, product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity, pl.`description`, pl.`description_short`, pl.`available_now`, pl.`available_later`, pl.`link_rewrite`, pl.`meta_description`, pl.`meta_keywords`, pl.`meta_title`, pl.`name`, MAX(image_shop.`id_image`) id_image, il.`legend`, m.`name` AS manufacturer_name, cl.`name` AS category_default, DATEDIFF(product_shop.`date_add`, DATE_SUB(NOW(), INTERVAL 20 DAY)) > 0 AS new, product_shop.price AS orderprice FROM `ps_category_product` cp LEFT JOIN `ps_product` p ON p.`id_product` = cp.`id_product` INNER JOIN ps_product_shop product_shop ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1) LEFT JOIN `ps_product_attribute` pa ON (p.`id_product` = pa.`id_product`) LEFT JOIN ps_product_attribute_shop product_attribute_shop ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 1 AND product_attribute_shop.`default_on` = 1) LEFT JOIN ps_stock_available stock ON (stock.id_product = p.id_product AND stock.id_product_attribute = IFNULL(`product_attribute_shop`.id_product_attribute, 0) AND stock.id_shop = 1 ) LEFT JOIN `ps_category_lang` cl ON (product_shop.`id_category_default` = cl.`id_category` AND cl.`id_lang` = 2 AND cl.id_shop = 1 ) LEFT JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = 2 AND pl.id_shop = 1 ) LEFT JOIN `ps_image` i ON (i.`id_product` = p.`id_product`) LEFT JOIN ps_image_shop image_shop ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1 AND image_shop.cover=1) LEFT JOIN `ps_image_lang` il ON (image_shop.`id_image` = il.`id_image` AND il.`id_lang` = 2) LEFT JOIN `ps_manufacturer` m ON m.`id_manufacturer` = p.`id_manufacturer` WHERE product_shop.`id_shop` = 1 AND cp.`id_category` = 2 AND product_shop.`active` = 1 AND product_shop.`visibility` IN ("both", "catalog") GROUP BY product_shop.id_product ORDER BY cp.`position` ASC LIMIT 0,10
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/Category.php:651
0 rows browsed

9.181 ms SELECT SQL_NO_CACHE h.id_hook, h.name as h_name, title, description, h.position, live_edit, hm.position as hm_position, m.id_module, m.name, active FROM `ps_hook` h INNER JOIN `ps_hook_module` hm ON (h.id_hook = hm.id_hook AND hm.id_shop = 1) INNER JOIN `ps_module` as m ON (m.id_module = hm.id_module) ORDER BY hm.position
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/Hook.php:187
USING FILESORT - 255 rows browsed

7.209 ms SELECT SQL_NO_CACHE image_shop.id_image, p.id_product, il.legend, product_shop.active, pl.name, pl.description_short, pl.link_rewrite, cl.link_rewrite AS category_rewrite FROM ps_product p INNER JOIN ps_product_shop product_shop ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1) LEFT JOIN ps_product_lang pl ON (pl.id_product = p.id_product AND pl.id_shop = 1 ) LEFT JOIN ps_image i ON (i.id_product = p.id_product) LEFT JOIN ps_image_shop image_shop ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1 AND image_shop.cover=1) LEFT JOIN ps_image_lang il ON (il.id_image = i.id_image) LEFT JOIN ps_category_lang cl ON (cl.id_category = product_shop.id_category_default AND cl.id_shop = 1 ) WHERE p.id_product IN (480,481) AND pl.id_lang = 2 AND cl.id_lang = 2 GROUP BY product_shop.id_product
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/modules/blockviewed/blockviewed.php:116
USING FILESORT - 4 rows browsed
Useless GROUP BY need to be removed

6.801 ms SELECT SQL_NO_CACHE * FROM `ps_product` a LEFT JOIN `ps_product_lang` `b` ON a.id_product = b.id_product AND b.id_lang = 2 LEFT JOIN `ps_product_shop` `c` ON a.id_product = c.id_product AND c.id_shop = 1 WHERE (a.id_product = 408) AND (b.id_shop = 1) LIMIT 1
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/ObjectModel.php:212
1 row browsed

6.58 ms SELECT SQL_NO_CACHE cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, cp.id_shop, pl.`name`, p.`is_virtual`, pl.`description_short`, pl.`available_now`, pl.`available_later`, p.`id_product`, product_shop.`id_category_default`, p.`id_supplier`, p.`id_manufacturer`, product_shop.`on_sale`, product_shop.`ecotax`, product_shop.`additional_shipping_cost`, product_shop.`available_for_order`, product_shop.`price`, p.`weight`, stock.`quantity` quantity_available, p.`width`, p.`height`, p.`depth`, stock.`out_of_stock`, product_shop.`active`, p.`date_add`, p.`date_upd`, IFNULL(stock.quantity, 0) as quantity, pl.`link_rewrite`, cl.`link_rewrite` AS category, CONCAT(cp.`id_product`, IFNULL(cp.`id_product_attribute`, 0), IFNULL(cp.`id_address_delivery`, 0)) AS unique_id, cp.id_address_delivery, product_shop.`wholesale_price`, product_shop.advanced_stock_management, ps.product_supplier_reference supplier_reference, NULL AS customization_quantity, NULL AS id_customization, product_attribute_shop.`price` AS price_attribute, product_attribute_shop.`ecotax` AS ecotax_attr, IF (IFNULL(pa.`reference`, '') = '', p.`reference`, pa.`reference`) AS reference, (p.`weight`+ pa.`weight`) weight_attribute, IF (IFNULL(pa.`ean13`, '') = '', p.`ean13`, pa.`ean13`) AS ean13, IF (IFNULL(pa.`upc`, '') = '', p.`upc`, pa.`upc`) AS upc, pai.`id_image` as pai_id_image, il.`legend` as pai_legend, IFNULL(product_attribute_shop.`minimal_quantity`, product_shop.`minimal_quantity`) as minimal_quantity FROM `ps_cart_product` cp LEFT JOIN `ps_product` `p` ON p.`id_product` = cp.`id_product` INNER JOIN `ps_product_shop` product_shop ON (product_shop.id_shop=cp.id_shop AND product_shop.id_product = p.id_product) LEFT JOIN `ps_product_lang` `pl` ON p.`id_product` = pl.`id_product` AND pl.`id_lang` = 2 AND pl.id_shop = cp.id_shop LEFT JOIN `ps_category_lang` `cl` ON product_shop.`id_category_default` = cl.`id_category` AND cl.`id_lang` = 2 AND cl.id_shop = cp.id_shop LEFT JOIN `ps_product_supplier` `ps` ON ps.id_product=cp.id_product AND ps.id_product_attribute=cp.id_product_attribute AND ps.id_supplier=p.id_supplier LEFT JOIN ps_stock_available stock ON (stock.id_product = cp.id_product AND stock.id_product_attribute = IFNULL(`cp`.id_product_attribute, 0) AND stock.id_shop = 1 ) LEFT JOIN `ps_product_attribute` `pa` ON pa.`id_product_attribute` = cp.`id_product_attribute` LEFT JOIN `ps_product_attribute_shop` `product_attribute_shop` ON (product_attribute_shop.id_shop=cp.id_shop AND product_attribute_shop.id_product_attribute = pa.id_product_attribute) LEFT JOIN `ps_product_attribute_image` `pai` ON pai.`id_product_attribute` = pa.`id_product_attribute` LEFT JOIN `ps_image_lang` `il` ON il.id_image = pai.id_image AND il.id_lang = 2 WHERE (cp.`id_cart` = 29) AND (p.`id_product` IS NOT NULL) GROUP BY unique_id ORDER BY p.id_product, cp.id_product_attribute, cp.date_add ASC
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/Cart.php:497
0 rows browsed
Useless GROUP BY need to be removed

6.048 ms SELECT SQL_NO_CACHE h.`name` as hook, m.`id_module`, h.`id_hook`, m.`name` as module, h.`live_edit` FROM `ps_module` m INNER JOIN `ps_hook_module` hm ON hm.`id_module` = m.`id_module` INNER JOIN `ps_hook` h ON hm.`id_hook` = h.`id_hook` LEFT JOIN `ps_module_group` `mg` ON mg.`id_module` = m.`id_module` WHERE ((SELECT COUNT(*) FROM ps_module_shop ms WHERE ms.id_module = m.id_module AND ms.id_shop IN (1)) = 1) AND (h.name != "displayPayment") AND (hm.id_shop = 1) AND (mg.`id_group` IN (1)) GROUP BY hm.id_hook, hm.id_module ORDER BY hm.`position`
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/Hook.php:296
USING FILESORT - 765 rows browsed

5.728 ms SELECT SQL_NO_CACHE p.id_product, pl.`link_rewrite`, pl.`name`, pl.`description_short`, MAX(image_shop.`id_image`) id_image, il.`legend`, ps.`quantity` AS sales, p.`ean13`, p.`upc`, cl.`link_rewrite` AS category FROM `ps_product_sale` ps LEFT JOIN `ps_product` p ON ps.`id_product` = p.`id_product` INNER JOIN ps_product_shop product_shop ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1) LEFT JOIN `ps_product_lang` pl ON p.`id_product` = pl.`id_product` AND pl.`id_lang` = 2 AND pl.id_shop = 1 LEFT JOIN `ps_image` i ON (i.`id_product` = p.`id_product`) LEFT JOIN ps_image_shop image_shop ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1 AND image_shop.cover=1) LEFT JOIN `ps_image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = 2) LEFT JOIN `ps_category_lang` cl ON cl.`id_category` = product_shop.`id_category_default` AND cl.`id_lang` = 2 AND cl.id_shop = 1 WHERE product_shop.`active` = 1 AND p.`visibility` != 'none' AND p.`id_product` IN ( SELECT cp.`id_product` FROM `ps_category_group` cg LEFT JOIN `ps_category_product` cp ON (cp.`id_category` = cg.`id_category`) WHERE cg.`id_group` = 1 ) GROUP BY product_shop.id_product ORDER BY sales DESC LIMIT 0, 5
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/ProductSale.php:162
USING FILESORT - 4 rows browsed

3.441 ms INSERT INTO `ps_connections_page` (`id_connections`, `id_page`, `time_start`) VALUES ('20037', '1', '2014-03-14 11:47:30')
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/Connection.php:96

3.025 ms SELECT SQL_NO_CACHE c.`name`, cl.`id_lang`, IF(cl.`id_lang` IS NULL, c.`value`, cl.`value`) AS value, c.id_shop_group, c.id_shop FROM `ps_configuration` c LEFT JOIN `ps_configuration_lang` cl ON (c.id_configuration = cl.id_configuration)
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/Configuration.php:116
503 rows browsed

1.082 ms SELECT SQL_NO_CACHE m.`id_module`, m.`name`, (SELECT COUNT(*) FROM `ps_module_shop` ms WHERE m.`id_module` = ms.`id_module` AND ms.`id_shop` = 1) as total FROM `ps_module` m
in /home5/markcoo1/public_html/funkyfashionjewellery.co.uk/classes/module/Module.php:163
97 rows browsed

Edited by Dahl99 (see edit history)
Link to comment
Share on other sites

I don't know. Do I not need them and if not can I turn them off?

 

then I assume someone set this up for you?  it looks as though you redirect to get /gb/  but that is just a guess..

 

as far and pingdom, I think you making much to do about nothing...pingdom is not the ultimate all knowing perf gauge.

 

you have 88/100 google speed score, from the US your shop is decently fast enough...

Link to comment
Share on other sites

I set it up myself but I did not setup a redirect to /gb/ I assumed that was something Prestashop did. Thought it was some sort of code that worked out your location and redirected to it. How can I stop that?

 

The server is in the USA but I'm in the UK.

Link to comment
Share on other sites

hard to say why this is happening, I would look at the .htaccess for redirect and also if there is anything done via your hosting control panel...you hosting company may also be able to assist you.  But it's not a native PrestaShop behavior.

Link to comment
Share on other sites

it looks like you have installed (at least) one redirect for non www to www

 

most likely your ping test are bad because each is going to issue that ugly redirect.

 

I'd back up (at least print off) the cpanel redirects and then remove them and test...

 

this you can place in the top of your .htaccess  for non www to www

# Redirect non-www to www:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Link to comment
Share on other sites

Mmmm. Tried to delete the redirects but they seem to reappear or I have lots of similar looking ones. Either way the site won't display as it's coming up with..........................

This webpage has a redirect loop
Link to comment
Share on other sites

First your website is not loading right now it shows http://funkyfashionjewellery.co.uk/gb/ in url with 404 not fount.

Try to turn off and on Friendly Url setting.

 

Also note that image from post 12, that is how Cpanel see prestashop generated htaccess file that is all ok and you should not edit that in Cpanel or htaccess. If you need to add something to htaccess add before or after comment or using one Mr. El Patrons nice module.

 

And about performance I saw on google cached page that you do not have CCC option activated so check that first regarding speed

http://www.prestashop.com/en/top-tips have some more basic tips that you can try.

Link to comment
Share on other sites

Thank you for info.

 

The 302 redirects disappeared in my cpanel but somehow have now reappeared. I noticed when I ftp'd to my site someone, I'm guessing my hosting tech support changed the htaccess file to htaccess.bak I've renamed it but just getting the 404 page now.

 

Where is the friendly url setting. I know it's there somewhere but my minds gone blank.

Link to comment
Share on other sites

Thank you. Knew it was there somewhere.

 

According to my BO CCC option is activated.

 

My shop has restored now to an extent. Some images are missing even after I regenerated thumbnails. 

 

My original post was about the shops speed now after all this it's even slower.

Link to comment
Share on other sites

  • 6 months later...

Uninstall all Modules you don't need, trust me there are lots enabled and not used.

 

Check displaytop and displayheader to see which modules are listed, be careful not to remove, better to disable first, check, then uninstall, make sure you know what you are doing.

 

avoid running top sellers, best sellers in the home page.

 

you should have now more than 50 queries running on homepage, as of march 2014, you have 210! yes i know its a lot, but thats silly that PS default comes out of the box with that...

 

 

defer parsing of javascript to the end (can enable this option in 1.6)

 

Even on shared hosting should load under 300ms

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...