(This may or may not be a little too proactive but here goes.)
We seem to be having performance problems on our production server. We have a Dot Net 4.0 web app with a main screen that is basically a RadGrid. The system currently has 119 records in it and the grid pages at 15 to the page. Some users are complaining about slowness. (According to your white paper on page http://www.telerik.com/products/aspnet-ajax/getting-started/top-performance.aspx , the RadGrid is supposed to be able to handle up to a million records 'easily'.)
If I have a question at all it's this. My grid is driven by a LinqToSQL datasource called from the NeedDataSource event. I've traced and this is firing every time I page, and presumably bringing back a fresh set of 119 records each time. Is this the way it's supposed to work? Am I missing something basic? Is there anything specific to LinqToSQL I can do to improve performance, if this is actually a data problem?
We seem to be having performance problems on our production server. We have a Dot Net 4.0 web app with a main screen that is basically a RadGrid. The system currently has 119 records in it and the grid pages at 15 to the page. Some users are complaining about slowness. (According to your white paper on page http://www.telerik.com/products/aspnet-ajax/getting-started/top-performance.aspx , the RadGrid is supposed to be able to handle up to a million records 'easily'.)
If I have a question at all it's this. My grid is driven by a LinqToSQL datasource called from the NeedDataSource event. I've traced and this is firing every time I page, and presumably bringing back a fresh set of 119 records each time. Is this the way it's supposed to work? Am I missing something basic? Is there anything specific to LinqToSQL I can do to improve performance, if this is actually a data problem?
7 Answers, 1 is accepted
0
Jayesh Goyani
Top achievements
Rank 2
answered on 08 Apr 2013, 06:36 PM
0
Boris
Top achievements
Rank 1
answered on 08 Apr 2013, 06:51 PM
Are you saying then that the claim in your pdf 'RadControls for Asp.Net Ajax Performance Whitepaper' that the RadGrid can handle a million records is based solely on the client side data binding techniques? Are there any server side techniques that might be tried?
I'm not complaining. It's just that on first glance this looks very far removed from what I am currently doing, a server side binding in the NeedDataSource event using a LinqToSQL data source.
Update; I've just talked with my boss. We have two instances of the application, call them Demo and Production running off the same physical web server. I'm told that currently it's not remotely near capacity. When my boss logs in to Demo he gets 179 records. In Production, 45. Yet Production is far slower than Demo. Does this suggest anything?
I suppose in the future I may have to investigate this client side technique but for the moment I'm stuck with server side.
I'm not complaining. It's just that on first glance this looks very far removed from what I am currently doing, a server side binding in the NeedDataSource event using a LinqToSQL data source.
Update; I've just talked with my boss. We have two instances of the application, call them Demo and Production running off the same physical web server. I'm told that currently it's not remotely near capacity. When my boss logs in to Demo he gets 179 records. In Production, 45. Yet Production is far slower than Demo. Does this suggest anything?
I suppose in the future I may have to investigate this client side technique but for the moment I'm stuck with server side.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 15 Apr 2013, 02:32 PM
Hello,
If you used client side data binding then it will not create viewstate for grid.
Please check below link for how viewstate affect performace of site.
http://www.codeproject.com/Articles/101888/ViewState-Various-ways-to-reduce-performance-overh
Thakns,
Jayesh Goyani
If you used client side data binding then it will not create viewstate for grid.
Please check below link for how viewstate affect performace of site.
http://www.codeproject.com/Articles/101888/ViewState-Various-ways-to-reduce-performance-overh
Thakns,
Jayesh Goyani
0
Boris
Top achievements
Rank 1
answered on 15 Apr 2013, 02:41 PM
Sorry. I should have appended here earlier.
Thanks for your prompt response but client side data binding was a little too far removed from what I've been doing and might have taken too long to implement.
I've found, given the current structure of my project, that I could quickly and simply implement custom (server side) pagination. This appears to be working very well.
As for the performance problem itself, aside from the fact that I was drawing too many records at one time, the slower system may have been returning fewer records but there was a text field in there that was, on the average, returning vastly more data. (Learning experience! In spite of all our documentation and pleading, some users were logging in with Firefox and pasting images into the RadEditor. )
Once again, thank you for your support.
Thanks for your prompt response but client side data binding was a little too far removed from what I've been doing and might have taken too long to implement.
I've found, given the current structure of my project, that I could quickly and simply implement custom (server side) pagination. This appears to be working very well.
As for the performance problem itself, aside from the fact that I was drawing too many records at one time, the slower system may have been returning fewer records but there was a text field in there that was, on the average, returning vastly more data. (Learning experience! In spite of all our documentation and pleading, some users were logging in with Firefox and pasting images into the RadEditor. )
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/custompaging/defaultcs.aspx
http://www.telerik.com/help/aspnet-ajax/grid-custom-paging.html
Once again, thank you for your support.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 15 Apr 2013, 06:25 PM
Hello,
yes, You can also manage with custom pagging but by using this you can only manage DB side not from server side. (still viewstate generate with same size)
To resolve the performance issue permanently, please use below link (client side binding).
By using below link you can manage DB side as well as Server side also
http://demos.telerik.com/aspnet-ajax/grid/examples/client/declarativedatabinding/defaultcs.aspx
Thanks,
Jayesh Goyani
yes, You can also manage with custom pagging but by using this you can only manage DB side not from server side. (still viewstate generate with same size)
To resolve the performance issue permanently, please use below link (client side binding).
By using below link you can manage DB side as well as Server side also
http://demos.telerik.com/aspnet-ajax/grid/examples/client/declarativedatabinding/defaultcs.aspx
Thanks,
Jayesh Goyani
0
Boris
Top achievements
Rank 1
answered on 15 Apr 2013, 06:43 PM
I'm sorry. I don't wish to give offence but I can't read your answer. What are you trying to say?
0
Jayesh Goyani
Top achievements
Rank 2
answered on 16 Apr 2013, 02:03 PM
Hello,
As per your second last post, By using "Custom Pagging" you can able to improve 50% performance.
Me : by using "Client side data binding", you can able to improve 100% performance.
Thanks,
Jayesh Goyani
As per your second last post, By using "Custom Pagging" you can able to improve 50% performance.
Me : by using "Client side data binding", you can able to improve 100% performance.
Thanks,
Jayesh Goyani