When an ArcIMS map service references data in an ArcSDE geodatabase, multiple gsrvr processes are spawned because ArcIMS is a multithreaded application.
Each map service is assigned to a specific virtual server, which controls how the data in that map service will be processed. Each virtual server is assigned a number of instances, which controls how many requests that virtual server can process simultaneously.
When serving ArcSDE data through an ArcIMS map service, the number of gsrvr processes spawned on the ArcSDE server will equal the number of instances assigned to the virtual servers responsible for processing requests to the MapService.
For MapServices assigned to an image server (Image MapService), the image server and query server will process requests. For map services assigned to a feature server (Feature MapService), a FeatureServer will process requests.
For both types of map services, if the map configuration file contains geocoding properties or extract properties, the geocode server and extract server virtual servers will also be included.
Multiple map services assigned to the same virtual server will not spawn additional gsrvr processes. If the map service's map configuration file points to two different databases within an ArcSDE instance, the number of gsrvr processes spawned will double.