This is a migrated thread and some comments may be shown as answers.

Scheduler performance issues

8 Answers 78 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Edward
Top achievements
Rank 1
Edward asked on 06 Jan 2016, 01:40 PM

I built an application for a client last year based on the webforms scheduler control, which they were very happy with, except for its speed, which was quite honestly dreadful. I looked at all the suggestions I could find on this forum and in your documentation regarding improving performance and implemented anything applicable. However, it still takes upwards of 2 & 1/2 minutes to load the scheduler page with 128 appointments over 4 days. They will only hire the application again this year if I can speed it up very significantly.

My implementation included binding to a custom provider and using the advanced form. It also required a single resource type for rooms, and 2 multiple resource types of meeting leaders and meeting participants. Eventually, there were 4 rooms, approximately 30 meeting leaders and 4,000 meeting participants. Because it looked to me as if the provider was loading all 4,000 meeting participants as a resource for each appointment, I adapted it to load only those attached to existing appointments (reducing the number to approximately 128), replacing the resource combobox for that in the advanced form with a search box, so that new participants could be added. Even that didn't significantly improve the speed.

I read that binding to Web API might improve things, but when I tried implementing that, it appeared that I couldn't call the overridden GetAppointments method from my custom provider. Would it be feasible to override the WebServiceAppointmentController class in a similar way to creating a custom provider?

I doubt anyway that using client-side binding via Web API is going to improve its performance significantly. I got the impression from using the provider methods elsewhere in my application, even when not directly attached to the scheduler control, that it was that slowing things down.  Is it possible that re-writing in MVC and using the MVC scheduler might solve the problem, or does that draw on the same provider? At present, barring that, all I can think to do is search for a more efficient scheduler control from a third-party vendor other than Telerik or start something from scratch myself.

8 Answers, 1 is accepted

Sort by
0
Plamen
Telerik team
answered on 11 Jan 2016, 08:23 AM
Hello Edward,

In such case our best suggestion for performance is using client side binding that is WebService, WCF or WebApi. 

You may straight away test our Web Service custom provided demo by using the instructions from this help article.

Regards,
Plamen
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Edward
Top achievements
Rank 1
answered on 11 Jan 2016, 12:42 PM
I tried using WebApi for client side binding. However, the controller for that seems to inherit from WebServiceAppointmentController, whose GetAppointments method takes a schedulerInfo parameter. I need to use my own GetAppointments method, which currently overrides the DbSchedulerProviderBase method, and other methods from my custom scheduler provider, which includes multiple appointment resources and custom attributes. Is there a way to do so?
0
Plamen
Telerik team
answered on 12 Jan 2016, 08:33 AM
Hello Edward,

You can customize the GetAppointments method when you are using WebApi binding too as for example it is done in this code library that is bound to custom XML. You can use the approach and use your own custom .provider

Regards,
Plamen
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Mehmet
Top achievements
Rank 1
answered on 15 Feb 2016, 11:11 PM

Hi,

The custom provider takes the data from the database and regardless using the Client WebService binding that creates seriously a speed issue. The scheduler has got a couple of resources on it, however, it doesn't perform as suppose to be. 
The only way to improve the issue is to load the currently visible dates item on it, and whenever the user changes the visible date/dates on the then the rebind method can operate the next available start-end date. 
However, I have no idea how to capture the next visible start-end date and I don't think any other option to improve the issue.
Any kinda help is appreciated. 

0
Plamen
Telerik team
answered on 16 Feb 2016, 07:47 AM
Hello,

Web Service binding of RadScheduler is getting just the appointments from visible range as for example it can be observed in this online demo.

Regards,
Plamen
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Mehmet
Top achievements
Rank 1
answered on 16 Feb 2016, 10:36 PM

Hi Plamen,

I don't think I was able to see what exactly you pointed in here.

Can you elaborate more about how to call the the navigation button actions in order to the data for the next visible week or day or month as the user keeps clicking on the arrows?

thank you

0
Plamen
Telerik team
answered on 18 Feb 2016, 08:07 AM
Hi,

If you impelemnt the Web?Service binding as it is shown in the demo I linked RadScheduler will only ding the resources that are through the current visible aria - for example if you go to day view and check the count of the appointments of the scheduler by using get_appointments(),get_count() of the scheduler client object you will see that the number of the appointments is different from the number when the selected view is week view.

Hope this information will be helpful.

Regards,
Plamen
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Mehmet
Top achievements
Rank 1
answered on 23 Feb 2016, 01:25 AM

Hi, I can definitely say that having a web service calls for a significant result that causes a speed issue. 
I have got the advance form.
I have got the resource types.

I kinda customise the GetAppointments method, however, I am facing a performance issue. 

What is the best approach to overcome the issue?

Tags
Scheduler
Asked by
Edward
Top achievements
Rank 1
Answers by
Plamen
Telerik team
Edward
Top achievements
Rank 1
Mehmet
Top achievements
Rank 1
Share this question
or