Jump to content

How to obsessively speed up Prestashop?


Recommended Posts

I'm focusing on the speed aspect now and doing further tuning. My goal is to make the store load feel "instant".

 

Below are my debugs stats for the various core pages. I am using a full page cache module, APC (64mb 2 seg ttls set), MaxCDN (3 parallels), mysql query cache 512mb, shared server with 2 x 100% (2.64mhz) max allowed utilization.

 

My page is taking 2-3 secs to render which is already fast enough. I'm looking to make this even faster. What is the next thing I should be looking at? (disable layered modules?, get a vps with more cores?, etc)

 

I also wanted to understand a few aspect of the load time in debug:

  1. When APC caches, which part does it cache? The "config:" or "init:" part?
  2. While my Full Page Cache module is doing a wonderful job, I see that "Hook processing:" contributes to most of the ms. Can I assume that Hook processing makes up the "initContent:" time? What is FPC not caching?
  3. Does it make a difference if I Disable vs Uninstall a module? I tried disabling the "Analytics and Stats" modules but it doesn't make a diff.

I'm looking to see what is the next impactful step to do. Hopefully some of you speed demons out there can share :)

 

 

Product Pages

 

Load time226ms
Good boy! That's what I call a webserver!
  • config: 46ms
  • constructor: 0ms
  • init: 46ms
  • checkAccess: 0ms
  • setMedia: 2ms
  • postProcess: 0ms
  • initHeader: 0ms
  • initContent: 108ms
  • initFooter: 13ms
  • display: 10ms

 

Hook processing107ms / 4.91 Mb

  • displayHeader: 36ms / 2.58 Mb
  • displayTop: 14ms / 0.48 Mb
  • displayFooter: 13ms / 0.53 Mb
  • moduleRoutes: 8ms / 0.27 Mb
  • actionProductOutOfStock: 6ms / 0.19 Mb
  • displayRightColumnProduct: 6ms / 0.19 Mb
  • displayProductTabContent: 5ms / 0.12 Mb
  • displayFooterProduct: 4ms / 0.16 Mb
  • displayProductTab: 4ms / 0.1 Mb
  • actionDispatcher: 4ms / 0.05 Mb
  • displayLeftColumn: 1ms / 0.05 Mb
  • displayProductButtons: 1ms / 0.06 Mb
  • displayLeftColumnProduct: 1ms / 0.06 Mb
  • displayRightColumn: 1ms / 0.07 Mb
  • maxHeader: 0ms / 0 Mb
  • actionFrontControllerSetMedia: 0ms / 0 Mb
  • actionModuleRegisterHookBefore: 0ms / 0 Mb
  • freeFblock: 0ms / 0 Mb
  • actionModuleRegisterHookAfter: 0ms / 0 Mb
  • DisplayOverrideTemplate: 0ms / 0 Mb
  • maxInfos2: 0ms / 0 Mb

 

Memory peak usage12.9 Mb

  • config: 4.13 Mb (4.2 Mb)
  • constructor: 0 Mb (4.2 Mb)
  • init: 2.74 Mb (7 Mb)
  • checkAccess: 0 Mb (7 Mb)
  • setMedia: 0.08 Mb (7.1 Mb)
  • postProcess: 0 Mb (7.1 Mb)
  • initHeader: 0.01 Mb (7.1 Mb)
  • initContent: 4.83 Mb (11.9 Mb)
  • initFooter: 0.56 Mb (12.5 Mb)
  • display: 0.29 Mb (12.9 Mb)

Total cache size (in Cache class)1.13 M

 

DB type: DbPDO 
SQL Queries97 queries 
Time spent querying66ms
Included files: 233
Size of included files2.65 Mb

 

 

 

 

 

Product Listing Page

 

Load time736ms
I hope it is a shared hosting

  • config: 157ms
  • constructor: 0ms
  • init: 53ms
  • checkAccess: 0ms
  • setMedia: 3ms
  • postProcess: 0ms
  • initHeader: 0ms
  • initContent: 423ms
  • initFooter: 13ms
  • display: 87ms

 

Hook processing143ms / 11.32 Mb

  • displayHeader: 93ms / 8.76 Mb
  • displayTop: 19ms / 1.1 Mb
  • displayFooter: 13ms / 0.74 Mb
  • moduleRoutes: 7ms / 0.27 Mb
  • actionDispatcher: 4ms / 0.05 Mb
  • displayRightColumn: 3ms / 0.27 Mb
  • displayLeftColumn: 1ms / 0.05 Mb
  • productlHook: 1ms / 0.04 Mb
  • productlratingHook: 1ms / 0.03 Mb
  • maxHeader: 0ms / 0 Mb
  • freeFblock: 0ms / 0 Mb
  • actionModuleRegisterHookBefore: 0ms / 0 Mb
  • actionFrontControllerSetMedia: 0ms / 0 Mb
  • actionProductListOverride: 0ms / 0 Mb
  • actionModuleRegisterHookAfter: 0ms / 0 Mb
  • DisplayOverrideTemplate: 0ms / 0 Mb
  • maxInfos2: 0ms / 0 Mb

 

Memory peak usage35.7 Mb

  • config: 11.64 Mb (11.7 Mb)
  • constructor: 0 Mb (11.7 Mb)
  • init: 5.03 Mb (16.7 Mb)
  • checkAccess: 0 Mb (16.7 Mb)
  • setMedia: 0.23 Mb (17 Mb)
  • postProcess: 0 Mb (17 Mb)
  • initHeader: 0.01 Mb (17 Mb)
  • initContent: 14.5 Mb (31.5 Mb)
  • initFooter: 0.75 Mb (32.3 Mb)
  • display: 3.3 Mb (35.7 Mb)

Total cache size (in Cache class)1.35 Mb

 

DB type: DbPDO 
SQL Queries356 queries 
Time spent querying218ms
Included files: 241
Size of included files2.48 Mb

 

 

 

 

 

 

 

Home Page

Load time214ms
Good boy! That's what I call a webserver!
  • config: 84ms
  • constructor: 0ms
  • init: 29ms
  • checkAccess: 0ms
  • setMedia: 2ms
  • postProcess: 0ms
  • initHeader: 0ms
  • initContent: 84ms
  • initFooter: 11ms
  • display: 5ms
  •  

 

 

 

 

 

 

 

 

 

 

 

Hook processing102ms / 11.03 Mb

  • displayHeader: 64ms / 8.75 Mb
  • displayFooter: 11ms / 0.74 Mb
  • displayTop: 10ms / 0.63 Mb
  • displayHome: 6ms / 0.28 Mb
  • moduleRoutes: 4ms / 0.25 Mb
  • actionDispatcher: 3ms / 0.05 Mb
  • displayRightColumn: 2ms / 0.27 Mb
  • displayLeftColumn: 1ms / 0.05 Mb
  • maxHeader: 0ms / 0 Mb
  • actionFrontControllerSetMedia: 0ms / 0 Mb
  • actionModuleRegisterHookBefore: 0ms / 0 Mb
  • freeFblock: 0ms / 0 Mb
  • DisplayOverrideTemplate: 0ms / 0 Mb
  • actionModuleRegisterHookAfter: 0ms / 0 Mb
  • maxSlideshow: 0ms / 0 Mb
  • maxInfos: 0ms / 0 Mb

 

Memory peak usage27.4 Mb

  • config: 11.54 Mb (11.6 Mb)
  • constructor: 0 Mb (11.6 Mb)
  • init: 4.38 Mb (16 Mb)
  • checkAccess: 0 Mb (16 Mb)
  • setMedia: 0.23 Mb (16.2 Mb)
  • postProcess: 0 Mb (16.2 Mb)
  • initHeader: 0.01 Mb (16.2 Mb)
  • initContent: 10.01 Mb (26.3 Mb)
  • initFooter: 0.75 Mb (27 Mb)
  • display: 0.27 Mb (27.4 Mb)

Total cache size (in Cache class)0.37 Mb

 

DB type: DbPDO 
SQL Queries39 queries 
Time spent querying19ms
Included files: 191
Size of included files2.17 Mb
Edited by Pressed0024 (see edit history)
Link to comment
Share on other sites

Do you have a link to your site? I would bail the shared server, that is more than likely one of your issues. This site runs on a pretty good server, http://tools.pingdom.com/fpt/#!/c7u2gd/maisondestencils.com  so does this one http://tools.pingdom.com/fpt/#!/cGcrAL/zpalette.com That last one, because of the toolbar look at how many requests it is making, but still pretty quick even with that. 

Link to comment
Share on other sites

My site actually feels the same (when not on browser cache), in fact maybe faster (when on browser cache) than those 2 sites browsed from my location (Asia). I adopt 15 mins browser caching and loading is near instant when it hits browser cache. It feels the same as those 2 sites when cache is cleared. My server is in Phoenix, US. 

 

My Pingdom performance loses at 2 sec load time. This is the full time taken to load all DOMs.

 

I'm trying to speed up above-the-fold page render which is what matters. I'm looking at this module: http://www.prestashop.com/forums/topic/282343-free-module-move-java-script-to-footer/?do=findComment&comment=1477037

 

Also hoping to see if anyone knows of any pre-loaded modules that is known to slow down the compilation.

 

What is the optimum APC setting for a site that receives 800 average daily visits with average 4 pages per visit?

 

Trying to put moving to a dedicated server as the last resort as that means I lose all those litespeed, fully-managed goodies that comes with shared hosting at good cost.

Link to comment
Share on other sites

Both of those sites are hosted in the US as well, with their target audience being in the US.

 

Staying with a shared server, run loadimpact on your site and see how it manages under a load. 

 

There is no optimal setting as far as APC is concerned without knowing more about the environment and having access to the server. How many workers are spawned during a day? How long is your APC cache lasting before a worker dies?

 

If you link me to your site I can give you some tips on what you can do to make it run faster.  

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...
  • 5 months later...
  • 1 month later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...