【发布时间】:2019-12-30 13:42:13
【问题描述】:
我的要求是对托管在本地 IIS 服务器中的 WCF 服务进行负载测试。我们正在尝试提高 WCF 服务的性能。在 PROD 环境中,WCF 服务和使用该服务的桌面应用程序也驻留在同一台机器上。
因此,为了对 WCF 服务的现有性能进行基准测试,我尝试使用 JMeter 通过在托管服务的同一台机器上运行服务来对服务进行负载测试。
我正在使用 JMeter 的 HTTP 测试脚本记录器来捕获从桌面应用程序到 WCF 服务的任何请求,以便我以后能够增加线程数以获取性能测量结果。
问题是我无法捕获到本地 IIS 服务器中托管的服务的任何请求。但是,如果我在单独的服务器中托管相同的服务并从运行消费桌面应用程序的机器上执行 Jmeter,那么 Jmeter 能够捕获到该 Web 服务器的所有传出请求。
甚至可以记录服务和消费的请求吗 桌面应用程序都驻留在同一台机器上?
当前配置
我在 Jmeter 代理中使用 8895 作为端口号
windows 中的手动代理设置(使用 Jmeter 中配置的相同端口号)
桌面应用配置文件(向本地服务发送请求)
<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>
【问题讨论】:
标签: c# wcf iis jmeter load-testing