Skip to content

[opentelemetry-demo]: raise memory limit on product-catalog and checkout - #2383

Open
pkriko wants to merge 2 commits into
open-telemetry:mainfrom
pkriko:demo-raise-memory-limits-product-catalog-checkout
Open

[opentelemetry-demo]: raise memory limit on product-catalog and checkout#2383
pkriko wants to merge 2 commits into
open-telemetry:mainfrom
pkriko:demo-raise-memory-limits-product-catalog-checkout

Conversation

@pkriko

@pkriko pkriko commented Aug 31, 2026

Copy link
Copy Markdown

Description

The memory limits of some services were too low, which caused disk latency on our k8s cluster and even nodes that could no longer schedule new pods. To fix this, we increased the memory limit of the services.

Link to tracking issue

Fixes #2376

Authorship

  • I, a human, wrote this pull request description myself.

Assited-by: Claude

Both services ship a 20Mi memory limit. Under the load generator their working
set sits at 87-91% and 75-79% of that ceiling. Page cache is charged to the
cgroup, so as a container approaches its limit the kernel evicts cached pages
instead of OOM-killing it, and the next file access goes back to disk. The cycle
repeats for as long as the demo runs.

The containers never die and never restart, so nothing surfaces in kubectl get
pods. The only visible symptom is a slow node.

Measured on a 4 vCPU / 6 GB node, 15 minute averages:

  container         working set     limit   disk reads
  product-catalog   17.4-18.2 MiB   20Mi    3.42 MB/s
  checkout          15.1-15.9 MiB   20Mi    1.99 MB/s

That kept the node disk 97% busy with 3.48 of 4 cores in iowait.

Raising both to 128Mi, then re-running the same load: node disk busy time went
from 0.97 to 0.002, product-catalog reads from 3.42 MB/s to 0.0012 MB/s, and
checkout from 1.99 MB/s to 0.0007 MB/s. Working set barely moved (16.8-21.2 MiB),
so the extra headroom is not consumed, it just leaves room for the page cache.

Fixes open-telemetry#2376
@pkriko
pkriko requested review from a team and julianocosta89 as code owners August 31, 2026 14:40
@linux-foundation-easycla

linux-foundation-easycla Bot commented Aug 31, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: pkriko / name: pkriko (5d0e31d)

@TylerHelmuth

Copy link
Copy Markdown
Member

@pkriko Thank you. Please follow our contributing guidelines for agent: https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/AGENTS.md.

@pkriko

pkriko commented Sep 1, 2026

Copy link
Copy Markdown
Author

Because I don't commit anything, i said in the PR description that I used claude to help me.

@julianocosta89 julianocosta89 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those 2 are significant bumps.
Do you have a reasoning behind those numbers?

@pkriko

pkriko commented Sep 4, 2026

Copy link
Copy Markdown
Author

Hello @julianocosta89

Honestly no specific reason behind those numbers (just based on other services). I could give a try to 64Mio or 32Mio to see If I get the same high I/O utilization.

@marcschaeferger marcschaeferger added chart:demo Issues related to opentelemetry-demo helm chart waiting-for-reviewers labels Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chart:demo Issues related to opentelemetry-demo helm chart waiting-for-reviewers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[opentelemetry-demo] high io usage

5 participants