<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 背景 上一期月報[MariaDB on Power8](http://mysql.taobao.org/monthly/2015/12/09/)我介紹了下 MariaDB 為 Power 處理器所做的一些優化,但是并沒有給出實際測試的效果,這次月報我們借到了一臺Power8的機器,有機會親自試一把 MariaDB 在 Power 上的表現。 ## 環境 一切不交代測試場景的Benchmark都是Benchmarketing。 因為Power和Intel之間對標的CPU型號我無法得知,因此這個測試僅僅用來觀察MariaDB/MySQL在Power和Intel之間一些特質的差異,而非性能的直接對比。 Power 這邊我們拿到的是 PowerVM 虛擬化的32核Power8機器,Intel這邊用的是我們日常測試的E5-2630機型,虛擬機 vs 物理機,兩者的價格我也沒有數據,所以不要直接對比性能,不要直接對比性能,不要直接對比性能! ### Power戰隊 處理器規格: ~~~ processor : 0 cpu : POWER8 (architected), altivec supported clock : 3425.000000MHz revision : 2.1 (pvr 004b 0201) ~~~ 處理器核數: ~~~ [root@plx sysbench]# cat /proc/cpuinfo | grep processor | wc -l 32 ~~~ 內存: ~~~ [root@plx sysbench]# free -g total used free shared buff/cache available Mem: 30 7 3 0 19 22 Swap: 15 0 15 ~~~ ### Intel戰隊 處理器規格: ~~~ processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz stepping : 7 cpu MHz : 2294.709 cache size : 15360 KB physical id : 0 siblings : 12 core id : 0 cpu cores : 6 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid bogomips : 4589.41 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management: ~~~ 處理器核數: ~~~ $cat /proc/cpuinfo | grep processor | wc -l 24 ~~~ 內存: ~~~ $free -g total used free shared buffers cached Mem: 189 53 135 0 0 2 -/+ buffers/cache: 50 138 Swap: 1 0 1 ~~~ ## CPU理論性能測試 首先我們用sysbench簡單測試下CPU的計算能力。 測試命令: ~~~ sysbench --test=cpu --cpu-max-prime=20000 --num-threads=$num run ~~~ 我在每個平臺上至少執行了3次測試,只有連續三次測試結果差異極小的時候,才認為最后一次測試結果有效。因為Power8是一臺虛擬機,并不能保證宿主機任何時候都只有我在用。 下面是原始測試數據的表格: ### Power CPU理論測試 | 線程 | 總耗時(s) | 平均延時(ms) | 95%延時(ms) | |---|---|---| | 1 | 201.67 | 20.17 | 20.19 | | 4 | 66.61 | 26.64 | 33.18 | | 8 | 59.90 | 47.90 | 106.78 | | 16 | 49.18 | 78.62 | 119.75 | | 32 | 37.37 | 119.36 | 119.86 | | 64 | 37.37 | 237.32 | 349.90 | | 128 | 37.38 | 469.16 | 619.61 | | 512 | 37.38 | 1671.31 | 2179.63 | ### Intel CPU理論測試 | 線程 | 總耗時(s) | 平均延時(ms) | 95%延時(ms) | |---|---|---| | 1 | 827.08 | 82.71 | 83.02 | | 4 | 206.97 | 82.77 | 83.24 | | 8 | 103.45 | 82.72 | 83.14 | | 16 | 60.02 | 95.96 | 114.39 | | 32 | 47.52 | 151.89 | 230.74 | | 64 | 47.53 | 303.26 | 350.64 | | 128 | 47.53 | 604.46 | 695.92 | | 512 | 47.53 | 2360.40 | 2759.46 | ### CPU理論性能對比 (注:比值指的是相同線程數下,Intel耗時是Power的多少倍) | 線程 | Power總耗時(s) | Intel總耗時(s) | 比值 | |---|---|---| | 1 | 201.67 | 827.08 | 4.10 | | 4 | 66.61 | 206.97 | 3.11 | | 8 | 59.90 | 103.45 | 1.73 | | 16 | 49.18 | 60.02 | 1.22 | | 32 | 37.37 | 47.52 | 1.27 | | 64 | 37.37 | 47.53 | 1.27 | | 128 | 37.38 | 47.53 | 1.27 | | 512 | 37.38 | 47.53 | 1.27 | 從上面三個圖我們可以總結一些硬件上的特性: * 單核心效率Power要高于Intel。3.425GHz 的 Power8 耗時是 2.6GHZ 的 E5-2630 的 1/4,CPU頻率只有1.3倍的差異; * 并發足夠高時,性能差異并沒有那么大,耗時穩定在1.27倍左右。而核心數Power也是Intel的1.33倍。 ## 場景 本次測試共有三種場景: * MariaDB 10.1.10 on Power * MariaDB 10.1.10 on Intel * RDS MySQL 5.6.16 on Intel 為何沒有 MySQL on Power 呢,因為編譯不過。。。 Buffer Pool全部為16G,數據文件大小為8G上下,保證數據可以全部載入內存。 測試命令: ~~~ ./sysbench --db-dirver=mysql --mysql-host=127.0.0.1 --mysql-port=3001 --mysql-user=root --test=tests/db/select.lua --mysql-table-engine=innodb --oltp-table-size=500000 --oltp-tables-count=64 --max-time=1800 --max-requests=2000000000 --num-threads=$num run ~~~ 為什么只測讀?因為Power主機和Intel主機上使用的硬盤不一樣,HDD vs. SDD,測寫就完全沒有意義了,HDD會被SSD吊打。 因為做過PREPARE之后就直接開測,沒有關過MySQL,因此測試時數據都是在內存中的,不會產生物理IO。 下面是測試結果原始數據的表格: (注:TPS變動比例指當前線程數下的TPS相對于上一輪測試的TPS的比值) ### MariaDB on Power | 線程 | TPS | 平均耗時(ms) | 95%耗時(ms) | TPS變動比例 | |---|---|---| | 1 | 14279.19 | 0.07 | 0.08 | | | 4 | 41563.43 | 0.09 | 0.12 | 291.08% | | 8 | 63601.75 | 0.12 | 0.18 | 153.02% | | 16 | 94346.29 | 0.17 | 0.23 | 148.34% | | 32 | 119444.32 | 0.26 | 0.45 | 126.60% | | 64 | 129451.95 | 0.49 | 0.82 | 108.38% | | 128 | 123414.89 | 1.03 | 1.75 | 95.34% | | 256 | 112408.11 | 2.27 | 4.00 | 91.08% | | 512 | 113163.74 | 4.52 | 8.59 | 100.67% | | 768 | 105875.56 | 7.24 | 15.53 | 93.56% | ### RDS MySQL on Intel | 線程 | TPS | 平均耗時(ms) | 95%耗時(ms) | TPS變動比例 | |---|---|---| | 1 | 10742.70 | 0.09 | 0.11 | | | 4 | 40061.40 | 0.10 | 0.12 | 372.92% | | 8 | 68544.88 | 0.12 | 0.14 | 171.10% | | 16 | 109659.96 | 0.14 | 0.16 | 159.98% | | 32 | 149450.12 | 0.21 | 0.39 | 136.29% | | 64 | 145596.26 | 0.44 | 0.75 | 97.42% | | 128 | 139679.85 | 0.91 | 4.96 | 95.94% | | 256 | 141907.18 | 1.80 | 11.73 | 101.59% | | 512 | 61794.87 | 8.28 | 25.79 | 43.55% | ### MariaDB on Intel | 線程 | TPS | 平均耗時(ms) | 95%耗時(ms) | TPS變動比例 | |---|---|---| | 1 | 9673.51 | 0.10 | 0.12 | | | 4 | 37394.20 | 0.11 | 0.13 | 386.56% | | 8 | 47347.03 | 0.17 | 0.19 | 126.62% | | 16 | 107496.94 | 0.15 | 0.18 | 227.04% | | 32 | 140805.33 | 0.22 | 0.35 | 130.99% | | 64 | 137045.70 | 0.46 | 0.66 | 97.33% | | 128 | 138472.96 | 0.92 | 0.36 | 101.04% | | 256 | 134908.32 | 1.90 | 7.23 | 97.43% | | 512 | 131814.55 | 3.88 | 19.04 | 97.71% | 下面是對比的表格: ### MySQL vs MariaDB on Intel (注:變化率是指MariaDB的數值相對于MySQL的數值的比值的百分比) | 線程 | MySQL TPS | 平均耗時(ms) | 95%耗時(ms) | MariaDB TPS | 平均耗時(ms) | 95%耗時(ms) | TPS變化率 | 平均延時變化率 | 95%延時變化率 | |---|---|---| | 1 | 10742.70 | 0.09 | 0.11 | 9673.51 | 0.10 | 0.12 | 90.05% | 111.11% | 109.09% | | 4 | 40061.40 | 0.10 | 0.12 | 37394.20 | 0.11 | 0.13 | 93.34% | 110.00% | 108.33% | | 8 | 68544.88 | 0.12 | 0.14 | 47347.03 | 0.17 | 0.19 | 69.07% | 141.67% | 135.71% | | 16 | 109659.96 | 0.14 | 0.16 | 107496.94 | 0.15 | 0.18 | 98.03% | 107.14% | 112.50% | | 32 | 149450.12 | 0.21 | 0.39 | 140805.33 | 0.22 | 0.35 | 94.22% | 104.76% | 89.74% | | 64 | 145596.26 | 0.44 | 0.75 | 137045.70 | 0.46 | 0.66 | 94.13% | 104.55% | 88.00% | | 128 | 139679.85 | 0.91 | 4.96 | 138472.96 | 0.92 | 0.36 | 99.14% | 101.10% | 7.26% | | 256 | 141907.18 | 1.80 | 11.73 | 134908.32 | 1.90 | 7.23 | 95.07% | 105.56% | 61.64% | | 512 | 61794.87 | 8.28 | 25.79 | 131814.55 | 3.88 | 19.04 | 213.31% | 46.86% | 73.83% | ### MariaDB on Intel vs Power (注:變化率是指Power平臺的數值相對于Intel平臺的數值的比值的百分比) | 線程 | Intel TPS | 平均耗時(ms) | 95%耗時(ms) | Power TPS | 平均耗時(ms) | 95%耗時(ms) | TPS變化率 | 平均延時變化率 | 95%延時變化率 | |---|---|---| | 1 | 9673.51 | 0.10 | 0.12 | 14279.19 | 0.07 | 0.08 | 147.61% | 70.00% | 66.67% | | 4 | 37394.20 | 0.11 | 0.13 | 41563.43 | 0.09 | 0.12 | 111.15% | 81.82% | 92.31% | | 8 | 47347.03 | 0.17 | 0.19 | 63601.75 | 0.12 | 0.18 | 134.33% | 70.59% | 94.74% | | 16 | 107496.94 | 0.15 | 0.18 | 94346.29 | 0.17 | 0.23 | 87.77% | 113.33% | 127.78% | | 32 | 140805.33 | 0.22 | 0.35 | 119444.32 | 0.26 | 0.45 | 84.83% | 118.18% | 128.57% | | 64 | 137045.70 | 0.46 | 0.66 | 129451.95 | 0.49 | 0.82 | 94.46% | 106.52% | 124.24% | | 128 | 138472.96 | 0.92 | 0.36 | 123414.89 | 1.03 | 1.75 | 89.13% | 111.96% | 486.11% | | 256 | 134908.32 | 1.90 | 7.23 | 112408.11 | 2.27 | 4.00 | 83.32% | 119.47% | 55.33% | | 512 | 131814.55 | 3.88 | 19.04 | 113163.74 | 4.52 | 8.59 | 85.85% | 116.49% | 45.12% | 這個測試結果跟上一篇月報中IBM給出的官方測試對比有很大差異。 我們就來看看這些測試結果反映了些什么問題: * 如果只看 MariaDB on Power 和 MySQL on Intel 的結果,我會以為 Power 在高并發時性能更穩定,但看了 MariaDB on Intel 的測試結果之后,意識到這是 MariaDB Thread Pool 的功勞,并不是Power平臺的優勢; * 對比 MySQL on Intel 和 MariaDB on Intel 可以明顯的看到,16并發和256并發是明顯的分水嶺,16并發之前MySQL優勢明顯,16并發到256并發之間兩者差距不大,256并發之后,MariaDB完爆MySQL; * 看 MariaDB 在 Power 和 Intel 平臺下的表現,16并發之前 Power 優勢會明顯一點,16并發之后 Intel 就追上來了并且超越了 Power。這跟我們上面做的 CPU 理論測試結果差不多,大家可以上去翻表格,16線程之前 Power 效率要高于 Intel,但是之后基本就穩定了; * 所以,官方的Benchmark永遠不可靠,自己動手才是硬道理。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看