Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7675661
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T17:00:40+00:00 2026-05-31T17:00:40+00:00

The problem: I have a WCF service that I’m trying to performance test with

  • 0

The problem:
I have a WCF service that I’m trying to performance test with JMeter and I’ve noticed that the service response times increase significantly when more concurrent requests are sent. The first concurrent request returns in the expected amount of time, but each subsequent request takes an increasing amount of time – so that the last request can take double the time of the first.

Here is a screenshot of a run in JMeter:
Performance Test Results

The Code:
I have stripped back the WCF service to bare minimum, so all the service method just contains a Thread.Sleep() to simulate a slightly longer running process.

[ServiceContract]
public interface IAvailabilityService
{
  [OperationContract]
  Thing GetSomething(Request request)
}    

[ServiceBehavior(
  InstanceContextMode = InstanceContextMode.PerCall, 
  AddressFilterMode = AddressFilterMode.Any)]
public class AvailabilityService : IAvailabilityService
{
  public Thing GetSomething(Request request)
  {
    Thread.Sleep(20000);
    return new Thing();
  }
}

The service is configured as follows:

<?xml version="1.0"?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="MyService.AvailabilityService"
               behaviorConfiguration="DefaultServiceBehavior">
        <endpoint address="" 
                  binding="basicHttpBinding"
                  bindingConfiguration="bindingConfig"
                  contract="MyService.IAvailabilityService" />
      </service>      
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="DefaultServiceBehavior">      
          <serviceMetadata httpGetEnabled="true"/>      
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="bindingConfig">
          <security mode="None">
            <transport clientCredentialType="None" />
            <message establishSecurityContext="false" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
  </system.serviceModel>
</configuration>

I have also tried configuring the service to run as other standard HTTP bindings. Also I have tried upping the service throttling levels on the binding configuration (though I’m sure that for 20 requests the defaults should be fine).

Service Set-up:
The service is running in IIS 6.1 on Windows Server 2008 R2 in .NET 3.5.
Though we have also seen the same behaviour on IIS 7.

Service Trace:
I have turned on tracing and this has revealed that the service always takes around 20 seconds to process each response, but the recieve bytes on connection has a staggered start time which reflects the differences in time reported by JMeter.

Does this suggest a lag in service activation by IIS? It can’t be a concurrency issue in WCF as you would expect the last thread to be 20x the execution of the first.

Thanks in advance

Iain

UPDATE
I’ve managed to get to a consistent response by increasing the number of worker processes in IIS to match the number of concurrent requests that I want the service to handle (20) – making the site a Web Garden. Though it surprises me that you need to do this in order to get a consistent level of performance from WCF.

I’ll leave the question open a couple more days in case anyone has any better ideas.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T17:00:42+00:00Added an answer on May 31, 2026 at 5:00 pm

    This was resolved by upping the number of worker processes for the app pool in IIS. As this blog post mentions, potentially long running processes in WCF have to be supported by multiple worker processes.

    There is also a balancing act on the web server to ensure that the worker processes don’t exceed the machine RAM and eat into virtual memory, which can also slow processing down.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am having the following problem: I have a WCF service that checks a
I have a WCF restful service that I'm trying to upload an image to.
I have a WCF Service that return a json. I want to test it
Problem: I have a WCF service setup to be an endpoint for a call
Here is the problem: I have a WCF service and a few sites connecting
Greetings, I have to following problem. I have a WCF Service which runs under
I have a problem with getting jquery to retrieve results from a WCF service.
So I came across an interesting problem today. We have a WCF web service
I have a problem with my WCF Data Service, and this one is just
I have a WCF service that uses Message contract for request and replies of

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.