vault recommended IIS settings?
Moderator: SourceGear
vault recommended IIS settings?
Do we have any Vault recommended IIS settings in generally and also specifically to reduce the network time out error?
I tried to "get latest" on production Vault server, 8/10 times I got timed out error
I tried to "get latest" (same repository) on testing Vault server (this using diff. hardwares), which i am the only one using this setup, I've never got timed out error
I tried to "get latest" on production Vault server, 8/10 times I got timed out error
I tried to "get latest" (same repository) on testing Vault server (this using diff. hardwares), which i am the only one using this setup, I've never got timed out error
Re: vault recommended IIS settings?
What version of IIS are you using?
Check in the the Vault server log is sgvault.log in %windir%\temp\sgvault on the server machine to see if you might be getting SQL timeouts.
Check in the the Vault server log is sgvault.log in %windir%\temp\sgvault on the server machine to see if you might be getting SQL timeouts.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: vault recommended IIS settings?
I don't see the SQL timeout in the sgvault.log file. I see a lot of 0x80072746 error.
----5/6/2009 2:17:29 PM admin--38890272.domain1.com(208.201.131.105)--SSL Disabled System.Web.HttpException: The remote host closed the connection. The error code is 0x80072746.
at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
at VaultServiceSQL.VaultSqlSCC.GetDeltaChainForFullFile(VaultSqlConn conn, Int64 nObjVerID, Int32 nBufSize, String strFileToken, Stream s, ListDictionary ldDataStreams, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultFileCacheManager.GetDeltaChainForFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nTargetObjVerID, Int32 nBufSize, String strFileToken, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.CreateFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nObjVerID, String strFileToken, Boolean& deltaIfAvailable, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.DeltaCreate(VaultSqlConn vsConn, Int32 nRepID, Int64 nBaseObjVerID, Int64 nTargetObjVerID, String strFileToken, Stream sDeltaStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultServiceAPI.GetVaultFile(Int32 nRepID, VaultIntDnldItem& vidi, String strFileToken, Stream s, Boolean bSeekToOrigin, Boolean bFolderExportCalcCRC, UInt32& nCRC)
at VaultService.VaultFileDownload.Page_Load(Object sender, EventArgs e) at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
at VaultServiceSQL.VaultSqlSCC.GetDeltaChainForFullFile(VaultSqlConn conn, Int64 nObjVerID, Int32 nBufSize, String strFileToken, Stream s, ListDictionary ldDataStreams, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultFileCacheManager.GetDeltaChainForFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nTargetObjVerID, Int32 nBufSize, String strFileToken, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.CreateFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nObjVerID, String strFileToken, Boolean& deltaIfAvailable, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.DeltaCreate(VaultSqlConn vsConn, Int32 nRepID, Int64 nBaseObjVerID, Int64 nTargetObjVerID, String strFileToken, Stream sDeltaStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultServiceAPI.GetVaultFile(Int32 nRepID, VaultIntDnldItem& vidi, String strFileToken, Stream s, Boolean bSeekToOrigin, Boolean bFolderExportCalcCRC, UInt32& nCRC)
----5/6/2009 2:17:29 PM admin--38890272.domain1.com(208.201.131.105)--SSL Disabled System.Web.HttpException: The remote host closed the connection. The error code is 0x80072746.
at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
at VaultServiceSQL.VaultSqlSCC.GetDeltaChainForFullFile(VaultSqlConn conn, Int64 nObjVerID, Int32 nBufSize, String strFileToken, Stream s, ListDictionary ldDataStreams, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultFileCacheManager.GetDeltaChainForFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nTargetObjVerID, Int32 nBufSize, String strFileToken, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.CreateFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nObjVerID, String strFileToken, Boolean& deltaIfAvailable, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.DeltaCreate(VaultSqlConn vsConn, Int32 nRepID, Int64 nBaseObjVerID, Int64 nTargetObjVerID, String strFileToken, Stream sDeltaStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultServiceAPI.GetVaultFile(Int32 nRepID, VaultIntDnldItem& vidi, String strFileToken, Stream s, Boolean bSeekToOrigin, Boolean bFolderExportCalcCRC, UInt32& nCRC)
at VaultService.VaultFileDownload.Page_Load(Object sender, EventArgs e) at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
at VaultServiceSQL.VaultSqlSCC.GetDeltaChainForFullFile(VaultSqlConn conn, Int64 nObjVerID, Int32 nBufSize, String strFileToken, Stream s, ListDictionary ldDataStreams, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultFileCacheManager.GetDeltaChainForFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nTargetObjVerID, Int32 nBufSize, String strFileToken, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.CreateFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nObjVerID, String strFileToken, Boolean& deltaIfAvailable, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultDelta.DeltaCreate(VaultSqlConn vsConn, Int32 nRepID, Int64 nBaseObjVerID, Int64 nTargetObjVerID, String strFileToken, Stream sDeltaStream, RunningCRC32 crc, UInt32& nCRC)
at VaultServiceAPILib.VaultServiceAPI.GetVaultFile(Int32 nRepID, VaultIntDnldItem& vidi, String strFileToken, Stream s, Boolean bSeekToOrigin, Boolean bFolderExportCalcCRC, UInt32& nCRC)
Re: vault recommended IIS settings?
What version of IIS are you using on the server machine?
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: vault recommended IIS settings?
IIS version: 6.0.3790.3959 <-- testing server
IIS version: 6.0.3790.4195 <-- production server
IIS version: 6.0.3790.4195 <-- production server
Re: vault recommended IIS settings?
See this document for settings we have on most of our Vault Servers --
http://people.sourcegear.com/~bkieler/A ... RATION.doc
Note: this document is slightly out of date -- the ASPNET version should be 2.0 if you're using Vault 4.x.
Are you doing a Get latest from the same client -- that is -- is this a server side slowdown/timeout or could it be on the client side?
Is there anything on the network between the client and server that could be interfering or slowing things down, like a proxy, firewall, router, anti-virus, etc?
http://people.sourcegear.com/~bkieler/A ... RATION.doc
Note: this document is slightly out of date -- the ASPNET version should be 2.0 if you're using Vault 4.x.
Are you doing a Get latest from the same client -- that is -- is this a server side slowdown/timeout or could it be on the client side?
Is there anything on the network between the client and server that could be interfering or slowing things down, like a proxy, firewall, router, anti-virus, etc?
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: vault recommended IIS settings?
Yes, I tried everything from one machine, same Vault Client, just connected to Testing Vault Server or Production Vault Server. The vault client version is 4.1.4. I believe it is the latest. My vault server is also 4.1.4.Are you doing a Get latest from the same client -- that is -- is this a server side slowdown/timeout or could it be on the client side?
How do you know if it is "client side" slowdown/timeout? I cannot find the log for Vault Client. I checked with Vault Server log and SQL server log, there is no timeout log for the time stamp where it shows on the Vault Client message tab with the time out error message.
The only thing I can see different between the testing server and production server is that production server has more people (i.e developers) accessing it, while the testing server has only one person which is me accessing it.Is there anything on the network between the client and server that could be interfering or slowing things down, like a proxy, firewall, router, anti-virus, etc?
Anti-virus and firewall settings on Production setup and Testing setup are the same. Servers have no proxy.
Re: vault recommended IIS settings?
To fully troubleshoot this, we'd like get logs from both the client and production server that show the timeout and also show what is happening before.
First, enable debug logging in the Vault server. The setting is in the Vault Admin Web Client under Server Settings->Logging.
The client only creates an error log unless you enable logging. Here's how:
http://support.sourcegear.com/viewtopic.php?t=1534
Then log in a few times. When you've reproduced the timeout, send us the logs. Send the logs zipped up to support at sourcegear.com, Attn: Linda. Please include a link to this forum post. Be sure to let me know your username and what time(s) you logged in or attempted to login.
First, enable debug logging in the Vault server. The setting is in the Vault Admin Web Client under Server Settings->Logging.
The client only creates an error log unless you enable logging. Here's how:
http://support.sourcegear.com/viewtopic.php?t=1534
Then log in a few times. When you've reproduced the timeout, send us the logs. Send the logs zipped up to support at sourcegear.com, Attn: Linda. Please include a link to this forum post. Be sure to let me know your username and what time(s) you logged in or attempted to login.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: vault recommended IIS settings?
Email and logs sent
Re: vault recommended IIS settings?
Thanks, we're reviewing them.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: vault recommended IIS settings?
The server log reports that the client is closing the connection.
Can you do this get from a different client machine? Maybe a machine on a different part of the network?
What about if you do the get from a client on the Vault Server machine itself, using "localhost" for the Vault server name?
Can you do this get from a different client machine? Maybe a machine on a different part of the network?
What about if you do the get from a client on the Vault Server machine itself, using "localhost" for the Vault server name?
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: vault recommended IIS settings?
I got this error by trying on the Vault Server itself
Unable to connect to http://localhost/VaultService. No server was found at the specified URL. Please verify your network settings using the Options dialog under the Tools menu in the Vault GUI Client. Web Exception: The request failed with HTTP status 400: Bad Request.
Same error if I use the Vault Server name instead of "localhost". Any idea why?
It works fine if I use hostname.domain.com
Unable to connect to http://localhost/VaultService. No server was found at the specified URL. Please verify your network settings using the Options dialog under the Tools menu in the Vault GUI Client. Web Exception: The request failed with HTTP status 400: Bad Request.
Same error if I use the Vault Server name instead of "localhost". Any idea why?
It works fine if I use hostname.domain.com
Re: vault recommended IIS settings?
I tried to get latest on the Vault Server itself with "hostname.domain.com". It ran fine. Do you need the log for this "good try"?
Re: vault recommended IIS settings?
No -- we have the info we need -- that the server is working fine. It means there's something on the network or client side that's causing a problem with the download. Try it from a different client machine if you can.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: vault recommended IIS settings?
One of our developers from remote site is experiencing the time out error while doing the get latest a .jpg file.
The .jpg file that he tried to get latest has a size of 296kB.
But he has no problem with a .zip file 7,031KB, and .jpg file with 4KB, .gif file with 18KB.
Everything in the same directory and repository. If this is a network issue, then how come the bigger file size can go through. It seems like there is limitation for .jpg file type.
From Vault Server log:
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled BeginDownloadFiles returned: Success
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled ASMX: BeginDownloadFiles finished.
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled VaultFileDownload starting
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled Downloading delta for $/Project Site/Trunk/Project/Project/images/project_Organization_Chart4.jpg from 0 to 320314
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled DB: GetDeltaChainForFullFile started.
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled DB: GetDeltaChainForFullFile finished.
----10/30/2009 11:19:05 AM UserName--IP(IP)--SSL Disabled System.Web.HttpException: The remote host closed the connection. The error code is 0x80072746.
at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.FlushWrite()
at System.IO.BufferedStream.Flush()
at VaultService.VaultFileDownload.Page_Load(Object sender, EventArgs e) at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.FlushWrite()
at System.IO.BufferedStream.Flush()
at VaultService.VaultFileDownload.Page_Load(Object sender, EventArgs e)
The .jpg file that he tried to get latest has a size of 296kB.
But he has no problem with a .zip file 7,031KB, and .jpg file with 4KB, .gif file with 18KB.
Everything in the same directory and repository. If this is a network issue, then how come the bigger file size can go through. It seems like there is limitation for .jpg file type.
From Vault Server log:
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled BeginDownloadFiles returned: Success
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled ASMX: BeginDownloadFiles finished.
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled VaultFileDownload starting
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled Downloading delta for $/Project Site/Trunk/Project/Project/images/project_Organization_Chart4.jpg from 0 to 320314
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled DB: GetDeltaChainForFullFile started.
----10/30/2009 11:18:08 AM UserName--IP(IP)--SSL Disabled DB: GetDeltaChainForFullFile finished.
----10/30/2009 11:19:05 AM UserName--IP(IP)--SSL Disabled System.Web.HttpException: The remote host closed the connection. The error code is 0x80072746.
at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.FlushWrite()
at System.IO.BufferedStream.Flush()
at VaultService.VaultFileDownload.Page_Load(Object sender, EventArgs e) at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
at System.Web.HttpResponse.Flush(Boolean finalFlush)
at System.Web.HttpResponse.Flush()
at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.FlushWrite()
at System.IO.BufferedStream.Flush()
at VaultService.VaultFileDownload.Page_Load(Object sender, EventArgs e)