mbox series

[v1,0/2] reduce oxenstored quota processing overhead under load

Message ID cover.1706697858.git.edwin.torok@cloud.com (mailing list archive)
Headers show
Series reduce oxenstored quota processing overhead under load | expand

Message

Edwin Torok Jan. 31, 2024, 10:52 a.m. UTC
A recent stress test with 1000 VMs has shown that oxenstored spends ~40% of time in Quota.copy,
even when processing read-only xenstore commands.
Use an immutable data structure instead.

I have tested this in the gitlab CI here: https://gitlab.com/xen-project/people/edwintorok/xen/-/pipelines/1158302827
For convenience the changes in this (and the other series I sent out) are also available as a git repository:
https://gitlab.com/xen-project/people/edwintorok/xen/-/compare/private%2Fedvint%2Fdune1x...private%2Fedvint%2Fno-hashtbl-dev?from_project_id=47263871&straight=false

I haven't yet measured the speedup, but thought to send out the patch for review early.

Edwin Török (2):
  oxenstored: use Map instead of Hashtbl for quotas
  oxenstored: make Quota.t pure

 tools/ocaml/xenstored/quota.ml | 65 ++++++++++++++++++----------------
 tools/ocaml/xenstored/store.ml | 17 +++++----
 2 files changed, 44 insertions(+), 38 deletions(-)