How does the TFS Proxy Server work?
Also see the Team Foundation Server Proxy 2008 FAQ and Team Foundation Server Proxy 2008 Self-Help Troubleshooting Guide put together by Tsu-Wang Yang.
Q. How often does the proxy server synchronize with the server? Is it a continuous synchronization as soon as a change happens, or do the contents get transferred to the proxies when they’re required for synching the first time?
A. The proxy gets populated with an item the first time someone requests that item at a particular version. It's not a continuous synchronization/replication.
The first time a proxy user gets a version of an item that doesn't exist in the cache yet, it will obviously take longer than if it is in the cache already (a "cache hit").
You can monitor how much work your proxy server is doing by using the Performance Monitor Counters included in the product. See Monitoring Performance.
| Counter Name |
Description |
| Current Cache Size(Bytes) |
The current cache size. |
| Total Download Requests |
The total number of download requests that come to the proxy server. |
| Total Cache Hits |
The total number of download requests served from the file cache. |
| Total Files in Cache |
The total number of files available in the cache. |
You can also use the TfsServerManager.exe tool included in the latest Team Foundation Power Tools. You'll find it at:
C:\Program Files\Microsoft Team Foundation Server 2008 Power Tools\TfsServerManager.exe
Q. Does the data to be synced get compressed/uncompressed before/after the transfer?
A. The answer to this is in Buck's post on Working remotely with TFS Version Control.
Every file that we upload as part of checking in or shelving is compressed using GZip. If a file is larger after being compressed, which may be due to it being in a compressed format (e.g., ZIP or JPEG) already or being encrypted, the file will be uploaded without being compressed. When files are downloaded, they are still compressed as they were when they were uploaded.
Communication between the client and server in TFS uses HTTP for everything, and it uses SOAP for everything other than file uploads and downloads. We support IIS 6 compression of the SOAP, so the communication with the remote server is compressed. Since SOAP is XML, responses compress very well.