Performance testing nopCommerce 3.70 on Azure using Redis + Blob + Azure SQL

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
7 years ago
nopAccelerate wrote:
Hi ArielDeil,

We will be happy to contribute to the tests. Pls share more details so we can check. PM your skype details, may be we can talk on the same and then share results / findings here.

Regards,
Krunal



The test is simple we are tring to reach 200 concurrent users connecting to nopCommerce at once.
We are using "loader.io" to run 200 request per second to "/apparel" category page.

We moved the database to SQL Azure and images to Azure Blob and cache to Redis.

We are testing on a single VM. Once we know how many users a single machine can hold we will start to duplicate it and adding a load balancer to see if we can increase user amount liniary.
7 years ago
Hi ArielDeil,

We started out with SQL Azure (Business Tier) until those were deprecated. Site ran fine under Business Tiers. Tested several of the new SQL Azure tiers but performance was not that great until you move up to a very expensive tier. Page load times we're an unacceptable 8 to 12 seconds. Installed SQL right on the VM and pointed to that. All Page loads now under 2 seconds. We're sticking with running SQL on the VM itself.
7 years ago
Co NOP is slow or fast????
7 years ago
I have made my test aswell but beacause my shop will be small i make comparision with wordpress
http://stbmarket.no  vs  http://mirekkedzierski.pl

Test was  250 clients over 1 min
so
wordpress
Response Times

Average  251 ms
Min/Max  85 / 1462 ms



nopcommerce
Response Times

Average  16 ms
Min/Max  2 / 1381 ms


I will tested more
7 years ago
Hi ArielDeil,

I would recommend to test with turning off Redis for single instance to see how it performs with and without Redis enabled on single instance!

Pls share the results.

Regards,
Krunal
7 years ago
Any updates on this? I've just moved our nopCommerce website and database to Azure Web App, Azure SQL and blob storage. And performance is extremely poor, had to go into upper Premium tier for the database (700 USD/mo) to get acceptable load times around 1,5 sec, today on a dedicated server with IIS and SQL server on the same load time is less than 1s.
7 years ago
mgustafsson wrote:
Any updates on this? I've just moved our nopCommerce website and database to Azure Web App, Azure SQL and blob storage. And performance is extremely poor, had to go into upper Premium tier for the database (700 USD/mo) to get acceptable load times around 1,5 sec, today on a dedicated server with IIS and SQL server on the same load time is less than 1s.


Hi mgustafsson,

Why did you decide to move to Azure? How many products do you have in store? On which page do you measure load time?

I recently made load test on our shop with 150000 products.
Test environment
dedicated server Xeon E3-1230 V5 3,6 GHz
RAM 16GB, SSD

I used https://loader.io and I measured acces to category page and one product page.

I got 1.7s avg load time. 1 user per sesc.

Please share your experience and measure methodology.

Best regards,
Rudolf
7 years ago
mgustafsson wrote:
Any updates on this? I've just moved our nopCommerce website and database to Azure Web App, Azure SQL and blob storage. And performance is extremely poor, had to go into upper Premium tier for the database (700 USD/mo) to get acceptable load times around 1,5 sec, today on a dedicated server with IIS and SQL server on the same load time is less than 1s.


We host on Azure as well. When we first set it up we had page loads of 1-2 seconds using Azure SQL (business tier, now deprecated). We moved to the new tiers and page load went up to 6-8+ seconds. Unless we moved to a very expensive tier we couldn't get it any lower. We moved Azure SQL to SQL on the Virtual Machine and page loads went back to 1-2 seconds. You could probably lower that by hosting SQL on second VM. We got it down further by using CloudFlare's CDN Service.
7 years ago
Hi ArielDeil,

Just wondering if you got any further on this. We too our running our nopCom in Azure. We are using 3.8 and using Azure Web App and Azure SQL DB (not a VM). And performance is not quite as snappy as we'd like. We haven't turned on Redis yet.

I know the big difference in this setup is the separation between the app and the DB. We are running another custom built ERP application in Azure as well, and to address these latencies, have been making sure we are very careful when using Entity Framework's Lazy Loading. That can make your app extremely DB chatty, which hurts quite a bit in this scenario.

We haven't started looking too much at nopCom yet to see what the main pinch points are, but it does seem fairly chatty as well when running SQL Profiler while retrieving different pages.
7 years ago
The conclusion of my test was that you can run 20 users concurrent on a single machine with maximum response time of 2sec with 2 CPUs and 8GB RAM. I tested this with 10 servers and got 200 users concurrent.


One thing to point out is that 20 users concurrent means that you have 20 HTTP requests at once on the server. The actual number of users that might be surfing your website (reading details of product, checking images, etc..) is usually 4 times this number so you might have 80 users visiting your website.


A few things to consider:
- SQL Azure slows down the speed because all SQL data needs to travel through the network
- Redis will also slow down the website for the same reason
- Using Blob as file storage dose not seem to effect the speed

Conclusion:
The best setup for nopCommerce is: local SQL server and local memory cache.

If you MUST handle more users than your server can hold then you have to split nopCommerce into more than 1 server and you should use Redis and a central SQL server.


In my case the actual project was not worth it, my client moved to another platform because of the cost of servers.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.