Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add comments relating memory sizing. #88

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions charts/stardog/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,28 @@ Configuration Parameters

The default values are specified in `values.yaml` as well as the required values for the ZooKeeper chart.

Memory Parameters
-----------------

Memory settings are part of both javaArgs and resources within
values.yaml. The settings must be coordinated.

Stardog will aggressive use all memory allocated to it via the
Copy link
Member

Choose a reason for hiding this comment

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

s/aggressive/aggressively

Copy link
Member Author

Choose a reason for hiding this comment

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

Done. Thank you.

javaArgs settings of -Xmx and -XX:MaxDirectMemorySize. The total
memory used by Stardog is the sum of -Xmx and -XX:MaxDirectMemorySize.

The resources settings of requests:memory and optional limits:memory
must account for the javaArgs settings. requests:memory should be at
least 1g larger than -Xms and -XX:MaxDirectMemorySize total. 2g larger is
preferred. If you chose to establish resourse:limits, limits:memory
must be at least 1g larger than -Xmx and -XX:MaxDirectMemorySize total. A
too small limits:memory setting will likely result in a system crash.

Network based disk storage is not recommended. If used, the
Copy link
Member

Choose a reason for hiding this comment

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

Can you clarify with some examples here vs block storage

Copy link
Member Author

Choose a reason for hiding this comment

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

Rewrote the network storage section completely differently. And remembered we used a different approach with Disney and Windows SMB.

limits:memory should be at least 4g larger than -Xmx and
-XX:MaxDirectMemorySize total. Network storage often caches large
writes related to data loads and db optimizations.

Upgrades
--------

Expand Down
4 changes: 4 additions & 0 deletions charts/stardog/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ cluster:
terminationGracePeriodSeconds: 300

# Java args for Stardog server
# Shown are memory sizing parameters. Total potential memory is sum of
# -Xmx and -XX:MaxDirectMemorySize. In this sample, the total memory is 3g
javaArgs: "-Xmx2g -Xms2g -XX:MaxDirectMemorySize=1g"

# Additional arguments passed to Stardog at server start
Expand Down Expand Up @@ -81,6 +83,8 @@ antiAffinity: requiredDuringSchedulingIgnoredDuringExecution

# Stardog should have at least 2 CPUs. The CPU request value is used to set
# -XX:ActiveProcessorCount=N for the JVM.
# If limits:memory is activated, it must be at least 1g larger than the
# total of javaArg's -Xmx and -XX:MaxDirectMemorySize. 2g larger is recommended.
resources:
requests:
cpu: 2
Expand Down