Compare commits

...

7 Commits

Author SHA1 Message Date
Christian Schwarz
fb21cfa6e6 BENCHMARK
admin@neon-loadtest:[~/neon]: ./target/release/pagebench get-page-latest-lsn --page-service-connstring 'postgres://postgres@localhost:15004' --mgmt-api-endpoint http://localhost:15005 --limit-to-first-n-targets 1 --num-clients 128 --runtime 10s
2024-03-22T21:39:21.716695Z  INFO timelines:
[TenantTimelineId { tenant_id: 0020aefd92542de004d4003bbc25153f, timeline_id: b854dccb715605809e98bb1106a171fa }]
2024-03-22T21:39:21.716718Z  INFO number of timelines:
1
2024-03-22T21:39:21.745957Z  INFO filter duration: 0.000499642
2024-03-22T21:39:21.745978Z  INFO spawning workers
2024-03-22T21:39:21.755971Z  INFO waiting for everything to become ready
2024-03-22T21:39:21.756341Z  INFO work started
2024-03-22T21:39:22.756691Z  INFO RPS: 16894   MISSED: 0
2024-03-22T21:39:23.757933Z  INFO RPS: 15817   MISSED: 0
2024-03-22T21:39:24.758885Z  INFO RPS: 16826   MISSED: 0
2024-03-22T21:39:25.759676Z  INFO RPS: 16750   MISSED: 0
2024-03-22T21:39:26.760710Z  INFO RPS: 17200   MISSED: 0
2024-03-22T21:39:27.761706Z  INFO RPS: 16952   MISSED: 0
2024-03-22T21:39:28.762708Z  INFO RPS: 15921   MISSED: 0
2024-03-22T21:39:29.763674Z  INFO RPS: 16960   MISSED: 0
2024-03-22T21:39:30.764704Z  INFO RPS: 17080   MISSED: 0
2024-03-22T21:39:31.756681Z  INFO runtime over, signalling cancellation
2024-03-22T21:39:31.766285Z  INFO RPS: 16799   MISSED: 0
2024-03-22T21:39:31.768556Z  INFO work sender exited
{
  "total": {
    "request_count": 167356,
    "latency_mean": "7ms 651us",
    "latency_percentiles": {
      "p95": "13ms 671us",
      "p99": "16ms 863us",
      "p99.9": "21ms 567us",
      "p99.99": "26ms 543us"
    }
  }
}
2024-03-22 21:39:44 +00:00
Christian Schwarz
276682191d Revert "only one runtime"
This reverts commit 9e2a805d88.
2024-03-22 21:38:34 +00:00
Christian Schwarz
f0e1f3d25a Revert "fixup: task_mgr::spawn is used in places that don't have ambient runtime"
This reverts commit d83eaf7aee.
2024-03-22 21:38:34 +00:00
Christian Schwarz
235e357df7 BENCHMARK:
admin@neon-loadtest:[~/neon]: ./target/release/pagebench get-page-latest-lsn --page-service-connstring 'postgres://postgres@localhost:15004' --mgmt-api-endpoint http://localhost:15005 --limit-to-first-n-targets 1 --num-clients 128 --runtime 10s
2024-03-22T21:23:49.087723Z  INFO timelines:
[TenantTimelineId { tenant_id: 0020aefd92542de004d4003bbc25153f, timeline_id: b854dccb715605809e98bb1106a171fa }]
2024-03-22T21:23:49.087747Z  INFO number of timelines:
1
2024-03-22T21:23:49.114023Z  INFO filter duration: 0.000486342
2024-03-22T21:23:49.114048Z  INFO spawning workers
2024-03-22T21:23:49.122700Z  INFO waiting for everything to become ready
2024-03-22T21:23:49.123260Z  INFO work started
2024-03-22T21:23:50.123338Z  INFO RPS: 18193   MISSED: 0
2024-03-22T21:23:51.124341Z  INFO RPS: 17847   MISSED: 0
2024-03-22T21:23:52.125372Z  INFO RPS: 18068   MISSED: 0
2024-03-22T21:23:53.126334Z  INFO RPS: 17755   MISSED: 0
2024-03-22T21:23:54.127361Z  INFO RPS: 16961   MISSED: 0
2024-03-22T21:23:55.128370Z  INFO RPS: 18226   MISSED: 0
2024-03-22T21:23:56.129340Z  INFO RPS: 18153   MISSED: 0
2024-03-22T21:23:57.130337Z  INFO RPS: 18015   MISSED: 0
2024-03-22T21:23:58.131469Z  INFO RPS: 17431   MISSED: 0
2024-03-22T21:23:59.123410Z  INFO runtime over, signalling cancellation
2024-03-22T21:23:59.132840Z  INFO RPS: 17028   MISSED: 0
2024-03-22T21:23:59.316002Z  INFO work sender exited
{
  "total": {
    "request_count": 177838,
    "latency_mean": "7ms 201us",
    "latency_percentiles": {
      "p95": "12ms 879us",
      "p99": "15ms 823us",
      "p99.9": "19ms 615us",
      "p99.99": "22ms 431us"
    }
  }
}
2024-03-22 21:38:24 +00:00
Christian Schwarz
8176aca56b DO NOT MERGE: diable materialized page cache for benchmarking 2024-03-22 21:27:52 +00:00
Christian Schwarz
d83eaf7aee fixup: task_mgr::spawn is used in places that don't have ambient runtime 2024-03-22 19:49:49 +00:00
Christian Schwarz
9e2a805d88 only one runtime 2024-03-22 19:56:05 +01:00

View File

@@ -2855,15 +2855,7 @@ impl Timeline {
lsn: Lsn,
ctx: &RequestContext,
) -> Option<(Lsn, Bytes)> {
let cache = page_cache::get();
// FIXME: It's pointless to check the cache for things that are not 8kB pages.
// We should look at the key to determine if it's a cacheable object
let (lsn, read_guard) = cache
.lookup_materialized_page(self.tenant_shard_id, self.timeline_id, key, lsn, ctx)
.await?;
let img = Bytes::from(read_guard.to_vec());
Some((lsn, img))
return None;
}
async fn get_ready_ancestor_timeline(