I have been having a problem in my .NET application where the map is zoomed to a level where the layers become visible and they take far too long to draw on the map. I am using a Map Server with ArcGIS Server running on a Windows server in the building. I know the ServiceFeatureTable for each layer is being automatically filled and cached when I pan and zoom, but it seems to be using the least amount of resources as possible. When I view the Map Service in ArcCatalog when I pan the map, it only shows 1 instance in use for the service I am using. At some zoom levels, it takes between 15 and 30 seconds to draw, and in this time, I can call QueryFeaturesAsync on that same Map Server, but it seems to queue the query and I don't get results until the map is done drawing.
In contrast, when I view the same webmap in the ArcGIS Online Map Viewer, drawing the same features on the map at the same zoom is much faster because ArcCatalog reports that it is using 6 instances to load the features concurrently. I have tested to see if this is possible by starting 6 threads and having each one call QueryFeaturesAsync on a different area on the screen and I see the same problem where it only allows 1 query at a time and the rest are queued.
Is this intended functionality in the runtime, or is this a bug? If it is possible to use multiple instances, how can I enable it? As it stands now, I will need to severely decrease the visible scale for the layers on my maps that include dense sets of features.