vault recommended IIS settings?

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

vault recommended IIS settings?

Post by kha » Wed May 06, 2009 11:42 am

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

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: vault recommended IIS settings?

Post by lbauer » Thu May 07, 2009 10:42 am

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.
Linda Bauer
SourceGear
Technical Support Manager

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

Re: vault recommended IIS settings?

Post by kha » Fri May 08, 2009 8:29 am

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)

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: vault recommended IIS settings?

Post by lbauer » Fri May 08, 2009 3:06 pm

What version of IIS are you using on the server machine?
Linda Bauer
SourceGear
Technical Support Manager

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

Re: vault recommended IIS settings?

Post by kha » Mon May 11, 2009 9:26 am

IIS version: 6.0.3790.3959 <-- testing server

IIS version: 6.0.3790.4195 <-- production server

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: vault recommended IIS settings?

Post by lbauer » Mon May 11, 2009 12:37 pm

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?
Linda Bauer
SourceGear
Technical Support Manager

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

Re: vault recommended IIS settings?

Post by kha » Mon May 11, 2009 1:23 pm

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?
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.

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.
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?
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.

Anti-virus and firewall settings on Production setup and Testing setup are the same. Servers have no proxy.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: vault recommended IIS settings?

Post by lbauer » Mon May 11, 2009 1:31 pm

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.
Linda Bauer
SourceGear
Technical Support Manager

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

Re: vault recommended IIS settings?

Post by kha » Tue May 12, 2009 10:11 am

Email and logs sent

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: vault recommended IIS settings?

Post by lbauer » Tue May 12, 2009 11:08 am

Thanks, we're reviewing them.
Linda Bauer
SourceGear
Technical Support Manager

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: vault recommended IIS settings?

Post by lbauer » Tue May 12, 2009 1:51 pm

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?
Linda Bauer
SourceGear
Technical Support Manager

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

Re: vault recommended IIS settings?

Post by kha » Tue May 12, 2009 1:55 pm

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

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

Re: vault recommended IIS settings?

Post by kha » Tue May 12, 2009 2:57 pm

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"?

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: vault recommended IIS settings?

Post by lbauer » Tue May 12, 2009 4:00 pm

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

kha
Posts: 221
Joined: Fri Sep 12, 2008 8:25 am

Re: vault recommended IIS settings?

Post by kha » Fri Oct 30, 2009 10:27 am

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)

Post Reply