| AUTHOR = "[email protected] (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) |