diff --git a/sharding-jdbc-doc/public/data/chart.js b/sharding-jdbc-doc/public/data/chart.js new file mode 100644 index 0000000000000..9c9378530edbd --- /dev/null +++ b/sharding-jdbc-doc/public/data/chart.js @@ -0,0 +1,108 @@ +var chartData = { + "compareQuery": { + labels: ["50", "100", "200", "300", "600"], + datasets: [ + { + label: "JDBC", + data: [1812, 3828, 5217, 7239, 7169] + }, { + label: "Sharding-JDBC", + data: [1591, 2547, 5062, 7284, 7151] + } + + ] + },"compareInsert": { + labels: ["50", "100", "200", "300", "600"], + datasets: [ + { + label: "JDBC", + data: [2520, 5860, 6420, 6200, 6250] + },{ + label: "Sharding-JDBC", + data: [2410, 4230, 5445, 5603, 5642] + } + + ] + },"compareUpdate": { + labels: ["50", "100", "200", "300", "600"], + datasets: [ + { + label: "JDBC", + data: [2430, 5712, 6557, 7773, 7561] + },{ + label: "Sharding-JDBC", + data: [2059, 2715, 4770, 7280, 7210] + } + + ] + }, "singleAndDubbleQuery": { + labels: ["50", "100", "200", "300", "600"], + datasets: [ + { + label: "双库", + data: [3724, 6246, 11480, 13107, 13960] + },{ + label: "单库", + data: [1591, 2547, 5062, 7284, 7151] + } + + ] + },"singleAndDubbleInsert": { + labels: ["50", "100", "200", "300", "600"], + datasets: [ + { + label: "双库", + data: [4021, 6807, 7911, 8109, 7619] + },{ + label: "单库", + data: [2410, 4230, 5445, 5603, 5642] + } + + ] + },"singleAndDubbleUpdate": { + labels: ["50", "100", "200", "300", "600"], + datasets: [ + { + label: "双库", + data: [2190, 4464, 9039, 10144, 11970] + },{ + label: "单库", + data: [2059, 2715, 4770, 7280, 7210] + } + ] + },"fatigueTest": { + labels: ["0", "1小时", "2小时", "3小时", "4小时", "5小时", "6小时", "7小时", "8小时"], + datasets: [ + { + label: "jvm堆大小", + data: [0, 567, 533, 587, 523, 546, 577 ,534,577] + } + ] + } +} + +var charStyle = [ + + { + backgroundColor: "rgba(246,179,107,0.2)", + borderColor: "rgba(246,179,107,1)", + pointBorderColor: "rgba(246,179,107,1)", + pointBackgroundColor: "#fff", + pointBorderWidth: 1, + pointHoverRadius: 5, + pointHoverBackgroundColor: "rgba(246,179,107,1)", + pointHoverBorderColor: "rgba(246,179,107,1)", + pointHoverBorderWidth: 2, + }, + { + backgroundColor: "rgba(61,134,198,0.2)", + borderColor: "rgba(61,134,198,1)", + pointBorderColor: "rgba(61,134,198,1)", + pointBackgroundColor: "#fff", + pointBorderWidth: 1, + pointHoverRadius: 5, + pointHoverBackgroundColor: "rgba(61,134,198,1)", + pointHoverBorderColor: "rgba(61,134,198,1)", + pointHoverBorderWidth: 2, + } +] \ No newline at end of file diff --git a/sharding-jdbc-doc/public/img/stress_test_arch.png b/sharding-jdbc-doc/public/img/stress_test_arch.png new file mode 100644 index 0000000000000..2220631535e2f Binary files /dev/null and b/sharding-jdbc-doc/public/img/stress_test_arch.png differ diff --git a/sharding-jdbc-doc/public/index.html b/sharding-jdbc-doc/public/index.html index e1fd70012088c..c345859655d66 100644 --- a/sharding-jdbc-doc/public/index.html +++ b/sharding-jdbc-doc/public/index.html @@ -321,6 +321,8 @@

相关文档

  • 使用限制
  • +
  • 压力测试报告
  • +
  • 未来线路规划
  • @@ -356,6 +358,8 @@

    相关文档

    + + diff --git a/sharding-jdbc-doc/public/index.xml b/sharding-jdbc-doc/public/index.xml index 1024551b035b5..83c0ef6b1deb6 100644 --- a/sharding-jdbc-doc/public/index.xml +++ b/sharding-jdbc-doc/public/index.xml @@ -781,6 +781,173 @@ public Collection&lt;String&gt; doSharding(final Collection&lt;Strin + + 压力测试报告 + http://dangdangdotcom.github.io/sharding-jdbc/post/stress_test/ + Fri, 08 Jan 2016 16:14:21 +0800 + + http://dangdangdotcom.github.io/sharding-jdbc/post/stress_test/ + + +<h1 id="压力测试报告:da68abc810593941936aaba3d62b3b96">压力测试报告</h1> + +<h2 id="测试目的:da68abc810593941936aaba3d62b3b96">测试目的</h2> + +<p>对<code>Sharding-JDBC</code>进行性能测试,客观、公正评估系统的性能,目的有三:</p> + +<ol> +<li>对比<code>Sharding-JDBC</code>和<code>JDBC</code>的性能。</li> +<li><code>Sharding-JDBC</code>是否通过扩展数据库解决<code>JDBC</code>吞吐量不足的问题。</li> +<li><code>Sharding-JDBC</code>的稳定性。</li> +</ol> + +<h2 id="测试数据库配置:da68abc810593941936aaba3d62b3b96">测试数据库配置</h2> + +<table> +<thead> +<tr> +<th>数据库实例</th> +<th align="center">DB1</th> +<th align="center">DB2</th> +</tr> +</thead> + +<tbody> +<tr> +<td>操作系统</td> +<td align="center">centOS5.4</td> +<td align="center">centOS5.4</td> +</tr> + +<tr> +<td>CPU</td> +<td align="center">2C四核</td> +<td align="center">2C四核</td> +</tr> + +<tr> +<td>内存</td> +<td align="center">32GB</td> +<td align="center">32GB</td> +</tr> + +<tr> +<td>硬盘</td> +<td align="center">250G*2_RAID1+600G*4_RAID10</td> +<td align="center">250G*2_RAID1+600G*4_RAID10</td> +</tr> + +<tr> +<td>Mysql版本</td> +<td align="center">5.5.19</td> +<td align="center">5.5.19</td> +</tr> + +<tr> +<td>数据表字段数量</td> +<td align="center">70</td> +<td align="center">70</td> +</tr> + +<tr> +<td>数据表行数</td> +<td align="center">1000万</td> +<td align="center">1000万</td> +</tr> +</tbody> +</table> + +<h2 id="网络拓扑:da68abc810593941936aaba3d62b3b96">网络拓扑</h2> + +<p><img src="img/stress_test_arch.png" alt="网络拓扑图" /></p> + +<h2 id="单库情况下sharding-jdbc与jdbc性能对比:da68abc810593941936aaba3d62b3b96">单库情况下Sharding-JDBC与JDBC性能对比</h2> + +<p>测试结论:</p> + +<ul> +<li>查询操作,Sharding-JDBC的TPS为JDBC的TPS的99.8%</li> +<li>插入操作,Sharding-JDBC的TPS为JDBC的TPS的90.2%</li> +<li>更新操作,Sharding-JDBC的TPS为JDBC的TPS的93.1%</li> +</ul> + +<h3 id="查询:da68abc810593941936aaba3d62b3b96">查询</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="compareQuery" width="400" height="150"></canvas> + +<h3 id="插入:da68abc810593941936aaba3d62b3b96">插入</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="compareInsert" width="400" height="150"></canvas> + +<h3 id="更新:da68abc810593941936aaba3d62b3b96">更新</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="compareUpdate" width="400" height="150"></canvas> + +<h2 id="sharding-jdbc单库与双库性能对比:da68abc810593941936aaba3d62b3b96">Sharding-JDBC单库与双库性能对比</h2> + +<p>对比测试:</p> + +<ul> +<li>单库用例中所有数据全部在DB1中</li> +<li>双库用例中所有数据均匀分布在DB1与DB2中</li> +</ul> + +<p>结论:</p> + +<ul> +<li>TPS双库比单库可以增加大约94%的性能</li> +<li>TPS双库比单库可以增加大约50%的性能</li> +</ul> + +<h3 id="查询-1:da68abc810593941936aaba3d62b3b96">查询</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="singleAndDubbleQuery" width="400" height="150"></canvas> + +<h3 id="插入-1:da68abc810593941936aaba3d62b3b96">插入</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="singleAndDubbleInsert" width="400" height="150"></canvas> + +<h3 id="更新-1:da68abc810593941936aaba3d62b3b96">更新</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="singleAndDubbleUpdate" width="400" height="150"></canvas> + +<h2 id="sharding-jdbc疲劳测试:da68abc810593941936aaba3d62b3b96">Sharding-JDBC疲劳测试</h2> + +<p>经过8个小时的疲劳测试,jvm的堆大约占用不到600MB的内存,且使用量比较稳定。没有发生fullgc。 +<canvas id="fatigueTest" width="400" height="150"></canvas></p> + + + 未来线路规划 http://dangdangdotcom.github.io/sharding-jdbc/post/roadmap/ diff --git a/sharding-jdbc-doc/public/index/index.html b/sharding-jdbc-doc/public/index/index.html index 8e4da46c172a5..401ab7ff9b4a3 100644 --- a/sharding-jdbc-doc/public/index/index.html +++ b/sharding-jdbc-doc/public/index/index.html @@ -318,6 +318,8 @@

    + + diff --git a/sharding-jdbc-doc/public/post/architecture/index.html b/sharding-jdbc-doc/public/post/architecture/index.html index 39c05397c92a8..3247f8dab7986 100644 --- a/sharding-jdbc-doc/public/post/architecture/index.html +++ b/sharding-jdbc-doc/public/post/architecture/index.html @@ -159,6 +159,8 @@

    架构图

    + + diff --git a/sharding-jdbc-doc/public/post/features/index.html b/sharding-jdbc-doc/public/post/features/index.html index 426a1a0d83382..f70f2857410b3 100644 --- a/sharding-jdbc-doc/public/post/features/index.html +++ b/sharding-jdbc-doc/public/post/features/index.html @@ -207,6 +207,8 @@

    稳定性

    + + diff --git a/sharding-jdbc-doc/public/post/index.html b/sharding-jdbc-doc/public/post/index.html index 090ca79d14069..68537818cb5a0 100644 --- a/sharding-jdbc-doc/public/post/index.html +++ b/sharding-jdbc-doc/public/post/index.html @@ -113,6 +113,8 @@

    相关文档

  • 使用限制
  • +
  • 压力测试报告
  • +
  • 未来线路规划
  • @@ -148,6 +150,8 @@

    相关文档

    + + diff --git a/sharding-jdbc-doc/public/post/index.xml b/sharding-jdbc-doc/public/post/index.xml index 3ea5b1b5a1491..53fc24e35e8b9 100644 --- a/sharding-jdbc-doc/public/post/index.xml +++ b/sharding-jdbc-doc/public/post/index.xml @@ -609,6 +609,173 @@ public Collection&lt;String&gt; doSharding(final Collection&lt;Strin
    + + 压力测试报告 + http://dangdangdotcom.github.io/sharding-jdbc/post/stress_test/ + Fri, 08 Jan 2016 16:14:21 +0800 + + http://dangdangdotcom.github.io/sharding-jdbc/post/stress_test/ + + +<h1 id="压力测试报告:da68abc810593941936aaba3d62b3b96">压力测试报告</h1> + +<h2 id="测试目的:da68abc810593941936aaba3d62b3b96">测试目的</h2> + +<p>对<code>Sharding-JDBC</code>进行性能测试,客观、公正评估系统的性能,目的有三:</p> + +<ol> +<li>对比<code>Sharding-JDBC</code>和<code>JDBC</code>的性能。</li> +<li><code>Sharding-JDBC</code>是否通过扩展数据库解决<code>JDBC</code>吞吐量不足的问题。</li> +<li><code>Sharding-JDBC</code>的稳定性。</li> +</ol> + +<h2 id="测试数据库配置:da68abc810593941936aaba3d62b3b96">测试数据库配置</h2> + +<table> +<thead> +<tr> +<th>数据库实例</th> +<th align="center">DB1</th> +<th align="center">DB2</th> +</tr> +</thead> + +<tbody> +<tr> +<td>操作系统</td> +<td align="center">centOS5.4</td> +<td align="center">centOS5.4</td> +</tr> + +<tr> +<td>CPU</td> +<td align="center">2C四核</td> +<td align="center">2C四核</td> +</tr> + +<tr> +<td>内存</td> +<td align="center">32GB</td> +<td align="center">32GB</td> +</tr> + +<tr> +<td>硬盘</td> +<td align="center">250G*2_RAID1+600G*4_RAID10</td> +<td align="center">250G*2_RAID1+600G*4_RAID10</td> +</tr> + +<tr> +<td>Mysql版本</td> +<td align="center">5.5.19</td> +<td align="center">5.5.19</td> +</tr> + +<tr> +<td>数据表字段数量</td> +<td align="center">70</td> +<td align="center">70</td> +</tr> + +<tr> +<td>数据表行数</td> +<td align="center">1000万</td> +<td align="center">1000万</td> +</tr> +</tbody> +</table> + +<h2 id="网络拓扑:da68abc810593941936aaba3d62b3b96">网络拓扑</h2> + +<p><img src="img/stress_test_arch.png" alt="网络拓扑图" /></p> + +<h2 id="单库情况下sharding-jdbc与jdbc性能对比:da68abc810593941936aaba3d62b3b96">单库情况下Sharding-JDBC与JDBC性能对比</h2> + +<p>测试结论:</p> + +<ul> +<li>查询操作,Sharding-JDBC的TPS为JDBC的TPS的99.8%</li> +<li>插入操作,Sharding-JDBC的TPS为JDBC的TPS的90.2%</li> +<li>更新操作,Sharding-JDBC的TPS为JDBC的TPS的93.1%</li> +</ul> + +<h3 id="查询:da68abc810593941936aaba3d62b3b96">查询</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="compareQuery" width="400" height="150"></canvas> + +<h3 id="插入:da68abc810593941936aaba3d62b3b96">插入</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="compareInsert" width="400" height="150"></canvas> + +<h3 id="更新:da68abc810593941936aaba3d62b3b96">更新</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="compareUpdate" width="400" height="150"></canvas> + +<h2 id="sharding-jdbc单库与双库性能对比:da68abc810593941936aaba3d62b3b96">Sharding-JDBC单库与双库性能对比</h2> + +<p>对比测试:</p> + +<ul> +<li>单库用例中所有数据全部在DB1中</li> +<li>双库用例中所有数据均匀分布在DB1与DB2中</li> +</ul> + +<p>结论:</p> + +<ul> +<li>TPS双库比单库可以增加大约94%的性能</li> +<li>TPS双库比单库可以增加大约50%的性能</li> +</ul> + +<h3 id="查询-1:da68abc810593941936aaba3d62b3b96">查询</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="singleAndDubbleQuery" width="400" height="150"></canvas> + +<h3 id="插入-1:da68abc810593941936aaba3d62b3b96">插入</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="singleAndDubbleInsert" width="400" height="150"></canvas> + +<h3 id="更新-1:da68abc810593941936aaba3d62b3b96">更新</h3> + +<ul> +<li>横坐标:并发用户数</li> +<li>纵坐标:TPS</li> +</ul> + +<canvas id="singleAndDubbleUpdate" width="400" height="150"></canvas> + +<h2 id="sharding-jdbc疲劳测试:da68abc810593941936aaba3d62b3b96">Sharding-JDBC疲劳测试</h2> + +<p>经过8个小时的疲劳测试,jvm的堆大约占用不到600MB的内存,且使用量比较稳定。没有发生fullgc。 +<canvas id="fatigueTest" width="400" height="150"></canvas></p> + + + 未来线路规划 http://dangdangdotcom.github.io/sharding-jdbc/post/roadmap/ diff --git a/sharding-jdbc-doc/public/post/restriction/index.html b/sharding-jdbc-doc/public/post/restriction/index.html index a617a60e5c900..c819c44096e32 100644 --- a/sharding-jdbc-doc/public/post/restriction/index.html +++ b/sharding-jdbc-doc/public/post/restriction/index.html @@ -242,6 +242,8 @@

    对于* + + diff --git a/sharding-jdbc-doc/public/post/roadmap/index.html b/sharding-jdbc-doc/public/post/roadmap/index.html index 7dbdadcb7507d..d77ba4cf9f827 100644 --- a/sharding-jdbc-doc/public/post/roadmap/index.html +++ b/sharding-jdbc-doc/public/post/roadmap/index.html @@ -165,6 +165,8 @@

    未来线路规划< + + diff --git a/sharding-jdbc-doc/public/post/stress_test/index.html b/sharding-jdbc-doc/public/post/stress_test/index.html new file mode 100644 index 0000000000000..ea901b896b8ae --- /dev/null +++ b/sharding-jdbc-doc/public/post/stress_test/index.html @@ -0,0 +1,348 @@ + + + + + + + + + + 压力测试报告 + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    + +
    + + +

    压力测试报告

    + +

    测试目的

    + +

    Sharding-JDBC进行性能测试,客观、公正评估系统的性能,目的有三:

    + +
      +
    1. 对比Sharding-JDBCJDBC的性能。
    2. +
    3. Sharding-JDBC是否通过扩展数据库解决JDBC吞吐量不足的问题。
    4. +
    5. Sharding-JDBC的稳定性。
    6. +
    + +

    测试数据库配置

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    数据库实例DB1DB2
    操作系统centOS5.4centOS5.4
    CPU2C四核2C四核
    内存32GB32GB
    硬盘250G*2_RAID1+600G*4_RAID10250G*2_RAID1+600G*4_RAID10
    Mysql版本5.5.195.5.19
    数据表字段数量7070
    数据表行数1000万1000万
    + +

    网络拓扑

    + +

    网络拓扑图

    + +

    单库情况下Sharding-JDBC与JDBC性能对比

    + +

    测试结论:

    + +
      +
    • 查询操作,Sharding-JDBC的TPS为JDBC的TPS的99.8%
    • +
    • 插入操作,Sharding-JDBC的TPS为JDBC的TPS的90.2%
    • +
    • 更新操作,Sharding-JDBC的TPS为JDBC的TPS的93.1%
    • +
    + +

    查询

    + +
      +
    • 横坐标:并发用户数
    • +
    • 纵坐标:TPS
    • +
    + + + +

    插入

    + +
      +
    • 横坐标:并发用户数
    • +
    • 纵坐标:TPS
    • +
    + + + +

    更新

    + +
      +
    • 横坐标:并发用户数
    • +
    • 纵坐标:TPS
    • +
    + + + +

    Sharding-JDBC单库与双库性能对比

    + +

    对比测试:

    + +
      +
    • 单库用例中所有数据全部在DB1中
    • +
    • 双库用例中所有数据均匀分布在DB1与DB2中
    • +
    + +

    结论:

    + +
      +
    • TPS双库比单库可以增加大约94%的性能
    • +
    • TPS双库比单库可以增加大约50%的性能
    • +
    + +

    查询

    + +
      +
    • 横坐标:并发用户数
    • +
    • 纵坐标:TPS
    • +
    + + + +

    插入

    + +
      +
    • 横坐标:并发用户数
    • +
    • 纵坐标:TPS
    • +
    + + + +

    更新

    + +
      +
    • 横坐标:并发用户数
    • +
    • 纵坐标:TPS
    • +
    + + + +

    Sharding-JDBC疲劳测试

    + +

    经过8个小时的疲劳测试,jvm的堆大约占用不到600MB的内存,且使用量比较稳定。没有发生fullgc。 +

    + +
    + +
    +
    +
    + + +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sharding-jdbc-doc/public/post/user_guide/index.html b/sharding-jdbc-doc/public/post/user_guide/index.html index 134459bdec146..9ec993469c633 100644 --- a/sharding-jdbc-doc/public/post/user_guide/index.html +++ b/sharding-jdbc-doc/public/post/user_guide/index.html @@ -597,6 +597,8 @@

    使用Shardin + + diff --git a/sharding-jdbc-doc/public/sitemap.xml b/sharding-jdbc-doc/public/sitemap.xml index f0af670039fb6..cce2919c29959 100644 --- a/sharding-jdbc-doc/public/sitemap.xml +++ b/sharding-jdbc-doc/public/sitemap.xml @@ -30,6 +30,11 @@ 2016-01-08T16:14:21+08:00 + + http://dangdangdotcom.github.io/sharding-jdbc/post/stress_test/ + 2016-01-08T16:14:21+08:00 + + http://dangdangdotcom.github.io/sharding-jdbc/post/roadmap/ 2016-01-08T16:14:21+08:00