WindowsXP-SP1/com/rpc/perf/datatran
2020-09-30 16:53:49 +02:00
..
client First commit 2020-09-30 16:53:49 +02:00
lib/i386 First commit 2020-09-30 16:53:49 +02:00
server First commit 2020-09-30 16:53:49 +02:00
datatran.acf First commit 2020-09-30 16:53:49 +02:00
datatran.idl First commit 2020-09-30 16:53:49 +02:00
dirs First commit 2020-09-30 16:53:49 +02:00
dtcommon.c First commit 2020-09-30 16:53:49 +02:00
dtcommon.h First commit 2020-09-30 16:53:49 +02:00
makefil0 First commit 2020-09-30 16:53:49 +02:00
makefile First commit 2020-09-30 16:53:49 +02:00
readme.txt First commit 2020-09-30 16:53:49 +02:00

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.