Overview
The dialer scripts can be used to test Scope with a high number of
containers and connections.
The dialer server is a TCP server that holds incoming connections
forever.
The dialer client is a TCP client that opens n connection to a server
and holds them forever.
The listener
script starts a dialer server and prints its address for
usage with the dialer
script. The dialer
scripts starts up to n
(default 50) client containers, each opening a random (1-20) number of
connections.
time-scope-probe
then can be used to measure the scheduled time
(utime + stime) of the scope-probe process on the host. The results
can be used to compare performance under different scenarios/branches.
Usage example
# Start a listener
./extras/dialer/listener
Listening on :8082
IP addr + port: 172.17.0.2:8082
# Start the dialer script with a maximum of 10 dialer containers
# (default 50)
./extras/dialer/dialer 172.17.0.2:8082 10
# Start time-scope-probe to measure the scheduled time of scope-probe
# every 3 seconds (default 10 seconds) for 3 times (default 60 times)
sudo ./extras/dialer/time-scope-probe 3 3
...
Build dialer container
go build -o bin/dialer src/dialer.go
docker build -t dialer .