1. Overview of the tests.
  2. Calculating the results.
  3. Output of results.
  4. Aim of this program.

  1. Overview of the tests.
    The test will consist of sending RADIUS requests to the server and measuring the throughput that it provides when delivering the responses.
    Naturally if we only send one request at a time the results will depend a lot on network latency and may be meaningless. So the test software will have to be designed to send a number of requests concurrantly. Unfortunately the RADIUS protocol uses a single byte as the packet identifier. So a RADIUS client can only have a maximum of 256 requests outstanding at any time. To solve this program I plan to allow Sandstorm to bind to multiple network interfaces so that the level of concurrancy it can achieve will be 256 times the number of interfaces. In a Linux system you can have up to 512 alias interfaces per physical interface giving a maximum theoretical concurrancy level of 128K. Given that the maximum concurrancy level you would want in a reasonable test would be less than 10% of the number of phone lines I think that this is more than adequate as I doubt that anyone has a system with NASs comprising over a million phone lines talking to a single RADIUS server. Besides I doubt that any Linux system could handle the load of sending 128K packets out at once.
  2. Calculating the results.
    The results will be calculated based on the average amount of time taken to respond to a packet and on the average number of packets in progress at any time (the achieved concurrancy). This will be calculated by dividing the concurrancy by the average response time to get the average throughput in packets per second.
  3. Output of results.
    If run in default mode the program will perform a specified number of tests and then display the average response time, the average throughput, the minimum and maximum response times, and the number of timeouts. It will then exit.
    If run in statistics mode the program will run continually until interrupted and output in comma-delimited format the statistics listed above. This will allow the user to easily import the data into a spread-sheet to graph it.
  4. Aim of this program.
    There are three aims for this program.

Copyright © 1999 Russell Coker, may be distributed freely under the terms of the GNU Public License (GPL) version 2.