Learn More, Pay Less!
Limited Time Offer!
Open Closed

Critical Performance Issue in Blazor WebAssembly with ABP (Affecting Multiple Production Applications) #8743


User avatar
0
maria_ruiz created
  • 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)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Please share your website url and a test username&password

    I will check it online.

    liming.ma@volosoft.com

    Thanks

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    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.

  • User Avatar
    0
    franciscosl created

    Hello,

    The error is that sometimes, most of the time, it takes more than a minute to access the application.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    As far as I can see, the API requests take most of the time to initial the page. Total: 9.44s

  • User Avatar
    0
    franciscosl created

    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.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    The /Gdpr/PersonalData page.

    Total: 9.21s

    Do you know which page doesn't make many API calls?

  • User Avatar
    0
    maria_ruiz created

    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.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    For me, it's about 20s and most of the time it downloads the wasm file.

  • User Avatar
    0
    maria_ruiz created

    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.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi This is how blazor wash works.

    You can consider using blazor server or blazor webapp mode.

  • User Avatar
    0
    franciscosl created

    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?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    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

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    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.

Made with ❤️ on ABP v9.2.0-preview. Updated on February 13, 2025, 10:35