75 lines
3.3 KiB
Plaintext
75 lines
3.3 KiB
Plaintext
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.
|