You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/02/21 09:41:42 UTC

[incubator-shardingsphere-benchmark] branch master updated: add mysql perf

This is an automated email from the ASF dual-hosted git repository.

zhaoyanan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-shardingsphere-benchmark.git


The following commit(s) were added to refs/heads/master by this push:
     new 4148126  add mysql perf
4148126 is described below

commit 4148126c92150e6537928c643bd2f24d02507e20
Author: nancyzrh <zh...@126.com>
AuthorDate: Fri Feb 21 17:41:24 2020 +0800

    add mysql perf
---
 .../src/main/java/jdbc/perf/JdbcSelect.java        | 56 +++++++++++++++++++++-
 .../src/main/java/jdbc/perf/JdbcWrite.java         | 43 ++++++++++++++++-
 .../src/main/java/jdbc/perf/JdbcWriteRead.java     | 44 ++++++++++++++++-
 .../java/service/util/config/DataSourceUtil.java   | 19 +++++++-
 4 files changed, 158 insertions(+), 4 deletions(-)

diff --git a/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcSelect.java b/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcSelect.java
index d3d2217..ac064f5 100644
--- a/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcSelect.java
+++ b/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcSelect.java
@@ -17,5 +17,59 @@
 
 package jdbc.perf;
 
-public class JdbcSelect {
+import org.apache.jmeter.config.Arguments;
+import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
+import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
+import org.apache.jmeter.samplers.SampleResult;
+import perfstmt.ShardingPerfStmt;
+import service.util.config.DataSourceUtil;
+
+import java.sql.SQLException;
+
+public class JdbcSelect extends AbstractJavaSamplerClient {
+    private static final String SELECT_STMT = ShardingPerfStmt.SELECT_STMT.getValue();
+    
+    static {
+        DataSourceUtil.createDataSource("###", "sharding_db", "###", 3306, "###");
+    }
+    
+    /**
+     * get default params.
+     * @return null
+     */
+    @Override
+    public Arguments getDefaultParameters() {
+        return null;
+    }
+    
+    /**
+     * setup.
+     * @param context context
+     */
+    @Override
+    public void setupTest(JavaSamplerContext context) {
+    }
+    
+    /**
+     * run test.
+     * @param context context
+     * @return sample res
+     */
+    @Override
+    public SampleResult runTest(JavaSamplerContext context) {
+        SampleResult results = new SampleResult();
+        results.setSampleLabel("JdbcSelect");
+        results.sampleStart();
+        try {
+            DataSourceUtil.getSelectRes(SELECT_STMT, "sharding_db");
+        } catch (SQLException ex) {
+            results.setSuccessful(false);
+            return results;
+        } finally {
+            results.sampleEnd();
+        }
+        results.setSuccessful(true);
+        return results;
+    }
 }
+
diff --git a/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWrite.java b/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWrite.java
index 95dfd55..863fb31 100644
--- a/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWrite.java
+++ b/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWrite.java
@@ -16,5 +16,46 @@
  */
 package jdbc.perf;
 
-public class JdbcWrite {
+import org.apache.jmeter.config.Arguments;
+import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
+import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
+import org.apache.jmeter.samplers.SampleResult;
+import service.util.config.DataSourceUtil;
+
+import java.sql.SQLException;
+
+/**
+ * for mysql insert+update+delete
+ */
+public class JdbcWrite extends AbstractJavaSamplerClient {
+    static {
+        DataSourceUtil.createDataSource("###", "sharding_db", "###", 3306, "###");
+    }
+    
+    @Override
+    public Arguments getDefaultParameters() {
+        return null;
+    }
+    
+    @Override
+    public void setupTest(JavaSamplerContext context) {
+    }
+    
+    @Override
+    public SampleResult runTest(JavaSamplerContext context) {
+        SampleResult results = new SampleResult();
+        results.setSampleLabel("JdbcWrite");
+        results.sampleStart();
+        try {
+            DataSourceUtil.writeOp( "sharding_db");
+        } catch (SQLException ex) {
+            results.setSuccessful(false);
+            return results;
+        } finally {
+            results.sampleEnd();
+        }
+        results.setSuccessful(true);
+        return results;
+    }
 }
+
diff --git a/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWriteRead.java b/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWriteRead.java
index 455677e..df521d0 100644
--- a/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWriteRead.java
+++ b/shardingsphere-benchmark/src/main/java/jdbc/perf/JdbcWriteRead.java
@@ -17,5 +17,47 @@
 
 package jdbc.perf;
 
-public class JdbcWriteRead {
+import org.apache.jmeter.config.Arguments;
+import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
+import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
+import org.apache.jmeter.samplers.SampleResult;
+import service.util.config.DataSourceUtil;
+
+import java.sql.SQLException;
+
+/**
+ * for mysql compare in master slave scene
+ */
+public class JdbcWriteRead extends AbstractJavaSamplerClient {
+    static {
+        DataSourceUtil.createDataSource("###", "sharding_db", "###", 3306, "###");
+    }
+    
+    @Override
+    public Arguments getDefaultParameters() {
+        return null;
+    }
+    
+    @Override
+    public void setupTest(JavaSamplerContext context) {
+    }
+    
+    @Override
+    public SampleResult runTest(JavaSamplerContext context) {
+        SampleResult results = new SampleResult();
+        results.setSampleLabel("JdbcWriteRead");
+        results.sampleStart();
+        try {
+            DataSourceUtil.writeReadOp( "sharding_db");
+        } catch (SQLException ex) {
+            results.setSuccessful(false);
+            return results;
+        } finally {
+            results.sampleEnd();
+        }
+        results.setSuccessful(true);
+        return results;
+    }
 }
+
+
diff --git a/shardingsphere-benchmark/src/main/java/service/util/config/DataSourceUtil.java b/shardingsphere-benchmark/src/main/java/service/util/config/DataSourceUtil.java
index 5f9841d..b5dec38 100644
--- a/shardingsphere-benchmark/src/main/java/service/util/config/DataSourceUtil.java
+++ b/shardingsphere-benchmark/src/main/java/service/util/config/DataSourceUtil.java
@@ -111,6 +111,11 @@ public class DataSourceUtil {
         }
     }
     
+    /**
+     * for mysql compare without master slave scene
+     * @param datasource
+     * @throws SQLException
+     */
     public static void  writeOp(final String datasource) throws SQLException {
         String sql = "INSERT INTO ssperf (k,c,pad) VALUES (?,?,?)";
         Connection connection = null;
@@ -142,7 +147,19 @@ public class DataSourceUtil {
         } finally {
             connection.close();
         }
-        
+    }
+    
+    /**
+     * for select
+     * @param sql sql stmt
+     * @param datasource dataSource name
+     * @throws SQLException
+     */
+    public static void getSelectRes(final String sql, String datasource) throws SQLException {
+        try (Connection connection = getDataSource(datasource).getConnection();
+             PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
+            ResultSet resultSet = preparedStatement.executeQuery();
+        }
     }
     
 }