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.
 
 
 
 
 
 

3.3 KiB

DTServer/DTClient
-----------------

Note: "Server" denotes the machine that runs DTServer, and "client"
denotes the machine that runs DTClient. They may be the same machine.

--------------------------------------------------------------------------
This app transfers data using different methods so one can compare their
performances.

The methods supported are:
Regular RPC,
RPC Pipes,
FTP,
a different FTP, and
HTTP.

Each method can be tested with or without actual File I/O. When not using
File I/O the data transferred is just a block of memory.

The Internet API provides two ways to use FTP. The first way does
everything for you: connection, authentication, the transfer, etc.. The
other way is to do an "FtpOpenFile" and then doing an "InternetReadFile"
or "InternetWriteFile", which gives you more control over the transfer.

To use the internet tests the server must have access to a directory that
the client can access through an FTP or HTTP server. These directories
are passed in as the -d and -w parameters of the server. Furthermore, the
directory must appear as the root directory when it connects to the server
machine.
For example, if the FTP server is set up to expose "c:\foo\" as
the root directory (ie, if the server is called \\SERVER, then when you
FTP to \\SERVER you will see the content of c:\foo\), then one must
use "-d c:\foo\" in the command line invoking DTServer.exe. During the
test that tests the transfer of a file from the server to the client,
the client will get the server's name and the name of the file (using an
RPC) and either do a put or a get on it. Similarly, for HTTP one would
use the -w switch.
With NT you'll probably use IIS so you should have that installed on the
server.

There are two parameters that lets someone examine how the performance of
the tested protocols relate to the amount of data transferred. The Size
parameter ("-z") specifies the total amount of data you want to transfer.
ChunkSize ("-c") specifies the size of the chunks you want to transfer
the data in. This latter parameter affects how much memory you will need
- larger chunks could mean better performance but requires more memory.

--------------------------------------------------------------------------
Example command lines:
(For information on test cases, run DTServer /?)

DTServer -i 1 -c 7000 -c 64000 -z 9000 -z 500000 -d c:\ftproot -w c:\wwwroot

This runs one iteration of each test using chunks of sizes 7000 and 64000
and total sizes of 9000 and 500000. Note that this means for each test
case, 4 (2 chunk sizes X 2 total sizes) tests will be run. The FTP tests
will use c:\ftproot and the HTTP tests will use c:\wwwroot.


DTServer -i 10 -n 1 -n 3 -n 1 -n 3 -n 5 -n 7 -d c:\foo -w c:\bar

This will run test cases 1, 3, 5 and 7 using c:\foo and c:\bar as the FTP
and HTTP directories. Here we're using the default chunk and total sizes,
which can be found by running "DTServer /?". Each test will run for 10
iterations.

In summary, you can specify more than one -c, -z and -n parameters. If
none are specified then the default is used. For ftp and http tests to
work you have to specify their associated directories.

=======================================
There are other parameters, but since they're common to the other PERF
tests they're not discussed here.