infinito62 wrote:Guys, performance are ruled basically by some factors:
1) MVC. And here there's nothing to do. Mammy Microsoft plays the game.
3) Architecture. Nop code maybe can be more straightforward, O think that better optimization coul be done, but it's an endless war - and only one of he critical factoris
2) CSS. The more complex it is, the more flexible and customizable the site is - but takes time to load and cache
3) DB platform. If you taylor Nop for Oracle is a different matter than have it running under SQLExpress. If you run a site with 20000 products, at least use SQLServer in a clustered architecture, otherwise you can smoke a cigarette while product pages are loading
4) Server performances and bandwith hosting the site
5) Graphics
Hmmm...
I certainly believe that Performance is the most important feature and performance related issues must be addressed before adding new whistles & bells features into NopCommerce. Else, with the current performance issues NopCommerce is only good enough for small stores & not for a medium sized stores. Forget about serving enterprise level ecommerce stores.
If this is what NopCommerce team thinks, then its really bad for NopCommerce and its community. Forgive me if I'm being little harsh. But I think I'm right and as an active community member I should try to help NopCommerce move into right direction.
Before giving reasons for ruling out Performance, you should think how can you address the problems with innovative solutions. I agree its not possible in just one round of optimization, but a continuous task. But we have to start with it.
I don't think its MVC that is slow, architecture always need to upgrade to build scalable applications. CSS is not a problem when you have 4 seconds of waiting time to load first byte with just few thousands products and few visitors visiting the site. DB Platform again is quite capable, if you do proper caching & avoid expensive db calls. As other said, its the EF that is not producing efficient queries which might need to looked at from architectural point of view. Hosting infrastructure needs to be the finest. But what if site just don't work fine with few thousand product & few visitors.. then its not the hosting infrastructure but the application itself. Who says Graphics is slowing the site to respond faster.... I'm talking about time it takes to load first byte.
Few solutions as suggested by other community members are:
- Implement Full Page Caching / or store product detail page as html
- Use something like NoSQL db like RavenDB or integrate with Solr
- Implement Aggressive Caching
- I like to community to provide more ideas to improve performance
All this to avoid very very expensive db calls which is taking longer to execute.
I definitely agree with you when you say its very difficult and requires a lot of effort to implement.. but we have to start at some point... the sooner the better.