Marco
Marco

Reputation: 1349

ARR does not send Response.Flush content to client

In some classic asp applications here we use the Response.Flush to immediately send content from server to the client, at least that's how used to work with IIS7.

Now that we have two servers and a proxy-reverse server using ARR to load balance the requests (all 3 running IIS10), for some reason the Response.Flush method does not work as used to. It looks like the response is sent to the ARR whom wait until the response server send all the content before giving it to the client.

This is an issue mainly when the remaining content takes some time to be processed.

Is there any config I should know about?

Upvotes: 0

Views: 1247

Answers (1)

Kul-Tigin
Kul-Tigin

Reputation: 16950

There's a response buffer threshold setting in ARR Server Proxy Settings that defaults to 256 KB.

If you set it to 0 (KB), it must be work as you expect.

This is a machine scope setting so you need to have administrative privileges to modify it.

You can change the setting by running following command in a command prompt

%windir%\system32\inetsrv\appcmd.exe set config  -section:system.webServer/proxy /minResponseBuffer:"0"  /commit:apphost

or by using IIS Manager's GUI:

  • Open IIS Manager
  • Click server's name on the menu
  • Double click Application Request Routing Cache
  • Click Server Proxy Settings on Actions pane.
  • Scroll to Buffer Setting group.
  • Change Response buffer threshold (KB) setting.
  • Click Apply on Actions pane.

Upvotes: 4

Related Questions