Help in speeding up the site (3.7)

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
6 years ago
Hi, I really need a way to improve the speed of eshop http://eshop.krassaspiaggio.gr/
It contains thousands of products (about 100000). I have contacted the hosting company and they made some modifications but it is still very slow. Do you have any suggestions?

Thanks in advance.
6 years ago
pulse_kostis wrote:
Hi, I really need a way to improve the speed of eshop http://eshop.krassaspiaggio.gr/
It contains thousands of products (about 100000). I have contacted the hosting company and they made some modifications but it is still very slow. Do you have any suggestions?

Thanks in advance.


Hi,

Pls check this report.

The major issue is long TTFB (Time to First Byte). Try enabling the Mini profiler to check what is slowing down your pages. Optimize it to reduce TTFB.

Apart from that, there are several other simple optimizations that you should try to check if it helps or not, like enabling minification & bundling of JS & CSS. Compress your images. Use CDN plugin to load images, css & js from CDN.

Your home page html size is 3,115.4 KB, which is larger than usual and it takes almost 11703 ms just to download it. You reduce this and make it faster, you will have faster home page. One simple way is to move your site to faster server. You can use also use domain sharding to make your page load faster.

Also check you site with tools like Google Page Speed to find our more recommendations.

Hope it will help you further to improve site performance.

Regards,

Krunal
nopAccelerate
6 years ago
Thanks for your fast reply. I think that the main problem is that entity framework is too slow to handle such a large amount of data.
However, how I could enable Mini profiler?

Thanks.
6 years ago
Go to All Settings, and search for profiler. From there you can enable profiler.
6 years ago
You should set storeinformationsettings.displayminiprofilerinpublicstore to be True and restart your website. However, I found out that the profiler does not provide you too much details out of the box. I had to modify the source code to use MiniProfiler.Mvc4 and MiniProfiler.EF6 packages.

MiniProfiler.Mvc4 will help you profiler the view engine and the controllers, but you have to modify the code.

MiniProfiler.EF6 will help you keep track of all SQL queries coming from nopCommerce. You have to modify the code and register in in Global.asax.cs.

Also, check how much memory you have on your server. nopCommerce is memory consuming app, especially when you have many products.
6 years ago
ilich_x86 wrote:
You should set storeinformationsettings.displayminiprofilerinpublicstore to be True and restart your website. However, I found out that the profiler does not provide you too much details out of the box. I had to modify the source code to use MiniProfiler.Mvc4 and MiniProfiler.EF6 packages.

MiniProfiler.Mvc4 will help you profiler the view engine and the controllers, but you have to modify the code.

MiniProfiler.EF6 will help you keep track of all SQL queries coming from nopCommerce. You have to modify the code and register in in Global.asax.cs.

Also, check how much memory you have on your server. nopCommerce is memory consuming app, especially when you have many products.


Exactly! Thank you for sharing. +1
6 years ago
Hi again, I have enabled mini profiler and tried the following url:

http://eshop.krassaspiaggio.gr/scarabeo

It seems that function Controller: CatalogController.CategoryNavigation takes too much to finish. 172 sec out of total 176 secs.
6 years ago
I had similar problem: my project has hundreds of categories and thousands of products. The bottleneck in my case was the check that a category or its subcategories have have actual products.

I solved the problem using T4 template. I have a batch that generates static category navigation. The products list and the categories list does not change too often, and this solution works well for me.

You can find more information about T4 templates on https://msdn.microsoft.com/en-us/library/bb126445.aspx
6 years ago
ilich_x86 wrote:
I had similar problem: my project has hundreds of categories and thousands of products. The bottleneck in my case was the check that a category or its subcategories have have actual products.

I solved the problem using T4 template. I have a batch that generates static category navigation. The products list and the categories list does not change too often, and this solution works well for me.

You can find more information about T4 templates on https://msdn.microsoft.com/en-us/library/bb126445.aspx


Thanks for this info, how did you implement T4 in nop project? Is this applied to each function you need to go faster?
6 years ago
In my case I replaced Category Navigation partial view with a static generated view. You can develop the site in Visual Studio because it runs T4 templates. Once you template is ready, you can "compile" it into C# class and create a batch that generates your HTML.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.