0

My requirement is to load test a WCF service hosted in the local IIS server. We are trying to improve the performance of a WCF service. In the PROD environment both the WCF service and the desktop application which consumes this service also resides in the same machine.

So in order to baseline the existing performance of the WCF serrvice, I'm trying to use JMeter to load-test the service by running it from the same machine where the service is hosted.

I'm using JMeter's HTTP Test Script Recorder to capture any request going from desktop app to WCF service, so that I will be able to later increase the thread count to get the performance measurements.

problem is I'm unable to capture any requests going to the service hosted in the local IIS server. But if I host the same service in a separate server and execute the Jmeter from the machine where consuming desktop app is running, then Jmeter is able to capture all the outgoing requests to that web server.

Is that even possible to record requests where service and consuming desktop app both resides in the same machine?

Current Configurations

I'm using 8895 as the port number in the Jmeter proxy

enter image description here

Manual proxy setting in windows (using the same port number configured in Jmeter)

enter image description here

Desktop app configuration file (which sends requests to local service)

    <bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding_IPayment" proxyAddress="http://127.0.0.1:8895" useDefaultWebProxy="false" bypassProxyOnLocal="false">                     
                <security mode="None" />
            </binding>            
        </wsHttpBinding>        
    </bindings>
    <client>
      <!--<endpoint address="http://10.2.179.100/PaymentService/Payment.svc " binding="wsHttpBinding"-->                      
      <endpoint address="http://127.0.0.1:88/Payment.svc" binding="wsHttpBinding"          
          bindingConfiguration="WSHttpBinding_IPayment" contract="PaymentServiceReference.IPayment"
            name="WSHttpBinding_IPayment" />
    </client>
</system.serviceModel>

1 Answer 1

1
  1. You might need to add Microsoft Loopback Adapter in order to capture link-local traffic

    enter image description here

  2. You might need to set a system-level HTTP proxy like:

    netsh winhttp set proxy 127.0.0.1:8895
    

More information: How to Run Performance Tests of Desktop Applications Using JMeter

Sign up to request clarification or add additional context in comments.

2 Comments

Thank you for your input, I will try your approach and see if the requests are being captured in Jmeter.
Really appreciate your help,finally I got it working. In addition to what you have suggested, I also had to use the IPv4 of my local machine in the desktop app's app.config file (WCF endpoint address) having localhost or 127.0.0.1 didn't work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.