Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
3.3 KiB

  1. DTServer/DTClient
  2. -----------------
  3. Note: "Server" denotes the machine that runs DTServer, and "client"
  4. denotes the machine that runs DTClient. They may be the same machine.
  5. --------------------------------------------------------------------------
  6. This app transfers data using different methods so one can compare their
  7. performances.
  8. The methods supported are:
  9. Regular RPC,
  10. RPC Pipes,
  11. FTP,
  12. a different FTP, and
  13. HTTP.
  14. Each method can be tested with or without actual File I/O. When not using
  15. File I/O the data transferred is just a block of memory.
  16. The Internet API provides two ways to use FTP. The first way does
  17. everything for you: connection, authentication, the transfer, etc.. The
  18. other way is to do an "FtpOpenFile" and then doing an "InternetReadFile"
  19. or "InternetWriteFile", which gives you more control over the transfer.
  20. To use the internet tests the server must have access to a directory that
  21. the client can access through an FTP or HTTP server. These directories
  22. are passed in as the -d and -w parameters of the server. Furthermore, the
  23. directory must appear as the root directory when it connects to the server
  24. machine.
  25. For example, if the FTP server is set up to expose "c:\foo\" as
  26. the root directory (ie, if the server is called \\SERVER, then when you
  27. FTP to \\SERVER you will see the content of c:\foo\), then one must
  28. use "-d c:\foo\" in the command line invoking DTServer.exe. During the
  29. test that tests the transfer of a file from the server to the client,
  30. the client will get the server's name and the name of the file (using an
  31. RPC) and either do a put or a get on it. Similarly, for HTTP one would
  32. use the -w switch.
  33. With NT you'll probably use IIS so you should have that installed on the
  34. server.
  35. There are two parameters that lets someone examine how the performance of
  36. the tested protocols relate to the amount of data transferred. The Size
  37. parameter ("-z") specifies the total amount of data you want to transfer.
  38. ChunkSize ("-c") specifies the size of the chunks you want to transfer
  39. the data in. This latter parameter affects how much memory you will need
  40. - larger chunks could mean better performance but requires more memory.
  41. --------------------------------------------------------------------------
  42. Example command lines:
  43. (For information on test cases, run DTServer /?)
  44. DTServer -i 1 -c 7000 -c 64000 -z 9000 -z 500000 -d c:\ftproot -w c:\wwwroot
  45. This runs one iteration of each test using chunks of sizes 7000 and 64000
  46. and total sizes of 9000 and 500000. Note that this means for each test
  47. case, 4 (2 chunk sizes X 2 total sizes) tests will be run. The FTP tests
  48. will use c:\ftproot and the HTTP tests will use c:\wwwroot.
  49. DTServer -i 10 -n 1 -n 3 -n 1 -n 3 -n 5 -n 7 -d c:\foo -w c:\bar
  50. This will run test cases 1, 3, 5 and 7 using c:\foo and c:\bar as the FTP
  51. and HTTP directories. Here we're using the default chunk and total sizes,
  52. which can be found by running "DTServer /?". Each test will run for 10
  53. iterations.
  54. In summary, you can specify more than one -c, -z and -n parameters. If
  55. none are specified then the default is used. For ftp and http tests to
  56. work you have to specify their associated directories.
  57. =======================================
  58. There are other parameters, but since they're common to the other PERF
  59. tests they're not discussed here.