Unverified Commit a55a29d9 authored by Zelda Hessler's avatar Zelda Hessler Committed by GitHub
Browse files

update: tune the S3 concurrency tests to finish in about 10s (#2133)

parent 87e45f60
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -22,17 +22,21 @@ use tokio::sync::Semaphore;
use tokio::time::{Duration, Instant};
use tracing::debug;

const TASK_COUNT: usize = 10_000;
// WARNING:
// When testing this on your own computer, be sure to run the tests in several different terminals.
// Depending on the terminal used, you may run into errors related to "Too many open files".

const TASK_COUNT: usize = 1_000;
// Larger requests take longer to send, which means we'll consume more network resources per
// request, which means we can't support as many concurrent connections to S3.
const TASK_PAYLOAD_LENGTH: usize = 10_000;
const TASK_PAYLOAD_LENGTH: usize = 5_000;
// At 130 and above, this test will fail with a `ConnectorError` from `hyper`. I've seen:
// - ConnectorError { kind: Io, source: hyper::Error(Canceled, hyper::Error(Io, Os { code: 54, kind: ConnectionReset, message: "Connection reset by peer" })) }
// - ConnectorError { kind: Io, source: hyper::Error(BodyWrite, Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }) }
// These errors don't necessarily occur when actually running against S3 with concurrency levels
// above 129. You can test it for yourself by running the
// `test_concurrency_put_object_against_live` test that appears at the bottom of this file.
const CONCURRENCY_LIMIT: usize = 129;
const CONCURRENCY_LIMIT: usize = 50;

#[tokio::test(flavor = "multi_thread")]
async fn test_concurrency_on_multi_thread_against_dummy_server() {