Hi: We test again, the cost use Proxy to route to only one database : > “select count(*) from member where merchant_id = 'dwj'” > the cost is : 4.32 sec
its looks like the same cost of count query to one server( db0 or db1) ,like this. so , the same question query cost 25s with 16databases, why? ________________________________ 发件人: Zhang Yonglun <[email protected]> 发送时间: 2020年6月4日 17:27 收件人: dev <[email protected]> 主题: Re: About count query in sharding-proxy 4.0.0-RC2 Get it. What about the cost use Proxy to route to only one database? Actually merging just consume little time. -- Zhang Yonglun Apache ShardingSphere Kai Yu <[email protected]> 于2020年6月4日周四 下午4:56写道: > hi: > thx for your replay, > our machine'environment is aliyun RDS 4C8G > The 16 machines have same environment, it means one RDS one database,We > have 16 RDS. > Every databases have one table named 'member', the table have almost two > million rows, it means 16databases total have > thirty million rows . > > we connect to every server(from db0 to db15) , execute count sql is > “select count(*) from member where merchant_id = 'dwj'” > the cost is : > > db0 (4.97 sec) > > db1 (4.83 sec) > > db2 (5.23 sec) > > db3 (4.94 sec) > > db4 (5.12 sec) > > db5 (5.86 sec) > > db6 (5.31 sec) > > db7 (5.03 sec) > > db8 (5.37 sec) > > db9 (5.66 sec) > > db9 (5.75 sec) > > db10 (5.49 sec) > > db11 (5.11 sec) > > db12 (4.98 sec) > > db13 (5.72 sec) > > db14 (5.33 sec) > > db15 (5.15 sec) > ________________________________ > 发件人: Zhang Yonglun <[email protected]> > 发送时间: 2020年6月4日 14:03 > 收件人: dev <[email protected]> > 主题: Re: About count query in sharding-proxy 4.0.0-RC2 > > If so, I suggest you connect all 16 databases and record the time cost for > each. > Also, please show your hardware environment. > > -- > > Zhang Yonglun > Apache ShardingSphere > > > Kai Yu <[email protected]> 于2020年6月3日周三 下午5:23写道: > > > Hi: > > before i send last email ,i didn't add this props, > > after I add props in server.yml , by the config like this: > > max.connections.size.per.query: 64 > > acceptor.size: 64 > > executor.size: 64 > > the count query sql cost 25s > > > > I changed props ,increase to 128 or 256 ,the count query sql cost still > > between 24-26s > > > > > > Is this situation normal ? > > > > Is there a way to continue improve this ? thanks > > ________________________________ > > 发件人: Kai Yu <[email protected]> > > 发送时间: 2020年6月3日 15:16 > > 收件人: [email protected] <[email protected]> > > 主题: About count query in sharding-proxy 4.0.0-RC2 > > > > Hi ALL : > > we have a project used 16 databases (db0 ...db15),we used > > sharding-proxy 4.0.0-RC2 , > > and config the sharding.xml like this: > > schemaName: ty-basic-member > > dataSources: > > db0: > > url: jdbc:mysql://xxx:3306/db0?useSSL=false > > username: root > > password: root > > connectionTimeoutMilliseconds: 30000 > > idleTimeoutMilliseconds: 60000 > > maxLifetimeMilliseconds: 1800000 > > maxPoolSize: 65 > > ... > > db15: > > url: jdbc:mysql://xxx:3306/db15?useSSL=false > > username: root > > password: root > > connectionTimeoutMilliseconds: 30000 > > idleTimeoutMilliseconds: 60000 > > maxLifetimeMilliseconds: 1800000 > > maxPoolSize: 65 > > > > shardingRule: > > tables: > > member: > > actualDataNodes: > > > dwj|13.member,dwj|12.member,dwj|11.member,dwj|10.member,dwj|5.member,dwj|6.member,dwj|7.member,dwj|15.member,dwj|8.member,dwj|14.member,dwj|9.member,dwj|0.member,dwj|0.member,dwj|1.member,dwj|2.member,dwj|3.member,dwj|4.member > > databaseStrategy: > > complex: > > algorithmClassName: > > com.toonyoo.app.sharding.proxy.ProxyDBShardingAlgorithm > > shardingColumns: merchant_id,member_id > > logicTable: member > > > > there is a table named member, it has 3kw rows, then we test the query > > like this : > > case 1 > > we connect to the sharding-proxy application (like ip:3307 ) on > server > > , execute count sql: > > MySQL [ty-basic-member]> select count(*) from member where merchant_id = > > 'dwj'; > > +----------+ > > | count(*) | > > +----------+ > > | 34202355 | > > +----------+ > > 1 row in set (37.59 sec) > > > > case 2 > > we connect to db0 on server , executecount sql: > > MySQL [db0]> select count(*) from member where merchant_id = 'dwj'; > > +----------+ > > | count(*) | > > +----------+ > > | 2217826 | > > +----------+ > > 1 row in set (5.49 sec) > > > > > > we found the count query cost 37s with 16 database , > > we think the proxy component deal the 16database's query may cost 5s > like > > count query on db0 ,looks like Parallel ,we dont know why. > > > > Can you provide some technical details underlying principle for us to > > understand? > > thanks > > >
