Clarification on large data

I have an 40 razor page which contain grid and combobox control.I have loaded data in grid and combobx in oninitialize event.

The average record in grid is 5000 record per page

The average record in combobox is 2500 record per page ( single combobox)

Is there any performance or load test issue,

If 500 concurrent user access this page using above scenario (loading large data in oninitialize event).

Please advise the best method to handle this scenario. 


8 Replies

KI KINS May 4, 2022 12:26 PM UTC

Awaiting for reply 



MS Monisha Saravanan Syncfusion Team May 6, 2022 01:01 PM UTC

Hi Kins,


Greetings from Syncfusion support.


We have checked your query and we suspect that you need to render larger amount of data  in a DataGrid. So we suggest you to use Virtual scrolling feature of DataGrid. We would like to inform that virtualization will render certain amount the rows initially which are present only in the viewport and load the next set of records upon scrolling.



Also we would like to inform you that when we render 5000 rows and 5 columns in DataGrid then it will render (5000 * 5 = 25000) DOM elements excluding 5 header elements, we have rendered each element as an component inside DataGrid so it will take some time to render those 25005 elements. It is the default behavior of DataGrid. So we request you to use virtualization feature to overcome the performance issue while using 5000 records per page


Reference: https://blazor.syncfusion.com/documentation/datagrid/virtualization


Note: Kindly check the limitations of virtual scrolling on the below UG


https://blazor.syncfusion.com/documentation/datagrid/virtualization#limitations-for-virtualization


Query: “Issue related to combobox”


We have created an separate forum for the query related to combobox. Kindly follow the mentioned thread for additional information


Please get back to us if you have further queries.


Regards,

Monisha



KI KINS May 8, 2022 04:53 AM UTC

Thanks for reply...

so If I use "virtualization" ,then there is no performance issue when 500 concurrent user access the page ???





MS Monisha Saravanan Syncfusion Team May 9, 2022 02:26 PM UTC

Hi Kins,


Query: “so If I use "virtualization" ,then there is no performance issue when 500 concurrent user access the page”


Yes, You can use virtualization feature and we would like to inform that there will be no performance issue when using Virtualization feature of DataGrid.


Kindly get back to us if you face any difficulties while using this feature.


Regards,

Monisha



KI KINS May 10, 2022 01:58 AM UTC

Thanks for reply..

I have another clarification,

While fetching large data (25000) from api and bind this to grid or combobox in oninitialize events ,wheather this will take performance issue if 500 concurrent user access this page ??



MS Monisha Saravanan Syncfusion Team May 10, 2022 02:01 PM UTC

Hi KINS,


Thanks for the update.


Query: “While fetching large data (25000) from api and bind this to combobox”


We suggest you to use Virtualization feature for Combobox component by setting “EnableVirtualization” property as true if you are handling huge number of data . For more details you can refer the below demo link provided . And for your information if the performance of the site is lower when more number of people accessing it on same time , it may due to the corresponding server standards and its capacity, it’s not related to the specific components used in your application .


Demo Link : https://blazor.syncfusion.com/demos/combobox/virtualization?theme=fluent



<SfComboBox TValue="string" TItem="Record" Placeholder="e.g. Item 1" DataSource="@Records" Query="@LocalDataQuery" PopupHeight="130px" EnableVirtualization="true">

            <ComboBoxFieldSettings Text="Text" Value="ID" />

        </SfComboBox>

 


Query: “While fetching large data (25000) from api and bind this to DataGrid”


For loading large number of data we suggest you to use virtualization and it will avoid the performance issue. We have already documented the topic related to performance. Kindly check the attached UG for your reference.


Reference: https://blazor.syncfusion.com/documentation/datagrid/webassembly-performance#use-paging-or-virtualization-to-load-only-visible-rows


Kindly get back to us if you have any difficulties or if you have further queries.


Regards,

Monisha



AA Adnan Ali July 1, 2023 02:13 AM UTC

I enabled the Virtualization on the data grid and set the height of the grid height in pixels but the grid stops loading next records, only the first few records are loaded.. Please suggest some solution for this 

SfGrid @ref="@CostingGrid" ID="Grid" FrozenColumns="1" DataSource="@ShopOrderCostingList" Width="1980px"

            Height="580px" EnableVirtualization="true" AllowExcelExport="true" AllowTextWrap="true"

                AllowSorting="false">



MS Monisha Saravanan Syncfusion Team July 3, 2023 10:41 AM UTC


Hi Adnan,


Greetings from Syncfusion.


Query: “I enabled the Virtualization on the data grid and set the height of the grid height in pixels but the grid stops loading next records, only the first few records are loaded.”


Before proceeding further with your requirement we need some more clarification from your end. Kindly ensure and share us the below details to procced further at our end.


  1. Have you enabled Grid page settings in your Grid. If so please share us the details.
  2. Share us the total number of records rendered at your end.
  3. Share us the entire Grid code snippet.
  4. Share us the video demonstration of the issue.
  5. If possible kindly share us a simple issue replicating sample from your end.


Also we could see that you have enabled AllowTextWrap property in DataGrid. We would like to inform that TextWrap is not supported with virtualization. Please check the limitations of virtualization in the below documentation.


Reference: Virtualization in Blazor DataGrid Component | Syncfusion


  • The height of the datagrid content is calculated using the row height and total number of records in the data source and hence features which changes row height such as text wrapping are not supported. If you want to increase the row height to accommodate the content then you can specify the row height using RowHeight property to ensure all the table rows are in same height.

 



Please get back to us if you still face difficulties.


Regards,

Monisha


Loader.
Up arrow icon