- ABP Framework version: v8.3.2
- UI Type: Blazor WASM
- Database System: EF Core (SQL Server)
- Tiered (for MVC) or Auth Server Separated (for Angular): no
- Steps to reproduce the issue:
We are facing a severe issue with access to our Blazor WebAssembly application based on ABP, which varies significantly between devices. We currently have six applications in production, and this issue is affecting all our users, who are already reporting access and performance problems.
We have been investigating this issue for months and have identified that other ABP customers have reported similar problems. Below are some relevant discussion threads:
https://abp.io/support/questions/3643/Guidance-required-on-Blazor-WASM-performance-issues https://github.com/dotnet/aspnetcore/issues/16956#issuecomment-552475370 https://github.com/Megabit/Blazorise/discussions/4291
It is important to note that this is not a WebAssembly download issue, as the browser inspector shows that files are fully downloaded in a short time. The problem occurs exclusively in production when the application is deployed on Azure, whereas in a local environment, it runs smoothly.
Given the significant impact on our users, we are conducting various tests to identify the root cause:
Verifying that the issue is not related to the database, DTUs, memory, or processor.
Analyzing metrics in Azure Application Insights and testing in alternative environments such as Docker or IIS to rule out caching or configuration issues.
Evaluating migration to .NET Core 9 due to its performance improvements and possible optimizations in ABP.
Setting breakpoints, removing the initial dashboard to rule out problematic components, and considering Blazor Server as a last resort.
Due to the critical nature of this issue, we urgently need a resolution. We can provide access to the application for testing or share videos demonstrating the problem.
We would greatly appreciate any guidance or solutions to resolve this issue as soon as possible.
Looking forward to your prompt response.
13 Answer(s)
-
0
hi
Please share your website url and a test username&password
I will check it online.
liming.ma@volosoft.com
Thanks
-
0
hi
I'm able to access your website.
https://app-ctms-qa.fundanxxxxxxx.com/dashboard
Can you share the steps to show the performance problem?
Thanks.
-
0
Hello,
The error is that sometimes, most of the time, it takes more than a minute to access the application.
-
0
-
0
You can try accessing other pages of the application the first time, some that do not make requests to the api, it takes the same.
-
0
-
0
Hello!
The problem is when the application is loaded, when it goes through the program.cs and initialises all the modules.
Normally it takes 30 seconds to load the application, but for many users it takes up to 1 minute.
You can clear the cache as well, it does take a little less time with everything cached but there is little difference.
-
0
-
0
Hi,
Any way to reduce the wasm time? However, if we reduce this time there is another 15 - 18 seconds that it takes to load, it is unfeasible for users.
-
0
hi This is how blazor wash works.
You can consider using blazor server or blazor webapp mode.
-
0
Hello,
We believe that the problem comes from the support that ABP gives to blazor, because in other Blazor WASM applications published in azure this does not happen to us, we have no performance problems. Also, as we have seen in several links, this error is reported by several people, where they are also not given an effective solution.
The only solution is to have to migrate to blazor server or blazor webapp, is that the "support" given to blazor WASM?
-
0
The
/Gdpr/PersonalData
page loaded in 14.78s, after clear wasm cache. the page loaded in 17.37s,you can see the Ajax call takes most of the time.
| Request Type | Number of Requests | Total Time | |------------------------------|------------------------|----------------| |
application/json
| 14 | 10.451s | |text/html
| 2 | 4.1s | |application/x-unknown
| 12 | 3.094s | |application/javascript
| 3 | 107ms | |text/css
| 13 | 434ms | |image/jpeg
| 1 | 281ms | |application/x-javascript
| 9 | 220ms | |text/plain
| 1 | 38ms | |image/png
| 2 | 9ms | |application/font-woff
| 2 | 3ms | |application/font-woff2
| 2 | 2ms |
Refresh the page again.
Ajax: 5.949s.
These api calls will appear in any page, even if it is an empty page
-
0
You can condier to using blazor webapp
It will initiate the page using the blazor server, download wasm files in the background, and switch to blazor wasm next time.