On Fri, 2016-07-01 at 17:16 +0000, Wang, Andy wrote: > We're seeing some really poor performance with isapi_redirect.dll and > uploading files with IIS. > > In a particular example, using a 200MB file, the file upload (POST) > takes ~50 seconds on localhost. > > The same upload using Apache and mod_jk takes about ~6 seconds. > > The interesting thing is, on a remote client, the behavior is almost > the same. > Upload to IIS takes ~50 seconds, upload to apache/mod_jk takes ~7 > seconds. > > I've done some wireshark captures have found some of the differences. > > Apache streams to mod_jk as the upload is occurring. > > IIS appears to be buffering the entire upload before finally > streaming > to tomcat via ajp. The TCP recieve window is regularly being starved > (ZeroWindow) and the client has to wait for a window update before > being able to send more. I'm not familiar with ISAPI at all, so I > don't know if the responsibility on the buffering of the POST is an > IIS > issue, or is the isapi_redirect filter the problem? Or is there some > overall limitation with isapi? >
Apparently the site that was running into this problem had someone set uploadReadAheadSize to 2GB in IIS. That specifically controls the amount that IIS buffers before sending to isapi. So that was it. Dialing that back appears to have solved the issue. Andy