Jump to content

Layered Block is killing my server +20sec to load!


Recommended Posts

Hi to all, i'm working to make a online shop but i'm having bad results when i enter in a category, keeps loading more than 20 seconds... when i enter in a subcategory is more fast but is slow too. 

 

I have 137 products and 2678 combinations for now (it will grow)

Hardware info: 
VPS 4 cores
2GB Ram
SSD
Only this domain running
tested performance

Software info: 
PrestaShop 1.5.6.2
Load time: 22.908s
You'd better run your shop on a toaster
config: 29ms
constructor: 0ms
init: 16ms
checkAccess: 0ms
setMedia: 1ms
postProcess: 0ms
initHeader: 0ms
initContent: 22.384s
initFooter: 2ms
display: 474ms

Database info: 
DB type: DbPDO
SQL Queries: 331 queries
Time spent querying: 21.815s

here is the culprit (blocklayered.php):

Stopwatch (with SQL_NO_CACHE) (total = 331)

21768.484 ms SELECT SQL_NO_CACHE p.*, product_shop.*, product_shop.id_category_default, pl.*, MAX(image_shop.`id_image`) id_image, il.legend, m.name manufacturer_name, MAX(pa.id_product_attribute) id_product_attribute, DATEDIFF(product_shop.`date_add`, DATE_SUB(NOW(), INTERVAL 30 DAY)) > 0 AS new, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity FROM `ps_category_product` cp LEFT JOIN ps_category c ON (c.id_category = cp.id_category) 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_stock_available stock ON (stock.id_product = p.id_product AND stock.id_shop = 1 ) LEFT JOIN ps_product_lang pl ON (pl.id_product = p.id_product AND pl.id_shop = 1 AND pl.id_lang = 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` = 1) LEFT JOIN ps_manufacturer m ON (m.id_manufacturer = p.id_manufacturer) LEFT JOIN ps_product_attribute pa ON (p.id_product = pa.id_product) WHERE product_shop.`active` = 1 AND product_shop.`visibility` IN ("both", "catalog") AND c.nleft >= 9 AND c.nright <= 24 AND c.active = 1 AND p.id_product IN (2421,2500,3547,3548,3552,3925,3926,3941,3956,3995,3996,3997,3998,3999,4272,4274,4277,4287,5002,7263,7933,7935,8467,8477,8775,8779,8977,9018,9029,9065,9066,9067,9068,9555,9556,9557,9558,10300,10604,10605,10606,10749,10760,10935,10969,10970,10971,10980,11051,11052,11151,11153,21058,21059,21065,21066,22030,22103,22105,22106,22111,22113,32081,32091,32095,32096,32097,32099,32100,32111,36220,36300,36310,36400,36404,36405,36406,36407,36410,36411,36412,36500,38896,38898,38899,39400,39600,39700,39702,39720,80575,80576,80607,80634,83634) GROUP BY product_shop.id_product ORDER BY cp.position asc LIMIT 0,12
in /var/www/vhosts/xxxx/httpdocs/modules/blocklayered/blocklayered.php:1992
USING FILESORT - 7380 rows browsed

I've tried a lot of things, i've activated all caches (i've installed memcached in the server) with any apreciable result, i've been playing with mysql config with any result. 

 

 

 

 

 

 

 

Link to comment
Share on other sites

  • 4 months later...

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...