V2 quickstarts run very slow

Topics: Updater Application Block
Feb 4, 2005 at 11:46 AM
originally posted by: dlm451

I'm trying to learn about UAB exploring the quickstart samples and am experiencing the execution is very slow. It takes almost four minutes for the "simple" quickstart example to run on my laptop.

For example, the "simple" quickstart takes almost four minutes to complete the filedownload of the manifest and the two files in the example.

I'm using Windows XP, SP2. My configuration is local machine. The manifest url is:
http://localhost/Updater2QuickStarts/cs/simple/server/manifests.xml

I put trace statements in the client app and in while loop in the BitsDownloader.WaitForDownload() method.


Below is a trace output from the while loop in BitsDownloader.WaitForDownload() and the
UAB event handlers in the application.

The trace prints the value of state returned in GetState().

I'm not very familiar with BITS. Are the time periods below to establish a connection and then perform the file transfer typical for a local machine connection?

Is there something I can configure to make the connection establish faster?

Thanks

Dan Moyer


event# time since thread trace
app start
00000002 1.61671078 Waiting for Download...
00000003 1.62946827 DownloadStarted for manifest: 311085f7-9320-4318-9a67-9be32f04e933
00000004 1.63129895 State: BGJOBSTATE_SUSPENDED
00000005 46.08855371 State: BGJOBSTATE_CONNECTING
00000006 79.08602881 State: BGJOBSTATE_CONNECTING
00000007 123.09017431 State: BGJOBSTATE_CONNECTING
00000008 123.28778518 State: BGJOBSTATE_CONNECTING
00000009 123.48806399 State: BGJOBSTATE_CONNECTING

.....

00000146 150.92782602 State: BGJOBSTATE_CONNECTING
00000147 151.58834209 State: BGJOBSTATE_TRANSFERRING
00000148 151.61065526 DownloadProgress for manifest: 311085f7-9320-4318-9a67-9be32f04e933 - Files: 1/3 - Bytes: 717/17607
00000149 151.80873826 State: BGJOBSTATE_TRANSFERRING
00000150 194.10124387 DownloadProgress for manifest: 311085f7-9320-4318-9a67-9be32f04e933 - Files: 1/3 - Bytes: 717/17607
00000151 194.29996354 State: BGJOBSTATE_TRANSFERRING
00000152 225.11619410 DownloadProgress for manifest: 311085f7-9320-4318-9a67-9be32f04e933 - Files: 2/3 - Bytes: 1223/17607
00000153 225.31830498 State: BGJOBSTATE_TRANSFERRING
00000154 225.31896680 DownloadProgress for manifest: 311085f7-9320-4318-9a67-9be32f04e933 - Files: 2/3 - Bytes: 17607/17607
00000155 225.52888873 State: BGJOBSTATE_TRANSFERRED
00000156 225.61380650 DownloadCompleted for manifest: 311085f7-9320-4318-9a67-9be32f04e933
00000157 225.61502649 Download Complete
Feb 4, 2005 at 1:00 PM
originally posted by: dlm451

Here is more information. I looked at the IIS logs and copied below. Apolgies for the line wraps in this editor. :-(

The "simple" quickstart transfers the manifest.XML, which requests three files to be sent. The IIS logs make sense-- one can see the GET for the manifest.xml and three HEADS getting information for the three files, followed by three GETS to transfer the files.

What I don't understand is why is there such a long delay between each HEAD and the final GET requests?


127.0.0.1, -, 2/3/2005, 15:40:08, W3SVC1, PBLDMOYER01, 127.0.0.1, 40, 109, 940, 200, 0, GET, /Updater2QuickStarts/cs/simple/server/manifests.xml, -,
127.0.0.1, -, 2/3/2005, 15:40:08, W3SVC1, PBLDMOYER01, 127.0.0.1, 0, 78, 729, 200, 0, GET, /Updater2QuickStarts/cs/simple/server/m2.xml, -,
127.0.0.1, -, 2/3/2005, 15:40:55, W3SVC1, PBLDMOYER01, 127.0.0.1, 0, 182, 223, 200, 0, HEAD, /Updater2QuickStarts/cs/simple/server/manifests.xml, -,
127.0.0.1, -, 2/3/2005, 15:41:25, W3SVC1, PBLDMOYER01, 127.0.0.1, 0, 175, 223, 200, 0, HEAD, /Updater2QuickStarts/cs/simple/server/m2.xml, -,
127.0.0.1, -, 2/3/2005, 15:42:08, W3SVC1, PBLDMOYER01, 127.0.0.1, 0, 186, 241, 200, 0, HEAD, /Updater2QuickStarts/cs/simple/server/DelayedResume.exe, -,
127.0.0.1, -, 2/3/2005, 15:42:40, W3SVC1, PBLDMOYER01, 127.0.0.1, 0, 181, 940, 200, 0, GET, /Updater2QuickStarts/cs/simple/server/manifests.xml, -,
127.0.0.1, -, 2/3/2005, 15:43:24, W3SVC1, PBLDMOYER01, 127.0.0.1, 0, 174, 729, 200, 0, GET, /Updater2QuickStarts/cs/simple/server/m2.xml, -,
127.0.0.1, -, 2/3/2005, 15:43:55, W3SVC1, PBLDMOYER01, 127.0.0.1, 10, 185, 16625, 200, 0, GET, /Updater2QuickStarts/cs/simple/server/DelayedResume.exe, -,
Feb 8, 2005 at 8:46 PM
originally posted by: figuerres2

I have not timed it but I can say this:

BITS Background Intelegent Transfer Service

is what I recall the name to be.


it is not designed to be fast by default; it is designed to use "Spare" bandwith to pull updates in the background and allow the user to do other work.

I did not look at your time log ... just commenting on what BITS does.