Hello,
I am using cscart for two years and I have this problem from the beginning. Very slow site especially in categories,filters and when you search.
In the first I had a shared host,then I moved to a VPS and now the last month I moved to a dedicated with the following setup: 2 [color=#444444][font=Helvetica, Arial, sans-serif][size=4]Xeon E5520(4quad),12GB RAM, 2 SSD drives in RAID. This is a monster for me. It can handles 30 VPS. Do you believe that my site is a little faster than a shared plan?[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]Here is my story to explain:[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]-Traffic 2000 user per day(very low)[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]-More than 8000 products online[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]-Lot of features and some of them more than 200 (colors)[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]-A lot of categories and sub-categories(150-200)[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]-Already connected with MaxCDN[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]-We have changed and tested all this config.php and htaccess mods[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif]-heavy custom template with custom addons[/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif]-disabled all addons which don't needed[/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif]-searchanize on[/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif][size=4]Same problem.Here is my Pingdom and Gtmetrix stats:[/size][/font][/color]
Pingdom tools:
Page size
1.5MB
Load time
4.29s
Requests
99
Perf. grade
88/100
Specify a Vary: Accept-Encoding header 66 Open
Leverage browser caching 68 Open
Serve static content from a cookieless domain 79 Open
Minimize redirects 94 Open
Remove query strings from static resources 98 Open
Specify a cache validator 98 Open
Avoid bad requests 100
Minimize request size 100
-Gtmetrix
Specify image dimensions F (0) 51% Images High
Combine images using CSS sprites F (27) 63% Images Medium
Remove unused CSS F (17.4) 63% CSS Low
Specify a Vary: Accept-Encoding header D (69) 90% Server High
Enable gzip compression C (72) 79% Server High
Leverage browser caching C (72) 53% Server High
Minify JavaScript C (75) 89% JS High
Use efficient CSS selectors F (0) 21% CSS Low
The people who build my site have made more than 50 cscart stores. And we are in dead end here. We think that the problem is the many features we have in the products. Also we found that this query:
[quote]SELECT SQL_CALC_FOUND_ROWS products.*, descr1.product as product, MIN(prices.price) as price, descr1.short_description, IF(descr1.short_description = '', descr1.full_description, '') as full_description, GROUP_CONCAT(IF(products_categories.link_type = 'M', CONCAT(products_categories.category_id, 'M'), products_categories.category_id)) as category_ids, products_categories.position, cscart_seo_names.name as seo_name FROM cscart_products as products LEFT JOIN cscart_product_features_values ON cscart_product_features_values.product_id = products.product_id AND cscart_product_features_values.lang_code = 'EL' LEFT JOIN (SELECT product_id, GROUP_CONCAT(cscart_product_features_values.variant_id) AS simple_variants FROM cscart_product_features_values WHERE lang_code = 'EL' GROUP BY product_id) AS pfv_simple ON pfv_simple.product_id = products.product_id LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id AND descr1.lang_code = 'EL' LEFT JOIN cscart_product_prices as prices ON prices.product_id = products.product_id AND prices.lower_limit = 1 INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id AND (cscart_categories.usergroup_ids = '' OR FIND_IN_SET(0, cscart_categories.usergroup_ids) OR FIND_IN_SET(1, cscart_categories.usergroup_ids)) AND cscart_categories.status IN ('A', 'H') LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = products.product_id AND cscart_seo_names.type = 'p' AND cscart_seo_names.dispatch = '' AND cscart_seo_names.lang_code = 'EL' WHERE 1 AND FIND_IN_SET('2073', simple_variants) AND products.company_id = 0 AND (products.usergroup_ids = '' OR FIND_IN_SET(0, products.usergroup_ids) OR FIND_IN_SET(1, products.usergroup_ids)) AND products.status IN ('A') AND prices.usergroup_id IN (0, 0, 1) GROUP BY products.product_id ORDER BY products_categories.position asc LIMIT 592, 16[/quote]
does [color=#444444][font=Helvetica, Arial, sans-serif][size=4]a lot of joins without indexes. This is really slow.[/size][/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif]Our server administrator (we have managed plan) says that we must go nginx. That the problem is the apache server. This is my last chance. But I don't know why to make my life so hard? I don't have the traffic for nginx.[/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif]Can anyone please help me?[/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif]All opinions would help![/font][/color]
[color=#444444][font=Helvetica, Arial, sans-serif]Thank you very much[/font][/color]