Skip to content

Commit 640cd71

Browse files
Merge pull request #9487 from inemtsev/ktor-r2dbc
[Kotlin] Added r2dbc to Ktor suite
2 parents 0ec940b + 981a75b commit 640cd71

File tree

28 files changed

+709
-50
lines changed

28 files changed

+709
-50
lines changed

frameworks/Kotlin/ktor/benchmark_config.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,29 @@
2525
"notes": "http://ktor.io/",
2626
"versus": "netty"
2727
},
28+
"r2dbc": {
29+
"plaintext_url": "/plaintext",
30+
"json_url": "/json",
31+
"db_url": "/db",
32+
"query_url": "/queries?queries=",
33+
"update_url": "/updates?queries=",
34+
"fortune_url": "/fortunes",
35+
36+
"port": 9090,
37+
"approach": "Realistic",
38+
"classification": "Micro",
39+
"database": "Postgres",
40+
"framework": "ktor",
41+
"language": "Kotlin",
42+
"orm": "Raw",
43+
"platform": "Netty",
44+
"webserver": "None",
45+
"os": "Linux",
46+
"database_os": "Linux",
47+
"display_name": "ktor-netty-r2dbc",
48+
"notes": "http://ktor.io/",
49+
"versus": "netty"
50+
},
2851
"jetty": {
2952
"plaintext_url": "/plaintext",
3053
"json_url": "/json",

frameworks/Kotlin/ktor/ktor-asyncdb/build.gradle.kts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
application
3-
kotlin("jvm") version "1.9.22"
3+
kotlin("jvm") version "2.0.21"
44
kotlin("plugin.serialization") version "2.0.0"
55
id("com.github.johnrengelman.shadow") version "8.1.0"
66
}
@@ -17,20 +17,25 @@ application {
1717
}
1818

1919
val ktor_version = "2.3.12"
20-
val kotlinx_serialization_version = "1.6.3"
21-
val vertx_pg_client = "4.5.8"
20+
val kotlinx_serialization_version = "1.7.3"
2221

2322
dependencies {
2423
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinx_serialization_version")
2524
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
2625
implementation("io.ktor:ktor-server-netty:$ktor_version")
2726
implementation("io.ktor:ktor-server-default-headers:$ktor_version")
2827
implementation("io.ktor:ktor-server-html-builder:$ktor_version")
29-
implementation("com.github.jasync-sql:jasync-postgresql:2.2.0")
28+
implementation("com.github.jasync-sql:jasync-postgresql:2.2.4")
29+
}
30+
31+
java {
32+
toolchain {
33+
languageVersion = JavaLanguageVersion.of(21)
34+
}
3035
}
3136

3237
tasks.shadowJar {
33-
archiveBaseName.set("bench")
38+
archiveBaseName.set("ktor-asyncdb")
3439
archiveClassifier.set("")
3540
archiveVersion.set("")
3641
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
kotlin.code.style=official
22

3-
kotlin_version=1.9.22
3+
kotlin_version=2.0.21
44
ktor_version=2.3.12
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
#Fri Dec 07 21:01:17 MST 2018
21
distributionBase=GRADLE_USER_HOME
32
distributionPath=wrapper/dists
43
zipStoreBase=GRADLE_USER_HOME
54
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
5+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip

frameworks/Kotlin/ktor/ktor-asyncdb/settings.gradle

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rootProject.name = "tech-empower-framework-benchmark"
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
FROM maven:3.9.7-amazoncorretto-17-debian as maven
1+
FROM maven:3.9.9-amazoncorretto-21-debian-bookworm as maven
22
WORKDIR /ktor
33
COPY ktor/pom.xml pom.xml
44
COPY ktor/src src
55
RUN mvn clean package -q
66

7-
FROM amazoncorretto:17.0.11-al2023-headless
7+
FROM amazoncorretto:21-al2023-headless
88
WORKDIR /ktor
99
COPY --from=maven /ktor/target/tech-empower-framework-benchmark-1.0-SNAPSHOT-cio-bundle.jar app.jar
1010

1111
EXPOSE 9090
1212

13-
CMD ["java", "-jar", "app.jar"]
13+
CMD ["java", "-server","-XX:+UseNUMA", "-XX:+UseParallelGC", "-XX:+AlwaysPreTouch", "-jar", "app.jar"]

frameworks/Kotlin/ktor/ktor-exposed/app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ repositories {
99
mavenCentral()
1010
}
1111

12-
val ktorVersion = "3.0.1"
12+
val ktorVersion = "3.0.3"
1313
val kotlinxSerializationVersion = "1.7.3"
1414
val exposedVersion = "0.56.0"
1515

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
44
networkTimeout=10000
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
FROM maven:3.9.7-amazoncorretto-17-debian
1+
FROM gradle:jdk21 as build
22
WORKDIR /app
33
COPY ktor-asyncdb/gradle gradle
44
COPY ktor-asyncdb/build.gradle.kts build.gradle.kts
5-
COPY ktor-asyncdb/gradle.properties gradle.properties
65
COPY ktor-asyncdb/gradlew gradlew
7-
COPY ktor-asyncdb/settings.gradle settings.gradle
86
COPY ktor-asyncdb/src src
97
RUN /app/gradlew --no-daemon shadowJar
108

9+
FROM amazoncorretto:21-al2023-headless
10+
WORKDIR /app
11+
COPY --from=build /app/build/libs/ktor-asyncdb.jar ktor-asyncdb.jar
12+
1113
EXPOSE 9090
1214

13-
CMD ["java", "-server", "-XX:+UseParallelGC", "-Xms2G","-Xmx2G", "-jar", "/app/build/libs/bench.jar", "jasync-sql"]
15+
CMD ["java", "-server", "-XX:+UseNUMA", "-XX:+UseParallelGC", "-XX:+AlwaysPreTouch", "-jar", "ktor-asyncdb.jar", "jasync-sql"]

0 commit comments

Comments
 (0)