diff --git a/frameworks/Java/t-io/README.md b/frameworks/Java/t-io/README.md index 8925afb67fb..e697e404032 100644 --- a/frameworks/Java/t-io/README.md +++ b/frameworks/Java/t-io/README.md @@ -10,7 +10,8 @@ These implementations use the t-io's controller. ## Versions -3.5.5.v20191010-RELEASE (https://gitee.com/tywo45/t-io) +* [Java OpenJDK 17](http://openjdk.java.net/) +* [t-io 3.8.6.v20240801-RELEASE](https://github.com/tywo45/t-io) ## Test URLs diff --git a/frameworks/Java/t-io/pom.xml b/frameworks/Java/t-io/pom.xml index 39eaaf6511f..4482831bcff 100644 --- a/frameworks/Java/t-io/pom.xml +++ b/frameworks/Java/t-io/pom.xml @@ -8,13 +8,14 @@ org.t-io tio-http-parent - 3.5.5.v20191010-RELEASE + 3.8.6.v20240801-RELEASE + 21 UTF-8 - 11 - 11 + 21 + 21 org.tio.http.server.benchmark.TioBenchmarkStarter diff --git a/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/TioBenchmarkStarter.java b/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/TioBenchmarkStarter.java index b49613bbe80..8f1c7af2d9d 100644 --- a/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/TioBenchmarkStarter.java +++ b/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/TioBenchmarkStarter.java @@ -2,12 +2,13 @@ import java.io.IOException; +import org.tio.core.PacketHandlerMode; import org.tio.http.common.HttpConfig; import org.tio.http.server.HttpServerStarter; import org.tio.http.server.benchmark.controller.TestController; import org.tio.http.server.handler.DefaultHttpRequestHandler; import org.tio.http.server.mvc.Routes; -import org.tio.server.ServerTioConfig; +import org.tio.server.TioServerConfig; /** * @author tanyaowu @@ -17,7 +18,7 @@ public class TioBenchmarkStarter { public static HttpConfig httpConfig; public static DefaultHttpRequestHandler requestHandler; public static HttpServerStarter httpServerStarter; - public static ServerTioConfig serverTioConfig; + public static TioServerConfig tioServerConfig; /** * @param args @@ -36,8 +37,11 @@ public static void main(String[] args) throws Exception { requestHandler = new DefaultHttpRequestHandler(httpConfig, routes); requestHandler.setCompatibilityAssignment(false); httpServerStarter = new HttpServerStarter(httpConfig, requestHandler); - serverTioConfig = httpServerStarter.getServerTioConfig(); - serverTioConfig.statOn = false; + tioServerConfig = httpServerStarter.getTioServerConfig(); + tioServerConfig.setUseQueueDecode(false); + tioServerConfig.setPacketHandlerMode(PacketHandlerMode.SINGLE_THREAD); + tioServerConfig.setUseQueueSend(false); + tioServerConfig.statOn = false; httpServerStarter.start(); } } diff --git a/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/controller/TestController.java b/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/controller/TestController.java index 8066ee86b49..f9590d3b1d8 100644 --- a/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/controller/TestController.java +++ b/frameworks/Java/t-io/src/main/java/org/tio/http/server/benchmark/controller/TestController.java @@ -20,12 +20,14 @@ public class TestController { private static final String HELLO_WORLD = "Hello, World!"; private static final byte[] HELLO_WORLD_BYTES = HELLO_WORLD.getBytes(); + + private static final Message MESSAGE = new Message(HELLO_WORLD); @RequestPath(value = "json") public HttpResponse json(HttpRequest request) throws Exception { //更高性能的写法 HttpResponse ret = new HttpResponse(request); - ret.setBody(Json.toJson(new Message(HELLO_WORLD)).getBytes()); + ret.setBody(Json.toJson(MESSAGE).getBytes()); ret.addHeader(HeaderName.Content_Type, HeaderValue.Content_Type.TEXT_PLAIN_JSON); return ret; diff --git a/frameworks/Java/t-io/startup.bat b/frameworks/Java/t-io/startup.bat index a372696f6bd..3d4c0dee8b2 100644 --- a/frameworks/Java/t-io/startup.bat +++ b/frameworks/Java/t-io/startup.bat @@ -5,7 +5,7 @@ setlocal & pushd set APP_ENTRY=org.tio.http.server.benchmark.TioBenchmarkStarter set BASE=%~dp0 set CP=%BASE%\config;%BASE%\lib\* -java -server -Xverify:none -Xms1G -Xmx1G -Dpacket.handler.mode=queue -cp "%CP%" %APP_ENTRY% +java -server -Xverify:none -Xms1G -Xmx1G -cp "%CP%" %APP_ENTRY% endlocal & popd diff --git a/frameworks/Java/t-io/startup.sh b/frameworks/Java/t-io/startup.sh index ebd998fd0be..53305de278f 100644 --- a/frameworks/Java/t-io/startup.sh +++ b/frameworks/Java/t-io/startup.sh @@ -4,8 +4,8 @@ rem -Xms64m -Xmx2048m setlocal & pushd set APP_ENTRY=org.tio.http.server.benchmark.TioBenchmarkStarter set BASE=%~dp0 -set CP=%BASE%\config:%BASE%\lib\* -java -server -Xverify:none -Xms1G -Xmx1G -Dpacket.handler.mode=queue -cp "%CP%" %APP_ENTRY% +set CP=%BASE%/config:%BASE%/lib/* +java -server -Xverify:none -Xms1G -Xmx4G -cp "%CP%" %APP_ENTRY% endlocal & popd diff --git a/frameworks/Java/t-io/tio-mvc.dockerfile b/frameworks/Java/t-io/tio-mvc.dockerfile index 5f99958b62a..783c553b465 100644 --- a/frameworks/Java/t-io/tio-mvc.dockerfile +++ b/frameworks/Java/t-io/tio-mvc.dockerfile @@ -1,13 +1,15 @@ -FROM maven:3.6.1-jdk-11-slim as maven +FROM maven:3.9.7-amazoncorretto-21 as maven WORKDIR /t-io COPY pom.xml pom.xml COPY src src COPY script script -RUN mvn package -q +RUN mvn clean package -#TODO use separate JDK/JRE for the RUN (as the other builds) +FROM openjdk:21-jdk-slim WORKDIR /t-io/target/tio-http-server-benchmark EXPOSE 8080 -CMD ["java", "-server", "-Xms1G", "-Xmx1G", "-XX:+UseNUMA", "-XX:+UseParallelGC", "-Dpacket.handler.mode=queue1", "-cp", "/t-io/target/tio-http-server-benchmark/config:/t-io/target/tio-http-server-benchmark/lib/*", "org.tio.http.server.benchmark.TioBenchmarkStarter"] +CMD ["java", "-server", "-Xms1G", "-Xmx4G", "-cp", "/t-io/target/tio-http-server-benchmark/config:/t-io/target/tio-http-server-benchmark/lib/*", "org.tio.http.server.benchmark.TioBenchmarkStarter"] + +