Files
scylladb/utils
Tomasz Grabiec 0851e3fba7 Merge '[Backport 6.2] utils: cached_file: Mark permit as awaiting on page miss' from ScyllaDB
Otherwise, the read will be considered as on-cpu during promoted index
search, which will severely underutlize the disk because by default
on-cpu concurrency is 1.

I verified this patch on the worst case scenario, where the workload
reads missing rows from a large partition. So partition index is
cached (no IO) and there is no data file IO (relies on https://github.com/scylladb/scylladb/pull/20522).
But there is IO during promoted index search (via cached_file).

Before the patch this workload was doing 4k req/s, after the patch it does 30k req/s.

The problem is much less pronounced if there is data file or partition index IO involved
because that IO will signal read concurrency semaphore to invite more concurrency.

Fixes #21325

(cherry picked from commit 868f5b59c4)

(cherry picked from commit 0f2101b055)

Refs #21323

Closes scylladb/scylladb#21358

* github.com:scylladb/scylladb:
  utils: cached_file: Mark permit as awaiting on page miss
  utils: cached_file: Push resource_unit management down to cached_file
2024-12-16 19:55:00 +01:00
..
2023-09-11 14:38:46 +03:00
2023-12-02 22:37:22 +02:00
2023-12-02 22:37:22 +02:00
2024-01-18 12:50:06 +02:00
2024-01-18 12:50:06 +02:00
2024-02-01 14:50:17 +02:00
2024-05-27 17:34:38 +03:00
2023-12-02 22:37:22 +02:00
2023-12-02 22:37:22 +02:00
2024-04-30 09:07:22 +03:00