Post by DougI will attempt to keep this as succinct as possible. Test 1 was posted to
indicate the problem. The problem is that Windows 7 copys and pastes the test
folder containing folders and files from a network share to a network share
significantly slower, 60X slower than Windows XP. Test 3 is very similar
except that we are copying from the desktop to a network share. This is to
performed to further
fault isolate the problem. Again in this test Windows XP outperformed by a
factor of 60X. It took approximately ten minutes in tests 1 and 3 to perform
what Windows XP did in approximately ten seconds on the same network! Your
response that this is acceptable is only true if in side by side tests
Windows XP did not out perform Windows 7 in this category. Test 2 was
performed to demonstrate that copying the test folder from a network share to
the desktop was not impaired and performed as well as Windows XP. The whole
purpose of test 2 and test 3 together was to demonstrate the condition was
not caused by network latency and to demonstrate that the problem only
occured when writing file to a network location not writing them back
locally. Test 4 and test 5 demonstrates that Windows 7 treats a folder with a
lot of small files and folders differently from one large file such as a zip
folder. Windows 7 at a fundamental level is doing something different than
Windows XP when handling a folder with a lot of small files in it compared to
one large file of equivalent size. This problem will impact my companys
decision to move forward with Windows 7. This problem must get solved. If
there is a service or setting that need be disabled or a service pack or
hotfix that is fine. The behavior probably is not noticeable in a very small
business or a home network but on a larger scale it is crippling and
unacceptable.
Post by Pegasus [MVP]I am not in a position to duplicate your environment but I would like to
offer some comments about the tests you reported in your initial post.
TEST 1
When copied from a network location and pasted back to a network location
the indicated file transfer speed is 8.78 KB/sec and this speed creeps up
slowly. The total time to copy the folder and its contents is
approximately
10 minutes.
*** This is a reasonable time to copy 10,000 files of 1 kByte each on
average.
TEST 2
When copied from a network location to the computer desktop, the transfer
speed indicated is 1.2 MB/sec and total time to copy is approximately 10
seconds.
*** This measurement is incorrect. It is probably caused by some
*** caching effect. In other words, Windows already "knew" what
*** you were copying and pretended to go through the motions without
*** doing much actual work. If you repeated the test after a reboot or
*** after performing a lot of other disk I/O (in order to clear the cache)
*** then the number would be similar to the one in Test 1, or perhaps
*** PC1->Server->PC2.
TEST 3
When copied from the computer desktop to a network location, the transfer
speed indicated again starts around 10 KB/sec and creeps up. Again the
transfer takes approximately 10 minutes.
*** Entirely reasonable.
TEST 4
I zipped the same folder up into a zip file. The zip file is
approximately
5.9 MB. When copying the zip file from the desktop to the network share, the
transfer occurs almost instantly.
*** Again I suspect a caching effect.
TEST 5
I copied the zipped folder from the network share back to a network share.
In this test the transfer occurred almost instantaneous.
*** Again I suspect a caching effect.
Summary: The long times you quote are reasonable when copying 10,000 files.
The short times look highly suspicious and are probably unreliable due to
caching mechanisms.
Post by DougMy bad...
There are three client computers and one Server all connected with gigabit
ethernet.
Both Client machines are Dell Precision 380 workstations Running Windows 7
Professional x64.
Both clients are running Intel Pentium(R) 4 CPU 3.20GHz
6.00 GB ram
Windows Experience Index is only 3.2 due to the graphics cards.
The server is a SAN, dual nx1950 cluster HA and Drive cabinet ISCSI 15x
15,500 rpm SAS drives. Windows Server 2003 R2 x64
Everything is connected with Dell powerconnect 5324 base 1000 switches.
The network locations are from \\share1 to \\share2. Makes no
difference
via
mapped as a drive letter or UNC path.
The XP control client is a Dell Precision 380 the same as the other two
except it is running Windows XP Professional SP3 x32bit. This computer
performs TEST 1 in eight seconds.
Post by Pegasus [MVP]Post by DougCopy and paste to a network drive is excessively slow thru Windows explorer.
Test folder contains 102 folders and 120 files. The total size is 9,838,306
bytes (9.38 MB).
TEST 1
When copied from a network location and pasted back to a network location
the indicated file transfer speed is 8.78 KB/sec and this speed
creeps
up
slowly. The total time to copy the folder and its contents is approximately
10 minutes.
TEST 2
When copied from a network location to the computer desktop, the transfer
speed indicated is 1.2 MB/sec and total time to copy is
approximately
10
seconds.
TEST 3
When copied from the computer desktop to a network location, the transfer
speed indicated again starts around 10 KB/sec and creeps up. Again the
transfer takes approximately 10 minutes.
TEST 4
I zipped the same folder up into a zip file. The zip file is approximately
5.9 MB. When copying the zip file from the desktop to the network share,
the
transfer occurs almost instantly.
TEST 5
I copied the zipped folder from the network share back to a network share.
In this test the transfer occurred almost instantaneous.
The conclusion is that a single file that is very large copies instantly.
Many smaller files that add up to the same size copy significantly slower
approximately by a factor of 100 times.
This issue didn't seem to occur in Windows XP SP3. Does anyone have any
ideas regarding the cause?
To draw some conclusions it would be helpful if you tightened up your
problem description a little, e.g.
- Instead of writing "from a network location and pasted back to a network
location", you might write "while working on PC1, copying files from
\\PC2\Share2 to \\PC3\Share3 . . .". As it is, we do not know how many
machines are involved, which one you worked on and which were your
source/target machines.
- You write "This issue didn't seem to occur in Windows XP SP3" but you
never mention what OS & SP your various machines use.
- Did you vary some of your parameters, e.g. use different PCs, a different
network, different hubs, perhaps even a direct cross-over cable?
Since post here a few days ago I spent an hour in performing some tightly
controlled benchmark test. Here is the setup:
- PC1: Windows XP Professional (first source PC)
- PC2: Windows 7 Home Premium (second source PC)
- PC3: Windows 2000 Professional (target PC)
- Network connection: A Cat5 100 MBits/s cross-over cable
- All test (other than the GUI test) were performed using the batch file
below.
- I rebooted the source and target machines before each test.
- After rebooting the machines I waited until all disk activity had ceased.
Only then did I start the test.
The test involved copying 1000 files @ 1 kByte each, spread over 10 separate
folders, from the source machine to a share on the target machine. Here is
the summary:
- Windows XP, robocopy: 23 seconds
- Windows XP, xcopy: 30 seconds
- Windows XP, Windows Explorer: 19 seconds
- Windows 7, robocopy: 17 seconds
- Windows 7, xcopy: 19 seconds
- Windows 7, Windows Explorer: 11 seconds
As you see, Windows 7 was consistently fast in this test than Windows XP.
If you wish to get to the bottom of the issue you observed then you need to
duplicate this test under the same setup as I used. You should then vary the
various parameters so that they gradually approach your original environment
until you can observe the excessive times you first reported.
Here are the detailed test results. They were generated by the batch file
further down.
Microsoft Windows XP [Version 5.1.2600]
robocopy test
TimeThis : Elapsed Time : 00:00:23.293
Microsoft Windows XP [Version 5.1.2600]
xcopy test
TimeThis : Elapsed Time : 00:00:30.033
Microsoft Windows XP [Version 5.1.2600]
GUI test (Windows Explorer)
Stop watch: 19 seconds
Microsoft Windows [Version 6.1.7600] (This is Windows 7)
robocopy test
TimeThis : Elapsed Time : 00:00:16.879
Microsoft Windows [Version 6.1.7600] (This is Windows 7)
xcopy test
TimeThis : Elapsed Time : 00:00:18.704
Microsoft Windows [Version 6.1.7600] (This is Windows 7)
GUI Test (Windows Explorer)
Stop watch: 11 seconds
And here is the batch file I used. You must download the file timethis.exe
and store it in c:\Windows on both source machines. You can get it from
here:
http://www.microsoft.com/downloads/details.aspx?familyid=913795CD-7026-4143-AE85-1F5E096F9BE0&displaylang=en.
Remember to unwrap any lines that your newsreader might have wrapped around,
and to remove the line numbers.
[01] @echo off
[02] if /i not "%1"=="robocopy" if /i not "%1"=="xcopy" goto error
[03]
[04] if not exist c:\1k.bin fsutil file createnew c:\1k.bin 1000
[05] if not exist c:\Test (
[06] md c:\Test
[07] for /L %%d in (10,1,19) do (
[08] md c:\Test\%%d
[09] for /L %%F in (100,1,199) do copy c:\1k.bin c:\Test\%%d\%%F.bin >
nul
[10] )
[11] )
[12] echo\
[13] echo You now have 10 folders, each having 100 files.
[14] echo\
[15] echo Remember to reboot both machines before continuing in order to
[16] echo prevent disk caching from contaminating the results.
[17] pause
[18]
[19] net use Q: \\Target\DriveD
[20] if exist Q:\Test rd /s /q Q:\Test
[21] ver | find /i "Microsoft" >> c:\Test.txt
[22] echo %1 test >> c:\Test.txt
[23]
[24] if /i %1==robocopy timethis robocopy c:\Test Q:\Test *.* /s | find /i
"Elapsed time" >> c:\Test.txt
[25] if /i %1==xcopy timethis xcopy c:\Test\*.* Q:\Test\ /s | find /i
"Elapsed time" >> c:\Test.txt
[26]
[27] echo\ >> c:\Test.txt
[28] notepad c:\test.txt
[29] goto :eof
[30]
[31] :Error
[32] echo Usage: FileTest xcopy
[33] echo or FileTest robocopy