<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.iis.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:cs="http://blogs.iis.net/"><channel><title>IIS 7.0 - Application Request Routing (ARR)</title><link>http://forums.iis.net/1154.aspx</link><description>Maximize server resources, and increase application availability and scalability with Application Request Routing.  Use this forum to ask questions, discuss issues, request features, and get support.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: ARR HTTP Streaming Performance</title><link>http://forums.iis.net/thread/1904576.aspx</link><pubDate>Fri, 22 May 2009 20:10:35 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1904576</guid><dc:creator>karl_mcguinness</dc:creator><slash:comments>0</slash:comments><comments>http://forums.iis.net/thread/1904576.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1154&amp;PostID=1904576</wfw:commentRss><description>&lt;p&gt;I am not sure how WCF implements streaming, but this following code snippet is what I am using (returning a memory stream with the service host binding transfermode set to streaming&lt;/p&gt;
&lt;p&gt;[ServiceContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public interface IHttpPerformanceTest {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebGet(UriTemplate=&amp;quot;/{fileSizeInBytes}&amp;quot;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stream OnGet(string fileSizeInBytes);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ServiceBehavior(InstanceContextMode=InstanceContextMode.Single, ConcurrencyMode=ConcurrencyMode.Multiple)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class HttpPerformanceTestService : IHttpPerformanceTest {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static byte[] buffer = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static int bufferSize = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public HttpPerformanceTestService() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Stream OnGet(string fileSizeInBytes) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int nrBytes = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Int32.TryParse(fileSizeInBytes, out nrBytes);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nrBytes != bufferSize) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffer = new byte[nrBytes];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bufferSize = nrBytes;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MemoryStream stream = new MemoryStream(buffer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return stream;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; using (WebServiceHost host =&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new WebServiceHost(new HttpPerformanceTestService(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; baseAddress))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebHttpBinding binding = new WebHttpBinding();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; binding.MaxBufferPoolSize = 16 * 1024 * 1024; // 16 megs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; binding.TransferMode = TransferMode.StreamedResponse; // Stream the responses&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // add an endpoint using the custom binding&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.AddServiceEndpoint(typeof(IHttpPerformanceTest),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; binding, &amp;quot;&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.Open();&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;HttpPerformanceTestService is up and running at uri &amp;quot; + baseAddress);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;...Press any key to exit&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadKey();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: ARR HTTP Streaming Performance</title><link>http://forums.iis.net/thread/1904575.aspx</link><pubDate>Fri, 22 May 2009 19:27:40 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1904575</guid><dc:creator>anilr</dc:creator><slash:comments>0</slash:comments><comments>http://forums.iis.net/thread/1904575.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1154&amp;PostID=1904575</wfw:commentRss><description>&lt;p&gt;I am not sure that you are comparing apples to apples - is your WCF service actually streaming the response, i.e. is it calling winsock multiple times with small chunks of &amp;quot;real-time&amp;quot; data?&amp;nbsp; Or is it just sending the 512kB response in one send to the client.&amp;nbsp; By setting minResponseBuffer to 0 in ARR, you are forcing ARR to send the response in multiple small chunks to winsock which is going to affect the latency of the response (6ms on average to 46ms on average).&lt;/p&gt;</description></item><item><title>Re: ARR HTTP Streaming Performance</title><link>http://forums.iis.net/thread/1904501.aspx</link><pubDate>Fri, 22 May 2009 01:49:39 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1904501</guid><dc:creator>wonyoo</dc:creator><slash:comments>0</slash:comments><comments>http://forums.iis.net/thread/1904501.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1154&amp;PostID=1904501</wfw:commentRss><description>&lt;p&gt;karl_mcguinness&lt;/p&gt;
&lt;p&gt;Thanks for the detailed info.&lt;/p&gt;
&lt;p&gt;In your case, since you are doing the testing on a high speed network (1GB), I don&amp;#39;t believe that setting responseBufferLimit to 0 is going to help.&amp;nbsp; In fact, it will hurt your throughput (because the rate at which the data is transmitted is faster than the code that is proxying the data.)&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve done some basic testing using a similar set up as yours (1GB link, 512KB response size).&amp;nbsp; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;My baseline (going directly to the source): 115 req/sec&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ARR with default config: 83 req/sec (28% overhead)&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;ARR with responseBufferLimit 0: 70 req/sec (40 % overhead)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Note that using the default value will increase your time to first byte time (since it fills up the buffer), but you should be able to get higher throughput.&amp;nbsp; So I would recommend using the default settings and rerun your test to see if you are seeing around 28% overhead.&lt;/p&gt;
&lt;p&gt;That said, for handling dynamic requests and/or web services, ARR&amp;#39;s real value is around scalability and availability.&amp;nbsp; Using 2 content servers, I am able to increase the overall capacity well above 1 web service server with no additional overhead (beyond 28%).&amp;nbsp; ARR makes up this overhead in other ways, esp. in non-web services requests when the requests are mixture of dynamic and static contents via caching and also running in a hybrid mode (where ARR is both a proxy and a content server.)&lt;/p&gt;</description></item><item><title>ARR HTTP Streaming Performance</title><link>http://forums.iis.net/thread/1904396.aspx</link><pubDate>Wed, 20 May 2009 23:04:25 GMT</pubDate><guid isPermaLink="false">50bcf3b4-f6fe-4638-adff-0c150e922e99:1904396</guid><dc:creator>karl_mcguinness</dc:creator><slash:comments>0</slash:comments><comments>http://forums.iis.net/thread/1904396.aspx</comments><wfw:commentRss>http://forums.iis.net/commentrss.aspx?SectionID=1154&amp;PostID=1904396</wfw:commentRss><description>&lt;p&gt;I am trying to determine the proxy overhead of ARR v1.0 RTM&amp;nbsp;in a binary HTTP streaming scenario.&amp;nbsp; I have developed a very simple test&amp;nbsp;WCF application that takes a GET request via a URI template for a number of bytes and streams the requested number of bytes back to the client.&amp;nbsp; The test environment is also simple.&amp;nbsp; 1 Web Server running the WCF Service, 1 Web Server running ARR, and a client all connected on a dedicated 1 GB switch.&lt;/p&gt;
&lt;p&gt;The ARR Configuration is simple&lt;/p&gt;
&lt;p&gt;1 Rewrite Rule&lt;/p&gt;
&lt;p&gt;&amp;lt;globalRules&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rule name=&amp;quot;WcfWebFarmRoute&amp;quot; enabled=&amp;quot;true&amp;quot; patternSyntax=&amp;quot;Wildcard&amp;quot; stopProcessing=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;match url=&amp;quot;WcfPerfTest/*&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;conditions&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/conditions&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;action type=&amp;quot;Rewrite&amp;quot; url=&amp;quot;&lt;a href="http://wcfwebfarm/%7BR:0"&gt;http://WcfWebFarm/{R:0&lt;/a&gt;}&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/rule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/globalRules&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/rewrite&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;1 WebFarm&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;lt;webFarms&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;webFarm name=&amp;quot;WcfWebFarm&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;server address=&amp;quot;wcfhost.test.com&amp;quot; enabled=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;applicationRequestRouting httpPort=&amp;quot;80&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/server&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;applicationRequestRouting&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;protocol minResponseBuffer=&amp;quot;0&amp;quot;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/applicationRequestRouting&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/webFarm&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;applicationRequestRouting&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;hostAffinityProviderList&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;Microsoft.Web.Arr.HostNameRoundRobin&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&amp;quot;Microsoft.Web.Arr.HostNameMemory&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/hostAffinityProviderList&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/applicationRequestRouting&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/webFarms&amp;gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I have tried to follow the advice detailed in the posts below for streaming support.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://forums.iis.net/p/1154087/1888966.aspx"&gt;http://forums.iis.net/p/1154087/1888966.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://forums.iis.net/p/1154087/1888966.aspx"&gt;http://forums.iis.net/p/1154087/1888966.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The IIS Configuration UI for the proxy does not allow 0 as a valid value, so the applicationHost file was edited manually.&amp;nbsp; I have tried setting both responseBufferLimit=&amp;quot;0&amp;quot; as well as minResponseBuffer=&amp;quot;0&amp;quot;.&amp;nbsp; My test results have not show a difference.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The client connecting through the ARR&amp;nbsp;proxy to the wcf host is able to send 1000 requests for 512 KBytes in 46359.8026147287 ms, 11044 KB/sec&lt;/p&gt;
&lt;p&gt;The same client connecting directly to the WCF host (no ARR) is able to send 1000 requests for 512 KBytes in 6667.43178952004 ms, 76791 KB/sec&lt;/p&gt;
&lt;p&gt;Is there any settings/options to minimize the overhead I am experiencing.&amp;nbsp; It appears that the streaming option minResponseBuffer=&amp;quot;0&amp;quot; does not seem to work.&amp;nbsp; The overhead I am experiencing seems too high for this simple test scenario.&amp;nbsp; I cannot find documentation on how ARR is implemented to understand the internal behaviour of the ARR proxy. Is there some instrumentation available to understand where the overhead is occuring in the request/response pipeline?&lt;/p&gt;
&lt;p&gt;Any help would be much appreciated.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>