Select to view content in your preferred language

How to estimate max waiting time setting for map image layer

602
5
Jump to solution
2 weeks ago
MatthewTsui5
Occasional Contributor

How do you estimate the value for the setting: The maximum time a client will wait to get a service?

The default is 60 seconds [See screenshot]. Occasionally, I receive Server logs about expired wait time. Should I base the value based of the Time-Out request chart? [See screenshot]

The spike are primarily due to 1 map image layer that will continue to increase in rows (1,000 to 10,000 per month).

0 Kudos
1 Solution

Accepted Solutions
JakeSkinner
Esri Esteemed Contributor

I'll consider increasing The maximum time a client will wait to get a service to 2 minutes.

I would recommend increasing your max instances for the service rather than the maximum time a client will wait. When clients are waiting long periods, it's usually due to there not be enough instances to handle all the requests.  Personally, I know if I open a web map/application, I won't wait 2 minutes to see if the service is going to render.  After about 10 seconds I would think the application is broken and close out.

View solution in original post

0 Kudos
5 Replies
DavidColey
MVP Frequent Contributor

Over the years I have tried adjusting the setting for "maximum time a client will wait to get a service" and have found that it just gets you nowhere.  I never pay attention to  log entry anymore because so many things can affect what is driving a wait time.  I have found that it is best to just leave it as is. 

If you can get ArcGIS Monitor setup and begin looking at a metric called 'Instance Saturation', that will tell you how busy a service is throughout the day. 

For example, I have a map image service serving 300K plus rows for Annotation that is heavily used in a very busy Experience.  I had it set to use (2x2) for 4 total dedicated soc instances.  At that setting, the Saturation was at 100% for much of the day.  By increasing it by just one soc instance (3x3) to 6 total dedicated soc instances, that drove the Saturation levels down to 40 - 50% for most of the day. This in turn decreases the number of timed out requests. 

JakeSkinner
Esri Esteemed Contributor

Hi @MatthewTsui5, I recommend looking at the Max Response Time and Avg. Response Time for your services.  I try to keep the Avg. Response Time around 2 seconds or less.  If you see high response times, compare this to the Max Instances Running.  If the service has it's maximum amount of instances running this is an indication that users are waiting for other requests to complete before the service can handle theirs.  This can also lead to a timeout.  Instead of increasing the timeout value, you should increase the maximum number of instances for that service.


MatthewTsui5
Occasional Contributor

Hi JakeSkinner,

Thanks for your advice.

I'll consider increasing The maximum time a client will wait to get a service to 2 minutes.

I lack consistent data to prove change is needed, because:

-Max response time greater than 2 minutes for the map image layer only occurred once

-The issue occurred when trying to set graduated symbology for the map image layer, which should not happen anymore.

However, I will consider increasing to 2 minutes if the issue occurs again for the following reasons:

-The # of records for this map image layer will indefinitely increase

-I have already set the maximum # of instance to 4 (we have 4 cores of the server machine)

I should also consider other things like visibility range, filters. There aren't many reasons to show 100,000 of points at once when the applications loads.

 

0 Kudos
JoshuaBixby
MVP Esteemed Contributor

How frequently is this happening, that is the best bar to use for deciding whether it it worth chasing down the issue.  If it is happening daily or multiple times a week, then it is probably worth looking into.  If it is happening every couple or few weeks or months, I personally would not spend the cycles chasing it down.  Then again, maybe you have a whole lot more free time on your hands than I do.

Regarding the setting itself, it depends.  If the service is optimized well and response times are < 5 seconds, then getting timeouts indicate you are getting a lot of traffic and adding more SOCs is probably the better approach.  If the service's performance is poor, averaging half the timeout or more, then I usually push back on the service publisher to improve either the data structure, map structure, or both.  Although one can throw resources at a poor performing service by increasing SOCs and timeouts, that is usually treating the symptoms and not the root cause.

0 Kudos
JakeSkinner
Esri Esteemed Contributor

I'll consider increasing The maximum time a client will wait to get a service to 2 minutes.

I would recommend increasing your max instances for the service rather than the maximum time a client will wait. When clients are waiting long periods, it's usually due to there not be enough instances to handle all the requests.  Personally, I know if I open a web map/application, I won't wait 2 minutes to see if the service is going to render.  After about 10 seconds I would think the application is broken and close out.

0 Kudos