Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for visualization of ShardingSphere performance #2908

Closed
nancyzrh opened this issue Aug 22, 2019 · 10 comments
Closed

Support for visualization of ShardingSphere performance #2908

nancyzrh opened this issue Aug 22, 2019 · 10 comments
Assignees

Comments

@nancyzrh
Copy link

nancyzrh commented Aug 22, 2019

Feature Request

Is your feature request related to a problem?

Describe the feature you would like.

we want to provide the perfomance data of shardingsphere with different scenarios. To implement this, different performance test scenarios which can be treated as benchmarks will be designed, and then we will submit performance data to jenkins daily, so that performance data can be achieved when shardingsphere is updated. As our design, the performance comparison of mysql, shardingsphere 4.0 and 3.0 will be provided depending on the scenarios as well.

@nancyzrh nancyzrh changed the title Support for visualization of sharding-proxy performance Support for visualization of ShardingSphere performance Aug 22, 2019
@terrymanu terrymanu added this to the 4.0.0-RC3 milestone Aug 22, 2019
@tuohai666
Copy link
Member

I think the scenarios should include:

Access:
Raw-JDBC
Sharding-JDBC
Sharding-Proxy

Mode:
Single routing
Database routing
Table routing
Full routing
MasterSlave
MasterSlave + Single routing
MasterSlave + Database routing
MasterSlave + Table routing
MasterSlave + Full routing
Encryption
Encryption + Single routing
Encryption + Database routing
Encryption + Table routing
Encryption + Full routing

SQL:
INSERT
UPDATE
SELECT
DELETE

Access(3) * Mode(14) * SQL(4) = 168 secnarios

For the 3.x don't support encryption, we can't show the comparison of this part.

Besides, I suggest that we illustrate the performance promotion to user by using ShardingSphere.

Access:
Raw-JDBC
Sharding-JDBC
Sharding-Proxy

Mode:
Database routing

SQL:
INSERT
UPDATE
SELECT
DELETE

Access(3) * Mode(1) * SQL(4) = 12 secnarios

When the database is under significant stress, horizontally shard data into more databases will improve the performance.

@terrymanu
Copy link
Member

We can push benchmark data to https://github.com/OpenSharding/shardingsphere-benchmark

@nancyzrh
Copy link
Author

@tuohai666
Copy link
Member

I have created an offical Apache repo https://github.com/apache/incubator-shardingsphere-benchmark
I suggest push data to this new repo because ShardingSphere is Apache trademark.

@terrymanu
Copy link
Member

Jenkins only can upload a simple picture which is not enough to display performance.
We may do it in our own website (asf-site), there are some tasks we should do:

Frontend:

  1. Display most recently 30 days performance data which is load from github directly (https://github.com/apache/incubator-shardingsphere-benchmark)
  2. Display native MySQL, Sharding-JDBC and Sharding-Proxy's performance in same screen.
  3. Do not display performance data of 3.x by default, can use a parameter flag to display it.
  4. Adjust display details, such as rename calm to normal word and try to reduce text description.
  5. Add navigation page for performance test scenario.
  6. During data accumulation, consider about display most recently 90 days and most recently year's sampling display.

Backend:

  1. Complete all performance test scenarios.
  2. Push performance test data to github (https://github.com/apache/incubator-shardingsphere-benchmark) every day automatically.
  3. Tracing performance data and try to analyze performance issue.

@wqzwh
Copy link
Contributor

wqzwh commented Sep 30, 2019

@terrymanu according to your idea, we will optimize it.

@wqzwh
Copy link
Contributor

wqzwh commented Oct 8, 2019

add ajax gets data,Just update the data to avoid repackaging the build。apache/shardingsphere-benchmark#4
Finish 1

@wqzwh
Copy link
Contributor

wqzwh commented Oct 8, 2019

1、add overview page
2、delete menus
3、3.x Contrast data is not displayed by default and can be turned on by parameters

image

apache/shardingsphere-benchmark#5

Finish 3 and 5

@wqzwh
Copy link
Contributor

wqzwh commented Oct 10, 2019

add new scenarios

  • shardingjdbc_vs_shardingproxy_encrypt
  • shardingjdbc_vs_shardingproxy_sharding_encrypt

apache/shardingsphere-benchmark#6

@terrymanu terrymanu removed this from the 4.0.0-RC3 milestone Oct 10, 2019
@wqzwh wqzwh self-assigned this Oct 15, 2019
@wqzwh
Copy link
Contributor

wqzwh commented Oct 15, 2019

Optimize details:

apache/shardingsphere-benchmark#7

image

image

@wqzwh wqzwh closed this as completed Oct 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants