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