Was wondering does anyone have any stats around the number of products/orders the system can handle. We have a development of a potential new site which will be multiple stores/languages and a few thousand products, just wondered if their was any performance issues we should look out for.
We've got sites supporting around 150,000 SKUs and have done internal testing up to 1,000,000 SKUs. When you get into these numbers it's all down to catalog structure - it would be impractical to have 150,000 SKUs in a single category for example :)
Denmarks largest book retailer Bog & Idé (Book & Idea) supports around 150,000 SKUs and operate a multi-brand/store solution with three separate stores in one: www.bogogide.dk, www.boghandleren.dk, and www.bogerogpapir.dk.
Woca is second example of multiple store/language. They've got four stores operating in the same install one for DK, DE, RU, and UK markets.
As a rule of thumb you want to look out for how you structure queries; in particular avoid lazy loading, which will cause N+1 issues with lots of tiny database requests and poor performance as a result. In general you want to bundle up as much as you can in a single query.
Fortunately you've got ample opportunities to do just that with LINQ, HQL, and QueryOver.
Stats
Hi,
Was wondering does anyone have any stats around the number of products/orders the system can handle. We have a development of a potential new site which will be multiple stores/languages and a few thousand products, just wondered if their was any performance issues we should look out for.
Thanks
We've got sites supporting around 150,000 SKUs and have done internal testing up to 1,000,000 SKUs. When you get into these numbers it's all down to catalog structure - it would be impractical to have 150,000 SKUs in a single category for example :)
Denmarks largest book retailer Bog & Idé (Book & Idea) supports around 150,000 SKUs and operate a multi-brand/store solution with three separate stores in one: www.bogogide.dk, www.boghandleren.dk, and www.bogerogpapir.dk.
Woca is second example of multiple store/language. They've got four stores operating in the same install one for DK, DE, RU, and UK markets.
As a rule of thumb you want to look out for how you structure queries; in particular avoid lazy loading, which will cause N+1 issues with lots of tiny database requests and poor performance as a result. In general you want to bundle up as much as you can in a single query.
Fortunately you've got ample opportunities to do just that with LINQ, HQL, and QueryOver.
Bulk Import From Third Party Systems Using The uCommerce API shows some of the options for eagerly initializing collections on loaded objects using the LINQ API.
Also you can take a look at the class ProductsInCategory in uCommerce, which contains HQL to do the same but using a different technique.
Thanks very much for the detailed response! Definitely some points we will be taking into consideration.
John
is working on a reply...