mytheory. Posted June 16, 2012 Share Posted June 16, 2012 Hi all! I just wanted to get a few different opinions from Prestashop shop owners. We've been using prestashop for over 2 years now and we really love the shopping cart with its vast functions and zero cost. Especially considering PS being free, I know I can't complain too much but I do want to see if others might be experiencing slower load times like us. When I say "slow" I don't mean its a major inconvenience that totally ruins a shopping experience... its not a major issue. However, after visiting (spying) on our competitors running other shopping carts like Yahoo!, volusions, xcart, bigcommerce, etc. I have noticed that our site, especially for products/categories with a lot of products (more than 1000) are noticeably slower on our site. For example, our top competitors use Volusion but when you click on a category or any product from any page the page loads super quick... I mean in less than 1-2 seconds MAX. As soon as I click the product (for example) the site already starts to load. However, for us, the homepage loads super quick, but if I click on a product from the homepage (for example) it takes a second or two longer. For products in categories with over 1000 products it takes 4-6 seconds longer. Unlike Volusion when I click on the product the site "waits for the server" for a while before it reloads the new page. Once it begins to reload the page it happens quick however. I don't think it is our server, but any inputs that may help would be GREATLY appreciated. We have tested several different settings however aside from the timeout issue (fixed now) there is no difference in speed. We believe it has something to do with the SQL queries or just the prestashop's code in general. For SEO purposes, site load time is VERY important now. So any advantage our compeitors have over us may hurt us in the long run. Sorry for the long post, but any insight would be appreciated... and maybe a more optimized PS v.1.5? Thanks! 1 Link to comment Share on other sites More sharing options...
SuperCharlie Posted June 16, 2012 Share Posted June 16, 2012 Try this.. and make sure to look at the timeline extended view. http://gtmetrix.com/ if your site is the one in your sig line.. you can do a lot of things to speed it up it would seem. Link to comment Share on other sites More sharing options...
mytheory. Posted June 16, 2012 Author Share Posted June 16, 2012 Hi, Thanks! That's a great site full of good info! So, I know that there are areas that we may improve for faster "page speed" ratings... however, I tested a few competitors on that site and ALL of them have same or usually lower rankings than our site. However, their sites even with F and D ratings still load a lot faster. Sites that make more requests and have larger files still load faster. The big difference being they are both using Volusion. I am going to have someone take a look at our server to make sure it has been setup correctly... rather optimized. We do run our site on a good VPS and we don't have heavy enough traffic that warrants any issues that I can attribute to the server... at least not at this time. Upgrading to a better server is a viable option; however, we don't want to do that at higher costs if the results are going to be the same. Our current server is not stressing so I upgrading probably won't make a big difference. So another question is... is Prestashop's code and sql queries optimized??! I'm not a programmer so I can't be sure if it is or not... so any input from professional programmers regarding PS's code would be appreciated. Much Thanks! Link to comment Share on other sites More sharing options...
SuperCharlie Posted June 16, 2012 Share Posted June 16, 2012 Im a PrestNoob but have been programming for the web for a looong time.. So as far as Presta specific stuff I am just now getting up to speed with my first launch. First thing I always look for is external stuff.. they will kick you in the nads every time. I noticed quite a few external calls to a few places.. ya make the determination to keep them by the cost (in time) to benefit ratio. I have one client with an external ad that plops on an extra 3-4 seconds.. it even fails sometimes and drags the site to a crawl.. but she **has*** to have it so she deals with it.. Look first to things outside your domain. Next, and just as important as the above.. scour and kill all 404's. I noticed one in your timeline on your home page. They hurt. Next, do the basic html cleanup. Give the images sizes, run it thru the w3c validator and decide what is important and what is gibberish and clean up the important stuff. That will take you a while but help a lot as well. I have not looked a lot into the PS performance stuff yet but I know that turning on and off those things makes huge differences however I would think you probably already have them set to max speed.. Im just not up on the intricacies of them yet. Maybe someone who knows more about that will chime in.. This is all basic stuff and not necessarily PS specific but it should get ya going in the right direction.. Good luck Link to comment Share on other sites More sharing options...
rturner Posted June 16, 2012 Share Posted June 16, 2012 Having had slow loading on my site (1500 products) I found that moving products to smaller subcategories really helps. I also moved up to a larger vps with more RAM and got memcached optimized. I was told that prestashop (and probably other ecommerce software) goes through an entire category or subcategory (database) before loading a product page. When we kept our subcategories to under 50 or 100 products, the load time per product improved noticeably. I also went through all the products and made the names smaller and cleaned up a lot of code. Employees were copy/pasting code from the old site into the descriptions on the prestashop site and a lot of garbage was sitting in the code. I had them copy to clipboard, then copy/paste the bare text in the descriptions. In addition, I'm using Amazon Web Services as a media server because the cloud loads media faster for customers all over the world. In addition to all that, we made a lot of the adjustments that SuperCharlie mentioned. 3 Link to comment Share on other sites More sharing options...
SuperCharlie Posted June 16, 2012 Share Posted June 16, 2012 Killer info rturner. Link to comment Share on other sites More sharing options...
mytheory. Posted June 17, 2012 Author Share Posted June 17, 2012 Wow! Great info! I did do a good amount of the things mentioned above, but there are a few things that I still need to do according to the above posts. I will be cleaning up/combining by css and other bits of code, as well as, some image optimization. SuperCharlie, do you think you can elaborate on the external calls and 404 on our home page? As for external calls are you referring to calls to facebook, google+, twitter, etc.? I know we are getting a few hits from these outside sources, but we feel that social networking is vital to our rankings. So unfortunately, this is something we will have to sacrafice on. As for the 404... what do you mean by the "timeline on the homepage"? I am very interested in where the 404 is on our homepage. Thanks! rturner, I agree with you and have also been told that PS scours the entire category before serving a product. And I have noticed this to be very true. Kinda sucks... feel like that this could be better optimzed by the developers. I have started narrowing down our categories... getting rid of unnecessary products, etc. We still have 1 large category we need to break down. We are also using Amazon cloudfront to serve our static content... this has helped as well as using dns.com. Do you mind sharing what spec VPS you are using for memcache? What do you mean by optimizing memcached? We were using memcached on our 2gb (4gb burst) VPS but it took up to much memory after a few days so we have disabled it for now. Would love to get your input and any advice on how you are utilizing this feature. Thanks you very much! Link to comment Share on other sites More sharing options...
SuperCharlie Posted June 17, 2012 Share Posted June 17, 2012 Here are all your external calls mybeautymart.com: 62 components, 886.1K (63.2K GZip) d1r8134sxoynal.cloudfront.net: 76 components, 701.1K (62.7K GZip) apis.google.com: 2 components, 111.1K (38.6K GZip) www.google-analytics.com: 1 component, 36.6K (14.6K GZip) trustlogo.comodo.com: 3 components, 3.8K www.trustlogo.com: 2 components, 4.8K (1.4K GZip) connect.facebook.net: 1 component, 176.5K (55.1K GZip) upfront.thefind.com: 2 components, 102.4K (25.9K GZip) assets.pinterest.com: 1 component, 1.4K (0.7K GZip) www.googleadservices.com: 2 components, 6.5K (2.4K GZip) tracking.nmwrdr.net: 1 component, 0.0K www.paypal.com: 1 component, 4.5K shield.sitelock.com: 1 component, 10.5K ssl.gstatic.com: 2 components, 24.6K googleads.g.doubleclick.net: 1 component, 0.04K static.ak.facebook.com: 2 components, 52.1K (18.8K GZip) s-static.ak.facebook.com: 1 component, 26.0K (9.4K GZip) www.facebook.com: 1 component, 0.0K Here is a file not found http://mybeautymart.com/js/jquery/jquery.scrollto.js 404 I have found that you always trade speed for beauty and/or size of data. I did joomla for a few years (still do at gun point..I mean client request) and subscribed to a theme site. The sites got more and more beautiful..and slower and slower.. they had one from when they started 3-4 years ago that was fast as lightening.. it loaded first time no cache in like 1.4 seconds an then almost instantly afterwards. Their latest version had all kindsa bells and whistles animated sliders and pickers, jquery and theme loaders with auto mobile versions .. and weighed in at 13+ seconds from a fresh install. Ya weigh the cost/benefits and make your choices. You could probably have a screaming site with a raw PS install and a well organized catalog like rturner mentioned, but where is the draw to that eh? Link to comment Share on other sites More sharing options...
rturner Posted June 17, 2012 Share Posted June 17, 2012 Do you mind sharing what spec VPS you are using for memcache? What do you mean by optimizing memcached? We were using memcached on our 2gb (4gb burst) VPS but it took up to much memory after a few days so we have disabled it for now. Would love to get your input and any advice on how you are utilizing this feature. Thanks you very much! I was on a level 3 vps at Hostgator with memcached installed, but it was using too many resources to function correctly. I moved up to a Level 5 vps with 1.8 ghz RAM and 2.69 ghz cpu. I worked with their support (I really recommend Hostgator support) a long time and they optimized memcached, so I don't remember everything they did. (When I tried myself I failed miserably). I know my page load times went from 6-8 seconds to 1-2 seconds. If memcached was eating too many resources with a 2 gig to 4 gig burst RAM, something is wrong. Maybe some of the modules you have running on your site are eating resources. I cut mine down to the bare minimum. I have no stats running (using Google analytics instead) and I have NO taxes since I sell only to resellers. The tax module consumes resources; use only the taxes you absolutely need. I have a carousel running that can only bring up < 20 products, not the whole database (another huge resource hog). Then creating subcategories with < 50 products helped immensely. I sympathize because I spent months trying to speed up my site with the 1500 products. Link to comment Share on other sites More sharing options...
SuperCharlie Posted June 17, 2012 Share Posted June 17, 2012 Ill second the Hostgator support. Ive been with them for a couple years now as a reseller on the lowest plan. I wont say they are the sturdiest infrastructure as I do have down times occasionally (more like burps) but the price point is great for the service level and the support really is fantastic. Link to comment Share on other sites More sharing options...
mytheory. Posted June 18, 2012 Author Share Posted June 18, 2012 Hi, Thanks for all your input! It is greatly appreciated. I've been combining a lot of our css and trying to reduce JS and other calls throughout the site, including image optimization. I've managed to get our site's pagespeed upto an A... although Yslow still remains a high D. Yslow does not recognize our CDN and there are other things that yslow does not pick up on so technically I consider our site to at least have a solid C even by yslow's standards. Everything is good, but page load times have not decreased. I still need to divide 1 of our large categories and clean up some older products in our category. So I am not thinking that our server (backend) may not be as optimized as we once thought. We will be using a server admin/tech to help us with our current server setup. Just got 2 more quick questions... -I've seen this error quite often... "Defer loading of Javascript." What does this mean and is there an easy way to solve this issue for prestashop? -rturner, for memcached, how did you save your settings in the backoffice? So, obviously, you would enable the cache option and select "memcached" from the performance tab. However, what did you use for your IP address? Did you use the localhost address (127.0.0.1) or your server's outside address? I am assuming that memcached is installed on your shop server. Thanks again! Link to comment Share on other sites More sharing options...
rturner Posted June 18, 2012 Share Posted June 18, 2012 (edited) -rturner, for memcached, how did you save your settings in the backoffice? So, obviously, you would enable the cache option and select "memcached" from the performance tab. However, what did you use for your IP address? Did you use the localhost address (127.0.0.1) or your server's outside address? I am assuming that memcached is installed on your shop server. Thanks again! I tried using 127.0.0.1, but I experienced weird results, even slowness. I tried listing nothing as the server (per a discussion in this forum which I can't find now) and that worked great. Lately I put in my server's outside IP address and that may or may not be a little quicker. I have no idea why localhost wouldn't work. If I find a link to that discussion, I"ll post it. Strange. After I posted this I went back in and set the server to 127.0.0.1, re-compiled, and everything is very snappy. I'll leave it there unless there are problems. Edited June 18, 2012 by rturner (see edit history) Link to comment Share on other sites More sharing options...
mytheory. Posted June 18, 2012 Author Share Posted June 18, 2012 Hi. Sounds good! I remember when I looked at the code for the memcached function, it required an IP address otherwise it would just return false. So, I'm fairly confident that you must declare a server IP address. I'm not sure how it works on the new versions but on 1.4.5.1, I believe the code requires an IP address or it ignores the rest of the commands to implement the memcached feature. I will try it out with our external IP address. Thanks for your input! Link to comment Share on other sites More sharing options...
A1TH Posted March 15, 2013 Share Posted March 15, 2013 About : "Defer loading of Javascript." how to do that ? which code is correct ? <script type="text/javascript" src="/monjava.js" defer async></script> or this code : <script type="text/javascript" src="/monjava.js" defer></script> and where to include this code, in wich file. I guess it might be in header.tpl, but how ? If some one could help on this issue, it would be great. Thanks Link to comment Share on other sites More sharing options...
hardware Posted May 8, 2013 Share Posted May 8, 2013 <script type="text/javascript" src="/monjava.js" defer></script> it is working with this way? Link to comment Share on other sites More sharing options...
Recommended Posts