John Spray
c84656a53e
pageserver: implement auto-splitting ( #7681 )
...
## Problem
Currently tenants are only split into multiple shards if a human being
calls the API to do it.
Issue: #7388
## Summary of changes
- Add a pageserver API for returning the top tenants by size
- Add a step to the controller's background loop where if there is no
reconciliation or optimization to be done, it looks for things to split.
- Add a test that runs pgbench on many tenants concurrently, and checks
that splitting happens as expected as tenants grow, without interrupting
the client I/O.
This PR is quite basic: there is a tasklist in
https://github.com/neondatabase/neon/issues/7388 for further work. This
PR is meant to be safe (off by default), and sufficient to enable our
staging environment to run lots of sharded tenants without a human
having to set them up.
2024-05-17 16:01:24 +00:00
..
2023-09-12 15:11:32 +02:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-03-26 15:24:18 +01:00
2024-05-01 21:36:50 -07:00
2023-04-13 14:34:29 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-05-15 12:05:24 +00:00
2023-10-27 10:47:11 +01:00
2024-03-12 11:36:27 +00:00
2024-02-11 01:34:31 +02:00
2023-09-08 16:19:57 +01:00
2024-05-15 15:32:47 +02:00
2024-05-14 10:36:48 -04:00
2024-05-16 12:04:16 +02:00
2024-02-11 01:34:31 +02:00
2024-05-06 06:45:27 +03:00
2024-02-11 01:34:31 +02:00
2024-02-11 01:34:31 +02:00
2024-02-11 01:34:31 +02:00
2024-05-13 15:16:23 +03:00
2023-11-27 18:57:58 +00:00
2024-05-13 15:16:23 +03:00
2024-03-01 14:33:08 +00:00
2023-04-13 14:34:29 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2024-04-25 20:45:37 +03:00
2024-05-13 15:16:23 +03:00
2024-04-02 14:32:14 +01:00
2024-04-02 14:32:14 +01:00
2024-05-13 15:16:23 +03:00
2023-09-15 11:17:18 +01:00
2024-05-13 15:16:23 +03:00
2024-02-11 01:34:31 +02:00
2024-03-01 13:29:08 +01:00
2024-04-25 13:29:17 +01:00
2024-03-01 10:45:39 +01:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-03-08 22:24:30 +00:00
2024-02-11 01:34:31 +02:00
2024-05-13 15:16:23 +03:00
2024-03-28 17:22:35 +00:00
2024-01-26 18:23:53 +00:00
2024-03-06 15:52:24 +00:00
2024-05-13 15:16:23 +03:00
2023-04-13 14:34:29 +03:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2023-04-13 14:34:29 +03:00
2024-05-17 13:24:03 +01:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-01-23 07:55:05 +02:00
2024-05-06 14:07:15 +01:00
2023-11-07 16:57:26 +00:00
2024-05-13 15:16:23 +03:00
2024-02-11 01:34:31 +02:00
2024-04-25 13:29:17 +01:00
2024-05-06 07:18:38 +03:00
2023-12-05 18:49:24 +02:00
2024-05-17 12:24:02 +02:00
2024-05-07 15:18:17 +00:00
2024-02-21 18:24:59 +01:00
2023-09-16 18:05:35 +03:00
2024-05-16 13:05:50 +02:00
2024-04-03 11:23:26 +01:00
2024-05-13 15:16:23 +03:00
2024-04-25 20:45:37 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-03-23 01:01:51 +00:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2023-07-18 12:56:40 +03:00
2024-05-17 16:01:24 +00:00
2023-08-03 17:20:24 +03:00
2024-05-13 13:18:14 +01:00
2024-02-11 01:34:31 +02:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-03-01 10:45:39 +01:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2023-07-18 12:56:40 +03:00
2024-02-11 01:34:31 +02:00
2023-04-13 14:34:29 +03:00
2024-05-08 20:58:35 +03:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00
2024-05-17 12:24:02 +02:00
2024-05-13 15:16:23 +03:00
2024-05-13 15:16:23 +03:00