Adding new language triples the memory consumption and slows down the site

1 semana atrás
Hi,

Our customer has a nopCommerce powered store that was operating on a single language. It's hosted on IIS, nopCommerce version 4.30. The server has 16GB ram and store is generally using about from 800mb to 1.5gb (depending on the load) with the caching in memory.

Recently the customer asked to add second language and after adding second language, things got complicated: the memory jumped to 2-3GB and store slowed down so much, that just opening an product takes more than 10 seconds. It's also impossible to work in admin panel either as everything is super slow.

Number of localized properties is ~90K per language and number of Locale string resources is ~9k per language. As soon as we turn off second language and restart IIS, everything works as expected.

I'd like to know if anyone has the same experience and any suggestions how to fix it?

Thanks
1 semana atrás
Hey,
please try to find your solution here: https://www.nopcommerce.com/en/nopcommerce-performance-guide.

I recommend to upgrade to last version of nopCommerce, deploy on Linux with the PostgreSQL database.
1 semana atrás
It looks like adding another language has overloaded your nopCommerce store's memory.

Try optimizing language resources (~90k properties, 9k strings per language) and see if that improves performance. If not, consider upgrading the server RAM
1 semana atrás
A bit of a reality check.
I am running 4.60.5 on Microsoft Azure. Windows. .NET 7.0.16. Each WebApp is configured as a 64bit process.

4 Distinct nopCommerce Deployments. Each as a WebApp
    1 Deployment with 1 store
    1 Deployment with 1 store
    1 deployment with 2 stores
    1 deployment with 2 stores
2 Azure function deployments
2 additional WebApp deployment for a redirect service and a custom API service

Each nopCommerce Deployment has 3 Languages defined (EN, DE, FR)
No Distributed Caching (kills performance due to localizations)
Theme: Voyage from Nop-Templates

1 Azure App Service plan. Premium v3 P1V3. 8GB Ram, 2vCPUs
Load all locale resources on startup: Enabled
Load all localized properties on startup: Enabled
Default caching settings
Images were originally in the DB, but now delivered from Azure Blob and CDN

The stores have over 2500 products each, using Combinations resulting in 20'000 unique SKUs per store
With all up and running and being used, 1.92GB remains. So about 6.1GB RAM is used in total.
With or without Blob/CDN, memory usage has been very stable.
Average server response time is 80ms.

Once nopCommerce is on .net 8, memory usage should be even lower.

You can get get quite dense hosting, but it may be a result of it being .net 7 + latest nopCommerce version.

Your 16GB is a luxury.