2.0 speed/performance concerns

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
Stratus wrote:
The item we found that was cause most of our speed issues was a configuration setting. When checked the Categories control takes between 40 and 50 seconds to gather its data and build the model. The setting are on the Admin Catalog Settings pages called:

Show the number of distinct products besides each category:
and its related setting

Include subcategories (number of distinct products):


That was in both 2.0 and 2.1 code. We have not tried 2.2 as of yet.
12 years ago
vladk wrote:
I believe everything except for pictures in PrepareProductDetailsPageModel is already cached. If you check all the calls in that method they all use cache


In terms of the underlying service calls, yes they are using the cache - but there's still a lot of code running as you navigate the pages (categories \ product view etc) while it prepares the models.

Anything we can do here in terms of caching to reduce the amount of code running between pages has got to be beneficial.

vladk wrote:
I can see image stuff being slow though so it's possible that if some kind of media caching is added the speed will improve at the cost of memory


Yeah, PrepareProductDetailsPageModel calls into GetPicturesByProductId which makes an uncached repository call & loads binary data - would want to avoid this really since all we're after here is the PictureModel which is much lighter. I'd happily sacrifice memory for performance here (I'll have a dedicated machine for this, but maybe not completely viable in hosted instances?)

a.m. wrote:
Work item is already created. Some view models can be cached.


OK, good stuff :)

a.m. wrote:
But a model returned from PrepareProductOverviewModel method contains product price for the current customer. A store owner can create some complex discounts based on shipping address, order totals, etc. And a price can depend on them. And this behavior makes caching of calculated product prices impossible (until you don't have discounts)


Ah, didn't notice that - I'm running a proof of concept for a very specific store here that won't have discounts etc, product prices will be static 'across the board' for all customers. Caching will be valid in this case, but yeah you can't do that otherwise.

I'm probably going to branch away from the main development here, since what I'm looking into isn't an ecommerce store per se, but a place that customers in our high street stores can come to redeem loyalty points they've earned for rewards. I still need the functionality of a shopping basket, but there's a lot of extra functionality that will never be relevant in this store.

Thanks again - will make sure the company contributes something if they go with the solution :)
12 years ago
fkierzek wrote:
someone point me to a live website with 2.0 running on it, I'd like to see and try to measure some of the performance issues under discussion. Im working to upgrade our main site to 2.0 but it's taking some time. Thanks

Nop 2.0 in action on realistic dataset:

http://polskaksiegarniainternetowa.com

Still working on the looks .. other than that I've got most of the pieces in place to the point where you can buy and it will be shipped to you ..

Most pieces except performance that is. It's way too slow to be really useful.

Here are some specs on the setup:

50.000 products
600 categories
160.000 product to category mappings ..
images are taken from disc..
I've commented out all the subcategory code and featured products on category page..
On home page I took out bestellers and polls..
I took off content compression and even logging to speed things up .. HTTP header cache on by default on all content + 30 day cache on images ..

Running on 2 cores x 2000 MHz + 2 GB RAM VPS and SQL Server 2008 R2

Suggestions on how to speed things up are more than welcome ..



http://PolskaKsiegarniaInternetowa.com

It runs really fast. I do not see any speed problem. What NOP version is this?
12 years ago
a.m. wrote:
BTW, I would better use output caching for product tags. But as you know views can be localized, so output caching should depend on the current working language of a customer
...
Have a look at changeset 27d3c62b713b. It demostrates how it can be done based on customer language.

Just in case it can be useful for someone: Phil Haacked wrote about donut caching in ASP.NET MVC - http://haacked.com/archive/2011/11/26/razor-donut-caching.aspx.
10 years ago
hiiii

i am using nopcommerce 2.65, at time of loading it takes 15-25 seconds

Can any buddy help me to optimize my site please?

pankaj pandey
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.