暫無描述

Nick Mathewson e97e3032a3 Merge remote-tracking branch 'DonnchaC/client-control-port' 9 年之前
lib 51dc1a3c2b Implement chutney performance testing 9 年之前
net ad272e692f Create empty /net directory 9 年之前
networks bbc3ecbb76 Add new networks for performance testing 9 年之前
scratch 7f4003d3f6 Add our accumulated notes from the last few in-person sessions... 13 年之前
tools b2558a7b46 Wait a second before checking if tor has launched 9 年之前
torrc_templates e97e3032a3 Merge remote-tracking branch 'DonnchaC/client-control-port' 9 年之前
.gitignore ad272e692f Create empty /net directory 9 年之前
LICENSE 90ae6fee47 add a license file 10 年之前
README 51dc1a3c2b Implement chutney performance testing 9 年之前
TODO 2b30059681 Refactor Node into separate Node, Builder, and Launcher classes. 13 年之前
chutney 0233979e2c Properly pass all arguments to TorNet 10 年之前

README

This is chutney. It doesn't do much so far. It isn't ready for prime-time.

If it breaks, you get to keep all the pieces.

It is supposed to be a good tool for:
- Configuring a testing tor network
- Launching and monitoring a testing tor network
- Running tests on a testing tor network

Right now it only sorta does these things.

You will need, at the moment:
- Tor installed somewhere in your path or the location of the 'tor' and
'tor-gencert' binaries specified through the environment variables
CHUTNEY_TOR and CHUTNEY_TOR_GENCERT, respectively.
- Python 2.7 or later

Stuff to try:

Standard Actions:
./chutney configure networks/basic
./chutney start networks/basic
./chutney status networks/basic
./chutney verify networks/basic
./chutney hup networks/basic
./chutney stop networks/basic

Bandwidth Tests:
./chutney configure networks/basic-min
./chutney start networks/basic-min
./chutney status networks/basic-min
CHUTNEY_DATA_BYTES=104857600 ./chutney verify networks/basic-min
# Send 100MB of data per client connection
# verify produces performance figures for:
# Single Stream Bandwidth: the speed of the slowest stream, end-to-end
# Overall tor Bandwidth: the sum of the bandwidth across each tor instance
# This approximates the CPU-bound tor performance on the current machine,
# assuming everything is multithreaded and network performance is infinite.
./chutney stop networks/basic-min

Connection Tests:
./chutney configure networks/basic-025
./chutney start networks/basic-025
./chutney status networks/basic-025
CHUTNEY_CONNECTIONS=5 ./chutney verify networks/basic-025
# Make 5 connections from each client through a random exit
./chutney stop networks/basic-025

Note: If you create 7 or more connections to a hidden service from a single
client, you'll likely get a verification failure due to
https://trac.torproject.org/projects/tor/ticket/15937

HS Connection Tests:
./chutney configure networks/hs-025
./chutney start networks/hs-025
./chutney status networks/hs-025
CHUTNEY_HS_MULTI_CLIENT=1 ./chutney verify networks/hs-025
# Make a connection from each client to each hs
# Default behavior is one client connects to each HS
./chutney stop networks/hs-025

The configuration files:
networks/basic holds the configuration for the network you're configuring
above. It refers to some torrc template files in torrc_templates/.

The working files:
chutney sticks its working files, including all data directories, log
files, etc, in ./net/. Each tor instance gets a subdirectory of net/nodes.