diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 95d973f33..589865101 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -37,7 +37,7 @@ env: jobs: jmh: name: "Mininal JMH Benchmarks" - runs-on: "ubuntu-latest" + runs-on: "ubuntu-26.04-arm" timeout-minutes: 30 permissions: contents: read diff --git a/performance/pom.xml b/performance/pom.xml index 7f25f9a27..f8b25498f 100644 --- a/performance/pom.xml +++ b/performance/pom.xml @@ -17,7 +17,7 @@ 2.0.17 0.9.8-SNAPSHOT 1.37 - 2.0.2 + 2.0.5 3.1.0 3.6.0 diff --git a/performance/src/main/java/com/clickhouse/benchmark/BenchmarkRunner.java b/performance/src/main/java/com/clickhouse/benchmark/BenchmarkRunner.java index 81fee5556..e34b1520b 100644 --- a/performance/src/main/java/com/clickhouse/benchmark/BenchmarkRunner.java +++ b/performance/src/main/java/com/clickhouse/benchmark/BenchmarkRunner.java @@ -66,7 +66,7 @@ public static void main(String[] args) throws Exception { .warmupIterations(1) .warmupTime(TimeValue.seconds(5)) .measurementIterations(measurementIterations) - .jvmArgs("-Xms8g", "-Xmx8g") + .jvmArgs("-Xms8g", "-Xmx8g", "-XX:+AlwaysPreTouch", "-XX:-UseBiasedLocking") .measurementTime(TimeValue.seconds(measurementTime)) .resultFormat(ResultFormatType.JSON) .output(outputFile) diff --git a/performance/src/main/java/com/clickhouse/benchmark/TestEnvironment.java b/performance/src/main/java/com/clickhouse/benchmark/TestEnvironment.java index 0f0d6a4eb..8b2936ff1 100644 --- a/performance/src/main/java/com/clickhouse/benchmark/TestEnvironment.java +++ b/performance/src/main/java/com/clickhouse/benchmark/TestEnvironment.java @@ -74,6 +74,7 @@ public static ClickHouseNode getServer() { return serverNode; } + private static final long MEM_LIMIT = (long) (24 * Math.pow(1024.0D, 3.0D)); //Initialization and Teardown methods public static void setupEnvironment() { @@ -88,6 +89,13 @@ public static void setupEnvironment() { .withPassword("testing_password") .withEnv("CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT", "1") .withExposedPorts(8123, 8443) + .withCreateContainerCmdModifier(cmd -> { + cmd.getHostConfig() + .withMemorySwap(0L) + .withMemory(MEM_LIMIT) + .withCpuCount(2L); + }) + .withUrlParam("max_threads", "2") .waitingFor(Wait.forHttp("/ping").forPort(8123).forStatusCode(200).withStartupTimeout(Duration.of(600, SECONDS))); container.start(); }