tuohai666 opened a new issue #1915: Performance issue about Sharding-Proxy
URL: https://github.com/apache/incubator-shardingsphere/issues/1915
 
 
   I'm writing on behalf of @michaeljinxq who has finished a performance test 
of Sharding-Proxy. Here's his test results which suppose to  exist performance 
issue.
   
   Which version of Sharding-Sphere do you using?
   3.1.0
   
   Test cases:
   (1)Sysbench ------> mysql (without proxy)
   (2)Sysbench ------> proxy ------> mysql (no sharding)
   (3)Sysbench ------> proxy ------> mysql (10 shardings)
   
   Hardware Environment
   CPU | Intel(R) Xeon(R) CPU E5-4610 v2 @ 2.30GHz   64 core
   Memory | 256G
   HDD | 480G*8  SSD raid10
   
   Software Environment
   centos7.4
   mysql5.7.24,innodb_buffer_pool_size=10G
   1 logic table (sbtest1) with 100 million rows,
   
   【1】 INSERT
   (1)Sysbench------> mysql  # 48000 qps
   (2)Sysbench------>proxy------>mysql  # 357 qps
   (3)Sysbench------>proxy------>mysql  # 2500 qps
   
   sysbench1.1.0 parameters:
   /opt/sysbench/bin/sysbench oltp_read_write.lua --db-driver=mysql 
--mysql-host=xx.xx.xx.xx --mysql-port=3308 --mysql-db=sysbench 
--mysql-user=admin --mysql-password='password' --table_size=100000000 
--tables=1 --threads=8 --report-interval=1 --auto_inc=off prepare
   
   【2】 UPDATE
   
   Threads | Types | tps | response | version
   32 | 3306 | 17267 | 1.85 | N
   32 | 3308 | 10763 | 2.97 | 3.0.0
   32 | 3309 | 11053 | 2.89 | 3.0.0
   32 | 3310 | 13447 | 2.38 | 3.1.0
   32 | 3311 | 11914 | 2.69 | 3.1.0
   
   3306 -> (1)
   3308 to 3310 -> (2) -> tps ↓ 22.12% -> response ↑ 28.65%
   3309 to 3310 -> (3) -> tps ↓ 31% -> response ↑ 45.4%
   
   sysbench1.1.0 parameters:
   /opt/sysbench/bin/sysbench oltp_update_index.lua --db-driver=mysql 
--mysql-host=${ip} --mysql-port=${port} --mysql-db=sysbench2 
--mysql-user=sysbench --mysql-password=password --table_size=100000000 
--tables=1 --threads=${thread_num} --time=3600 --report-interval=10 run
   
   【3】 Long duration UPDATE (1 hour)
   
   Threads | tps | response | version
   32|17832|1.79|N
   32|7665|4.17|3.1.0
   32|12339|2.59|3.1.0
   
   MySQL connection count will become to 1 every several seconds.
   
   
   【4】 Configurations
   
   **server.yaml**
   
   authentication:
   username: admin
   password: Admin123%r
   
   props:
   max.connections.size.per.query: 1
   acceptor.size: 16 # The default value is available processors count * 2.
   executor.size: 16 # Infinite by default.
   proxy.opentracing.enabled: false
   sql.show: false
   
   
   **sharding.yaml**
   
   schemaName: sysbench
   
   dataSources:
   sysbench:
   url: jdbc:mysql://xx.xx.xx:3306/sysbench?serverTimezone=UTC&useSSL=false
   username: sysbench
   password: password
   autoCommit: true
   connectionTimeout: 30000
   idleTimeout: 60000
   maxLifetime: 1800000
   maximumPoolSize: 65
   
   shardingRule:
   tables:
   sbtest1:
   actualDataNodes: sysbench.sbtest_${0..9}
   tableStrategy:
   inline:
   shardingColumn: id
   algorithmExpression: sbtest_${id % 10}
   keyGeneratorColumnName: id
   bindingTables:
   sbtest1
   defaultDatabaseStrategy:
   none:
   defaultTableStrategy:
   none:
   defaultKeyGeneratorClassName: 
io.shardingsphere.core.keygen.DefaultKeyGenerator

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to