Merged PRs
dolt
- 8522: libraries/doltcore/remotestorage: Improve connection reuse when fetching chunks from remote storage.
Improves performance of fetches from DoltHub, sql-server, and doltlab.
Improves some situations where routers and network access points do not respond well to clients which open a great number of connections to the same TCP endpoint, many of which live for a very short period of time.
http.DefaultClient comes with a default MaxIdleConnsPerHost of 2. Fetching with a high number of concurrent downloads results in many connections not being reused efficiently because they cannot get back into the idle pool because it is so small. Here we increase the MaxIdleConnsPerHost to be large enough so that our active connections during a fetch will fit within it.
Note: S3 limits a single HTTP connection to 100 requests, after which it is closed server-side. So currently dolt can still require a large number of new connections over the course of a pull, and the rate at which they are opened will depend on a number of factors including available throughput, round trip time resolving storage locations, etc. But this change will always be a big improvement over the old behavior.
go-mysql-server
- 2729: move
applyEventScheduler
logic andeventscheduler
to builder - 2727: fix dropped error in createView
- 2719: move
applyUpdateAccumulators
This PR deletes theplan.RowUpdateAccumulator
node, and directly injects anaccumulatorIter
into the rowexec tree infinalizeIters
.
Doltgres fix: dolthub/doltgresql#909
Closed Issues
Performance
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 2.07 | 0.62 | 0.3 |
groupby_scan | 13.7 | 16.71 | 1.2 |
index_join | 1.39 | 2.35 | 1.7 |
index_join_scan | 1.27 | 1.89 | 1.5 |
index_scan | 34.33 | 54.83 | 1.6 |
oltp_point_select | 0.18 | 0.27 | 1.5 |
oltp_read_only | 3.49 | 5.47 | 1.6 |
select_random_points | 0.34 | 0.67 | 2.0 |
select_random_ranges | 0.39 | 0.64 | 1.6 |
table_scan | 34.33 | 54.83 | 1.6 |
types_table_scan | 75.82 | 144.97 | 1.9 |
reads_mean_multiplier | 1.5 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
oltp_delete_insert | 8.13 | 5.88 | 0.7 |
oltp_insert | 3.82 | 2.91 | 0.8 |
oltp_read_write | 8.58 | 11.45 | 1.3 |
oltp_update_index | 3.82 | 2.97 | 0.8 |
oltp_update_non_index | 3.89 | 2.91 | 0.7 |
oltp_write_only | 5.37 | 5.99 | 1.1 |
types_delete_insert | 7.7 | 6.32 | 0.8 |
writes_mean_multiplier | 0.9 |
TPC-C TPS Tests | MySQL | Dolt | Multiple |
---|---|---|---|
tpcc-scale-factor-1 | 99.4 | 40.78 | 2.4 |
tpcc_tps_multiplier | 2.4 |
Overall Mean Multiple | 1.60 |
---|