Skip to content

Commit 94b713a

Browse files
authored
docs: add read-write splitting with connection pooling heavy query performance test results (#455)
1 parent 1255c48 commit 94b713a

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

docs/Documentation.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,5 @@
2525
- [Plugin Pipeline Performance Results](./development-guide/PluginPipelinePerformanceResults.md)
2626
- [Plugin Service](./development-guide/PluginService.md)
2727
- [Pipelines](./development-guide/Pipelines.md)
28+
- [Read-Write Splitting Plugin Performance Results](./development-guide/ReadWriteSplittingPluginPerformanceResults.md)
2829
- [Known Limitations](./KnownLimitations.md)

docs/development-guide/DevelopmentGuide.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,17 @@ See [here](PluginPipelinePerformanceResults.md#failover-performance-with-differe
125125
![](../images/jdbc_wrapper_postgresql_efm_6000_1000_1.png)
126126
See [here](PluginPipelinePerformanceResults.md#enhanced-failure-monitoring-performance-with-different-failure-detection-configuration) for a more detailed performance breakdown.
127127

128+
#### Read-Write Splitting and Internal Connection Pooling Performance Tests
129+
130+
The diagram in this section shows the AWS JDBC Driver's performance when using the read-write splitting plugin, with or without connection pooling enabled. This test sets up a large number of connections in parallel; the initial connection is to the writer but will be changed to a random reader instance. The test executes a long query many times to simulate heavy queries.
131+
132+
The average overhead time is measured as the average time difference between running the entire test with the read-write plugin and running the entire test without any plugins. The baseline overhead time is 0 because there are no plugins in this scenario and thus there is no plugin overhead.
133+
134+
Note that the given overhead values represent the total overhead of running the entire test workflow rather than the overhead of executing a single method. The test executes 1 writer query and 1 read-only query from 10 connections simultaneously.
135+
136+
![](../images/jdbc_wrapper_postgresql_readwritesplitting_connectionpooling_performance.png)
137+
See [here](ReadWriteSplittingPluginPerformanceResults.md#read-write-splitting-plugin-postgres-performance-results) for a more detailed performance breakdown.
138+
128139
### Running the Tests
129140

130141
After building the AWS JDBC Driver you can now run the unit tests.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Read-Write Splitting Plugin Performance Results
2+
3+
### Read-Write Splitting Plugin Postgres Performance Results
4+
| Benchmark | Average Test Run Overhead Time | Units | Percentage (%) Increase of Average Test Run Overhead from Baseline |
5+
|-------------------------------------------------------------|--------------------------------|-------------|--------------------------------------------------------------------|
6+
| No Plugin Enabled | 0 (baseline) | ms/test-run | 0 |
7+
| Read-Write Splitting Plugin Enabled | +139.0 | ms/test-run | +0.689 |
8+
| Read-Write Splitting Plugin with Connection Pooling Enabled | +2.8 | ms/test-run | +0.014 |
166 KB
Loading

0 commit comments

Comments
 (0)