Nop 2.0 BETA performance notes - some results

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
Hi,

I've been evaluating nop 2.0 performance a bit. I am posting my findings - maybe it will be usefull to somebody.
My general conclusion is that Nop 2.0 has a performance problem with category pages showing products. Home page loads fast, product pages load fast, in general everything else seems fast enough so far except category pages.


Keep in mind I am not comparing here 2.0 to 1.9, nor am I running some definitive repetable benchmarks. I am rather illustrating how Nop 2.0 behaves out of the box. I try to do a few page reloads - the times given are typical.
If you want to do some clicking on the same system I am using send me a PM.


System Windows 2008 R2 64 + SQL 2008 R2 Express with Advanced Services. There are two stores running there already, hence the relative vs. absolute remark. Browser is Google Chrome latest and greathest. I have Developer Tools on and I am looking at time to generate & load the HTML page itself not all css, js, images etc as these have to do with server performance and not nop2 performance. I've even disabled addthis.com. OK - so here's the story

I've Installed NopCommerce 2.0 BETA with default products.
Time to show category page was about 2s (acceptable)
Added 1300 products including about 100 to default books category and 100 each to two other categories (total cat 2 product mappings = 300)
Time to show category page is now 4-6 seconds
I've logged out to make sure this is not causing problems.
It is causing problems it seems! Time to show category page droped to 3-4 seconds.

Added these 1300 products to 3 categories (1000 to each; with overlap). Total cat 2 product mappings is 3000 now. I am still logged out. Average time to show category page is 6-7 seconds (I once got 2 minutes!). My customer are gone by now .. :/

Let's add some rudimentary indexing .. BTW - I've always wandered why Nop doesn't come out of the box with these ..

USE [nop2beta4]
GO

/****** Object:  Index [idx_p2c_cid_and_pid]    Script Date: 07/19/2011 15:07:33 ******/
CREATE CLUSTERED INDEX [idx_p2c_cid_and_pid] ON [dbo].[Product_Category_Mapping]
(
     [CategoryId] ASC,
     [ProductId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO


USE [nop2beta4]
GO

/****** Object:  Index [idx_p2c_cid_and_pid]    Script Date: 07/19/2011 15:07:33 ******/
CREATE CLUSTERED INDEX [idx_p2c_cid_and_pid] ON [dbo].[Product_Category_Mapping]
(
     [CategoryId] ASC,
     [ProductId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO


USE [nop2beta4]
GO
CREATE NONCLUSTERED INDEX idx_product_published_deleted
ON [dbo]. [Product] ( [Published],[Deleted] )
INCLUDE ( [Id])
GO    


USE [nop2beta4]
GO
CREATE NONCLUSTERED INDEX idx_product_published_deleted
ON [dbo]. [Product] ( [Published],[Deleted] )
INCLUDE ( [Id])
GO

Now we're consitently around 5s to load category page.. better .. but still way to slow ..

Logged in as admin and changed the products per category shown from 4 to more relistic 25 .. category page now loads around 7 seconds ..

I'll be evaluation Nop 2.0 BETA with around 60.000 products in near future. I'll post my findings when I am done.

Have a nice afternoon,

Filip
12 years ago
fkierzek wrote:
Hi,

<stuff deleted>

I've Installed NopCommerce 2.0 BETA with default products.
Time to show category page was about 2s (acceptable)
Added 1300 products including about 100 to default books category and 100 each to two other categories (total cat 2 product mappings = 300)
Time to show category page is now 4-6 seconds
I've logged out to make sure this is not causing problems.
It is causing problems it seems! Time to show category page droped to 3-4 seconds.

Added these 1300 products to 3 categories (1000 to each; with overlap). Total cat 2 product mappings is 3000 now. I am still logged out. Average time to show category page is 6-7 seconds (I once got 2 minutes!). My customer are gone by now .. :/

<more stuff deleted>

Have a nice afternoon,

Filip


Well, I could think of a way to make category load faster. If nopCommerce didn't read from the database everytime someone arrives at the home page, nopCommerce could behave faster. For example, make category a static structure, only read from the database when the website is started and update the static structure if it was updated, it can use a dirty bit to signal an update. Make it a static list.

This may significantly speed things up, anyone have the bandwidth to code it? I'm busy.
12 years ago
Isn't this a job for the cache? As far as I know NOP uses application-level cache for catalog objects. That means it is slow only first time after a change to the catalog data.
Please correct me if I am wrong.
12 years ago
IMHO the problem is that there are too many features at work at the same time. Granted some may have the need for multi-currency, multi-tier-pricing with multi language descriptions and multi-super-something-else .. however for some simpler scenarios being able to turn off some things so they're not even checked.

Not using tier prices -> out it goes
Not using product descriptions in many languages -> toss it out
Not using customer discounts -> turn it off
Not using featured products in categories -> don't even ask databases about them ..

Maybe I am completely off on this .. please correct me if wrong ..
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.