AUTHOR = "kdlucas@google.com (Kelly Lucas)" TIME = "MEDIUM" NAME = "Netperf Stress" TEST_CATEGORY = "Stress" TEST_CLASS = 'Network' TEST_TYPE = "Server" SYNC_COUNT = 2 DOC = """ netperf_stress is a 2 machine test (server/client) that measures the performance of various network attributes. This test will cycle through the various types of supported tests and streams, and will take about 1 hour to run. You can adjust the streams by changing the values of the streams list in the run function. Arguments to run_test: test - the list of valid netperf tests that can be run This currently is: TCP_STREAM, TCP_SENDFILE, TCP_RR, TCP_CRR, UDP_STREAM, UDP_RR test_time - Specifies how long each iteration of the test should run for. stream_list - A list containing the number of streams to run the test for. If the list is [1,10,100] then the test will run 3 times. If bidirectional is set then there will be the specified number of bidirectional streams. """ from autotest_lib.server import utils def run(pair): """ Run netperf with various parameter settings. """ streams = [1, 10, 20, 40, 60, 80, 100, 200] for t in ['TCP_STREAM', 'TCP_MAERTS', 'TCP_RR', 'TCP_CRR', 'UDP_RR']: tag = 'netprerf2' + t job.run_test('netperf2', tag=tag, pair=pair, test=t, time=60, stream_list=streams, cycles=1) # grab the pairs (and failures) (pairs, failures) = utils.form_ntuples_from_machines(machines, 2) # log the failures for failure in failures: job.record("FAIL", failure[0], "netperf2", failure[1]) # now run through each pair and run job.parallel_simple(run, pairs, log=False)