Skip to content

Commit

Permalink
Forge continuous tests - tune params based on recent runs
Browse files Browse the repository at this point in the history
  • Loading branch information
igor-aptos committed Jun 22, 2023
1 parent a132c16 commit 2541900
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 9 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/forge-stable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@ jobs:
with:
IMAGE_TAG: ${{ needs.determine-test-metadata.outputs.IMAGE_TAG }}
FORGE_NAMESPACE: forge-realistic-env-max-load-long-${{ needs.determine-test-metadata.outputs.IMAGE_TAG }}
FORGE_RUNNER_DURATION_SECS: 7200
# reduce temporarily, until longer tests can pass.
FORGE_RUNNER_DURATION_SECS: 2400
FORGE_TEST_SUITE: realistic_env_max_load
POST_TO_SLACK: true

Expand Down
19 changes: 11 additions & 8 deletions testsuite/forge-cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -783,18 +783,19 @@ fn realistic_env_load_sweep_test() -> ForgeConfig {
test: Box::new(PerformanceBenchmark),
workloads: Workloads::TPS(&[10, 100, 1000, 3000, 5000]),
criteria: [
(9, 1.5, 3.),
(95, 1.5, 3.),
(950, 2., 3.),
(2750, 2.5, 4.),
(4600, 3., 5.),
(9, 1.5, 3., 4.),
(95, 1.5, 3., 4.),
(950, 2., 3., 4.),
(2750, 2.5, 3.5, 4.5),
(4600, 3., 4., 5.),
]
.into_iter()
.map(|(min_tps, max_lat_p50, max_lat_p99)| {
.map(|(min_tps, max_lat_p50, max_lat_p90, max_lat_p99)| {
SuccessCriteria::new(min_tps)
.add_max_expired_tps(0)
.add_max_failed_submission_tps(0)
.add_latency_threshold(max_lat_p50, LatencyType::P50)
.add_latency_threshold(max_lat_p90, LatencyType::P90)
.add_latency_threshold(max_lat_p99, LatencyType::P99)
})
.collect(),
Expand Down Expand Up @@ -1546,8 +1547,10 @@ fn realistic_network_tuned_for_throughput_test() -> ForgeConfig {
.add_no_restarts()
.add_wait_for_catchup_s(60)
.add_system_metrics_threshold(SystemMetricsThreshold::new(
// Check that we don't use more than 12 CPU cores for 30% of the time.
MetricsThreshold::new(12, 30),
// Tuned for throughput uses more cores than regular tests,
// as it achieves higher throughput
// Check that we don't use more than 14 CPU cores for 30% of the time.
MetricsThreshold::new(14, 30),
// Check that we don't use more than 10 GB of memory for 30% of the time.
MetricsThreshold::new(10 * 1024 * 1024 * 1024, 30),
))
Expand Down

0 comments on commit 2541900

Please sign in to comment.