Browse Source

add mysql test (#7293)

* add mysql test
Redkale 3 years ago
parent
commit
982f1cfb1a

+ 24 - 0
frameworks/Java/redkale/benchmark_config.json

@@ -73,6 +73,30 @@
                 "display_name": "redkale-native",
                 "notes": "",
                 "versus": "Redkale"
+            },
+            "mysql": {
+                "plaintext_url": "/plaintext",
+                "json_url": "/json",
+                "db_url": "/db",
+                "query_url": "/queries?q=", 
+                "fortune_url": "/fortunes",
+                "update_url2": "/updates?q=",
+                "cached_query_url": "/cached-worlds?q=",
+                "port": 8080,
+                "approach": "Realistic",
+                "classification": "Fullstack",
+                "database": "MySQL",
+                "framework": "Redkale",
+                "language": "Java",
+                "flavor": "None",
+                "orm": "Raw",
+                "platform": "Redkale",
+                "webserver": "Redkale",
+                "os": "Linux",
+                "database_os": "Linux",
+                "display_name": "redkale-mysql",
+                "notes": "",
+                "versus": "Redkale"
             }
         }
     ]

+ 6 - 0
frameworks/Java/redkale/conf/source-mysql.properties

@@ -0,0 +1,6 @@
+
+
+############ DataSource ############
+redkale.datasource[].url = jdbc:mysql://tfb-database:3306/hello_world?useSSL=false&rewriteBatchedStatements=true&serverTimezone=UTC&characterEncoding=utf8
+redkale.datasource[].user = benchmarkdbuser
+redkale.datasource[].password = benchmarkdbpass

+ 18 - 0
frameworks/Java/redkale/config.toml

@@ -54,3 +54,21 @@ orm = "Raw"
 platform = "Redkale"
 webserver = "Redkale"
 versus = "Redkale"
+
+[mysql]
+urls.plaintext = "/plaintext"
+urls.json = "/json"
+urls.db = "/db"
+urls.fortune = "/fortunes"
+urls.query = "/queries?q="
+urls.update2 = "/updates?q="
+urls.cached_query = "/cached-worlds?q="
+approach = "Realistic"
+classification = "Fullstack"
+database = "MySQL"
+database_os = "Linux"
+os = "Linux"
+orm = "Raw"
+platform = "Redkale"
+webserver = "Redkale"
+versus = "Redkale"

+ 12 - 0
frameworks/Java/redkale/redkale-mysql.dockerfile

@@ -0,0 +1,12 @@
+FROM maven:3.8.4-openjdk-17-slim as maven
+WORKDIR /redkale
+COPY src src
+COPY conf conf
+RUN rm conf/source.properties
+RUN mv conf/source-mysql.properties  conf/source.properties
+COPY pom.xml pom.xml
+RUN mvn package -q
+
+EXPOSE 8080
+
+CMD ["java", "-server", "-XX:+UseNUMA", "-XX:+UseParallelGC", "-XX:AutoBoxCacheMax=80000", "-DAPP_HOME=./", "-jar", "/redkale/target/redkale-benchmark-1.0.0.jar"]

+ 4 - 3
frameworks/Java/redkale/src/main/java/org/redkalex/benchmark/BenchmarkService.java

@@ -5,7 +5,7 @@
  */
 package org.redkalex.benchmark;
 
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.*;
 import java.util.stream.*;
 import javax.annotation.Resource;
@@ -38,7 +38,7 @@ public class BenchmarkService extends AbstractService {
 
     @RestMapping(name = "json")
     public Message getHelloMessage() {
-        return Message.create("Hello, World!");
+        return new Message("Hello, World!");
     }
 
     @RestMapping(name = "db")
@@ -67,7 +67,8 @@ public class BenchmarkService extends AbstractService {
     public CompletableFuture<HttpScope> queryFortunes() {
         return source.queryListAsync(Fortune.class).thenApply(fortunes -> {
             fortunes.add(new Fortune(0, "Additional fortune added at request time."));
-            return HttpScope.refer("").attr("fortunes", Fortune.sort(fortunes));
+            Collections.sort(fortunes);
+            return HttpScope.refer("").referObj(fortunes);
         });
     }
 

+ 0 - 6
frameworks/Java/redkale/src/main/java/org/redkalex/benchmark/Fortune.java

@@ -5,7 +5,6 @@
  */
 package org.redkalex.benchmark;
 
-import java.util.*;
 import javax.persistence.*;
 import org.redkale.convert.json.JsonConvert;
 
@@ -29,11 +28,6 @@ public final class Fortune implements Comparable<Fortune> {
         this.message = message;
     }
 
-    public static List<Fortune> sort(List<Fortune> fortunes) {
-        Collections.sort(fortunes);
-        return fortunes;
-    }
-
     public int getId() {
         return id;
     }

+ 1 - 1
frameworks/Java/redkale/src/main/java/org/redkalex/benchmark/FortuneRender.java

@@ -39,7 +39,7 @@ public class FortuneRender implements org.redkale.net.http.HttpRender {
     public void renderTo(HttpRequest request, HttpResponse response, Convert convert, HttpScope scope) {
         ByteArray array = localByteArray.get().clear();
         array.put(text1);
-        for (Fortune item : (List<Fortune>) scope.find("fortunes")) {
+        for (Fortune item : (List<Fortune>) scope.getReferObj()) {
             array.put(text2).put(String.valueOf(item.getId()).getBytes(StandardCharsets.UTF_8))
                 .put(text3).put(escape(item.getMessage()).toString().getBytes(StandardCharsets.UTF_8)).put(text4);
         }

+ 0 - 5
frameworks/Java/redkale/src/main/java/org/redkalex/benchmark/Message.java

@@ -26,11 +26,6 @@ public final class Message {
         this.message = message;
     }
 
-    public static Message create(String str) {
-        Message instance = new Message(str);
-        return instance;
-    }
-
     public String getMessage() {
         return message;
     }