blazor-405250-troubleshooting-troubleshoot-performance-related-issues.md
In modern applications, multiple aspects can affect performance, such as:
To determine the cause of performance issues, you need to collect app-specific data, such as execution time of .NET or JavaScript methods in problematic scenarios, network latency, or hardware specifications.
The best way to determine the underlying cause of performance issues is to profile application components with specialized performance profilers or loggers. Once you profile your application components and analyze the profiling logs, you will know exactly what contributes to performance delays and will be able to take optimization actions.
If your Blazor Web App has performance issues, we strongly recommend that you troubleshoot it as described in sections below before you submit a ticket to our Support Center. Otherwise, our support team would not be able to help you resolve your issues.
The local environment could be causing the issue. Try changing:
Use profiling and diagnostic tools to diagnose memory and CPU usage and other application-level issues. These tools gather performance data during application execution. You can use built-in diagnostic tools in Visual Studio or other third-party solutions of your choice to debug .NET code. Refer to the following Microsoft tutorial for additional information: Measure app performance in Visual Studio.
DevTools profiler helps analyze runtime performance of scripts. Refer to the following article for additional information: Analyze runtime performance.
Third-party libraries (scripts and stylesheets) can influence page performance significantly. For instance, they can send a lot of additional requests to the server, increase the page size, etc. Temporarily disable external libraries to determine their impact on application performance.
Blazor components can run on the server-side or client-side (in the browser). Refer to Microsoft documentation for additional information on how hosting models affect applications both at compile and runtime:
Try a test data source instead of a real source. Bind components to an in-memory data source instead of a database, or use a smaller data set.
Browsers iterate through all DOM elements to find specified CSS rules for each element and compute actual styles. A page with many DOM elements can slow down rendering, especially when CSS rules change component/element visibility. Refer to the following articles for additional information about style calculation:
Create a new ticket in the DevExpress Support Center, attach a sample project and performance profiling screenshots for future research.
Ensure that your application integrates the correct patterns and features. Refer to the Microsoft documentation for the latest recommendations: ASP.NET Core Blazor performance best practices.