mirror of
https://github.com/jambonz/jambonz-infrastructure.git
synced 2026-01-25 02:08:27 +00:00
update jambonz mini with cassandra 256MB Heap (#84)
This commit is contained in:
188
packer/jambonz-mini/aws/files/jvm-server.options
Normal file
188
packer/jambonz-mini/aws/files/jvm-server.options
Normal file
@@ -0,0 +1,188 @@
|
||||
###########################################################################
|
||||
# jvm-server.options #
|
||||
# #
|
||||
# - all flags defined here will be used by cassandra to startup the JVM #
|
||||
# - one flag should be specified per line #
|
||||
# - lines that do not start with '-' will be ignored #
|
||||
# - only static flags are accepted (no variables or parameters) #
|
||||
# - dynamic flags will be appended to these on cassandra-env #
|
||||
# #
|
||||
# See jvm8-server.options and jvm11-server.options for Java version #
|
||||
# specific options. #
|
||||
###########################################################################
|
||||
|
||||
######################
|
||||
# STARTUP PARAMETERS #
|
||||
######################
|
||||
|
||||
# Uncomment any of the following properties to enable specific startup parameters
|
||||
|
||||
# In a multi-instance deployment, multiple Cassandra instances will independently assume that all
|
||||
# CPU processors are available to it. This setting allows you to specify a smaller set of processors
|
||||
# and perhaps have affinity.
|
||||
#-Dcassandra.available_processors=number_of_processors
|
||||
|
||||
# The directory location of the cassandra.yaml file.
|
||||
#-Dcassandra.config=directory
|
||||
|
||||
# Sets the initial partitioner token for a node the first time the node is started.
|
||||
#-Dcassandra.initial_token=token
|
||||
|
||||
# Set to false to start Cassandra on a node but not have the node join the cluster.
|
||||
#-Dcassandra.join_ring=true|false
|
||||
|
||||
# Set to false to clear all gossip state for the node on restart. Use when you have changed node
|
||||
# information in cassandra.yaml (such as listen_address).
|
||||
#-Dcassandra.load_ring_state=true|false
|
||||
|
||||
# Enable pluggable metrics reporter. See Pluggable metrics reporting in Cassandra 2.0.2.
|
||||
#-Dcassandra.metricsReporterConfigFile=file
|
||||
|
||||
# Set the port on which the CQL native transport listens for clients. (Default: 9042)
|
||||
#-Dcassandra.native_transport_port=port
|
||||
|
||||
# Overrides the partitioner. (Default: org.apache.cassandra.dht.Murmur3Partitioner)
|
||||
#-Dcassandra.partitioner=partitioner
|
||||
|
||||
# To replace a node that has died, restart a new node in its place specifying the address of the
|
||||
# dead node. The new node must not have any data in its data directory, that is, it must be in the
|
||||
# same state as before bootstrapping.
|
||||
#-Dcassandra.replace_address=listen_address or broadcast_address of dead node
|
||||
|
||||
# Allow restoring specific tables from an archived commit log.
|
||||
#-Dcassandra.replayList=table
|
||||
|
||||
# Allows overriding of the default RING_DELAY (30000ms), which is the amount of time a node waits
|
||||
# before joining the ring.
|
||||
#-Dcassandra.ring_delay_ms=ms
|
||||
|
||||
# Set the SSL port for encrypted communication. (Default: 7001)
|
||||
#-Dcassandra.ssl_storage_port=port
|
||||
|
||||
# Set the port for inter-node communication. (Default: 7000)
|
||||
#-Dcassandra.storage_port=port
|
||||
|
||||
# Set the default location for the trigger JARs. (Default: conf/triggers)
|
||||
#-Dcassandra.triggers_dir=directory
|
||||
|
||||
# For testing new compaction and compression strategies. It allows you to experiment with different
|
||||
# strategies and benchmark write performance differences without affecting the production workload.
|
||||
#-Dcassandra.write_survey=true
|
||||
|
||||
# To disable configuration via JMX of auth caches (such as those for credentials, permissions and
|
||||
# roles). This will mean those config options can only be set (persistently) in cassandra.yaml
|
||||
# and will require a restart for new values to take effect.
|
||||
#-Dcassandra.disable_auth_caches_remote_configuration=true
|
||||
|
||||
# To disable dynamic calculation of the page size used when indexing an entire partition (during
|
||||
# initial index build/rebuild). If set to true, the page size will be fixed to the default of
|
||||
# 10000 rows per page.
|
||||
#-Dcassandra.force_default_indexing_page_size=true
|
||||
|
||||
# Imposes an upper bound on hint lifetime below the normal min gc_grace_seconds
|
||||
#-Dcassandra.maxHintTTL=max_hint_ttl_in_seconds
|
||||
|
||||
########################
|
||||
# GENERAL JVM SETTINGS #
|
||||
########################
|
||||
|
||||
# enable assertions. highly suggested for correct application functionality.
|
||||
-ea
|
||||
|
||||
# disable assertions for net.openhft.** because it runs out of memory by design
|
||||
# if enabled and run for more than just brief testing
|
||||
-da:net.openhft...
|
||||
|
||||
# enable thread priorities, primarily so we can give periodic tasks
|
||||
# a lower priority to avoid interfering with client workload
|
||||
-XX:+UseThreadPriorities
|
||||
|
||||
# Enable heap-dump if there's an OOM
|
||||
-XX:+HeapDumpOnOutOfMemoryError
|
||||
|
||||
# Per-thread stack size.
|
||||
-Xss256k
|
||||
|
||||
# Make sure all memory is faulted and zeroed on startup.
|
||||
# This helps prevent soft faults in containers and makes
|
||||
# transparent hugepage allocation more effective.
|
||||
-XX:+AlwaysPreTouch
|
||||
|
||||
# Disable biased locking as it does not benefit Cassandra.
|
||||
-XX:-UseBiasedLocking
|
||||
|
||||
# Enable thread-local allocation blocks and allow the JVM to automatically
|
||||
# resize them at runtime.
|
||||
-XX:+UseTLAB
|
||||
-XX:+ResizeTLAB
|
||||
-XX:+UseNUMA
|
||||
|
||||
# http://www.evanjones.ca/jvm-mmap-pause.html
|
||||
-XX:+PerfDisableSharedMem
|
||||
|
||||
# Prefer binding to IPv4 network intefaces (when net.ipv6.bindv6only=1). See
|
||||
# http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6342561 (short version:
|
||||
# comment out this entry to enable IPv6 support).
|
||||
-Djava.net.preferIPv4Stack=true
|
||||
|
||||
### Debug options
|
||||
|
||||
# uncomment to enable flight recorder
|
||||
#-XX:+UnlockCommercialFeatures
|
||||
#-XX:+FlightRecorder
|
||||
|
||||
# uncomment to have Cassandra JVM listen for remote debuggers/profilers on port 1414
|
||||
#-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414
|
||||
|
||||
# uncomment to have Cassandra JVM log internal method compilation (developers only)
|
||||
#-XX:+UnlockDiagnosticVMOptions
|
||||
#-XX:+LogCompilation
|
||||
|
||||
#################
|
||||
# HEAP SETTINGS #
|
||||
#################
|
||||
|
||||
# Heap size is automatically calculated by cassandra-env based on this
|
||||
# formula: max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))
|
||||
# That is:
|
||||
# - calculate 1/2 ram and cap to 1024MB
|
||||
# - calculate 1/4 ram and cap to 8192MB
|
||||
# - pick the max
|
||||
#
|
||||
# For production use you may wish to adjust this for your environment.
|
||||
# If that's the case, uncomment the -Xmx and Xms options below to override the
|
||||
# automatic calculation of JVM heap memory.
|
||||
#
|
||||
# It is recommended to set min (-Xms) and max (-Xmx) heap sizes to
|
||||
# the same value to avoid stop-the-world GC pauses during resize, and
|
||||
# so that we can lock the heap in memory on startup to prevent any
|
||||
# of it from being swapped out.
|
||||
-Xms256M
|
||||
-Xmx256M
|
||||
|
||||
# Young generation size is automatically calculated by cassandra-env
|
||||
# based on this formula: min(100 * num_cores, 1/4 * heap size)
|
||||
#
|
||||
# The main trade-off for the young generation is that the larger it
|
||||
# is, the longer GC pause times will be. The shorter it is, the more
|
||||
# expensive GC will be (usually).
|
||||
#
|
||||
# It is not recommended to set the young generation size if using the
|
||||
# G1 GC, since that will override the target pause-time goal.
|
||||
# More info: http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html
|
||||
#
|
||||
# The example below assumes a modern 8-core+ machine for decent
|
||||
# times. If in doubt, and if you do not particularly want to tweak, go
|
||||
# 100 MB per physical CPU core.
|
||||
#-Xmn800M
|
||||
|
||||
###################################
|
||||
# EXPIRATION DATE OVERFLOW POLICY #
|
||||
###################################
|
||||
|
||||
# Defines how to handle INSERT requests with TTL exceeding the maximum supported expiration date:
|
||||
# * REJECT: this is the default policy and will reject any requests with expiration date timestamp after 2038-01-19T03:14:06+00:00.
|
||||
# * CAP: any insert with TTL expiring after 2038-01-19T03:14:06+00:00 will expire on 2038-01-19T03:14:06+00:00 and the client will receive a warning.
|
||||
# * CAP_NOWARN: same as previous, except that the client warning will not be emitted.
|
||||
#
|
||||
#-Dcassandra.expiration_date_overflow_policy=REJECT
|
||||
@@ -45,6 +45,7 @@ java -version
|
||||
tar xvfz apache-cassandra-4.1.3-bin.tar.gz
|
||||
sudo mv apache-cassandra-4.1.3 /usr/local/cassandra
|
||||
sudo cp cassandra.yaml /usr/local/cassandra/conf
|
||||
sudo cp jvm-server.options /usr/local/cassandra/conf
|
||||
|
||||
if [[ "$DISTRO" == rhel* ]] ; then
|
||||
chown -R ec2-user:ec2-user /usr/local/cassandra/
|
||||
|
||||
188
packer/jambonz-mini/proxmox/files/jvm-server.options
Normal file
188
packer/jambonz-mini/proxmox/files/jvm-server.options
Normal file
@@ -0,0 +1,188 @@
|
||||
###########################################################################
|
||||
# jvm-server.options #
|
||||
# #
|
||||
# - all flags defined here will be used by cassandra to startup the JVM #
|
||||
# - one flag should be specified per line #
|
||||
# - lines that do not start with '-' will be ignored #
|
||||
# - only static flags are accepted (no variables or parameters) #
|
||||
# - dynamic flags will be appended to these on cassandra-env #
|
||||
# #
|
||||
# See jvm8-server.options and jvm11-server.options for Java version #
|
||||
# specific options. #
|
||||
###########################################################################
|
||||
|
||||
######################
|
||||
# STARTUP PARAMETERS #
|
||||
######################
|
||||
|
||||
# Uncomment any of the following properties to enable specific startup parameters
|
||||
|
||||
# In a multi-instance deployment, multiple Cassandra instances will independently assume that all
|
||||
# CPU processors are available to it. This setting allows you to specify a smaller set of processors
|
||||
# and perhaps have affinity.
|
||||
#-Dcassandra.available_processors=number_of_processors
|
||||
|
||||
# The directory location of the cassandra.yaml file.
|
||||
#-Dcassandra.config=directory
|
||||
|
||||
# Sets the initial partitioner token for a node the first time the node is started.
|
||||
#-Dcassandra.initial_token=token
|
||||
|
||||
# Set to false to start Cassandra on a node but not have the node join the cluster.
|
||||
#-Dcassandra.join_ring=true|false
|
||||
|
||||
# Set to false to clear all gossip state for the node on restart. Use when you have changed node
|
||||
# information in cassandra.yaml (such as listen_address).
|
||||
#-Dcassandra.load_ring_state=true|false
|
||||
|
||||
# Enable pluggable metrics reporter. See Pluggable metrics reporting in Cassandra 2.0.2.
|
||||
#-Dcassandra.metricsReporterConfigFile=file
|
||||
|
||||
# Set the port on which the CQL native transport listens for clients. (Default: 9042)
|
||||
#-Dcassandra.native_transport_port=port
|
||||
|
||||
# Overrides the partitioner. (Default: org.apache.cassandra.dht.Murmur3Partitioner)
|
||||
#-Dcassandra.partitioner=partitioner
|
||||
|
||||
# To replace a node that has died, restart a new node in its place specifying the address of the
|
||||
# dead node. The new node must not have any data in its data directory, that is, it must be in the
|
||||
# same state as before bootstrapping.
|
||||
#-Dcassandra.replace_address=listen_address or broadcast_address of dead node
|
||||
|
||||
# Allow restoring specific tables from an archived commit log.
|
||||
#-Dcassandra.replayList=table
|
||||
|
||||
# Allows overriding of the default RING_DELAY (30000ms), which is the amount of time a node waits
|
||||
# before joining the ring.
|
||||
#-Dcassandra.ring_delay_ms=ms
|
||||
|
||||
# Set the SSL port for encrypted communication. (Default: 7001)
|
||||
#-Dcassandra.ssl_storage_port=port
|
||||
|
||||
# Set the port for inter-node communication. (Default: 7000)
|
||||
#-Dcassandra.storage_port=port
|
||||
|
||||
# Set the default location for the trigger JARs. (Default: conf/triggers)
|
||||
#-Dcassandra.triggers_dir=directory
|
||||
|
||||
# For testing new compaction and compression strategies. It allows you to experiment with different
|
||||
# strategies and benchmark write performance differences without affecting the production workload.
|
||||
#-Dcassandra.write_survey=true
|
||||
|
||||
# To disable configuration via JMX of auth caches (such as those for credentials, permissions and
|
||||
# roles). This will mean those config options can only be set (persistently) in cassandra.yaml
|
||||
# and will require a restart for new values to take effect.
|
||||
#-Dcassandra.disable_auth_caches_remote_configuration=true
|
||||
|
||||
# To disable dynamic calculation of the page size used when indexing an entire partition (during
|
||||
# initial index build/rebuild). If set to true, the page size will be fixed to the default of
|
||||
# 10000 rows per page.
|
||||
#-Dcassandra.force_default_indexing_page_size=true
|
||||
|
||||
# Imposes an upper bound on hint lifetime below the normal min gc_grace_seconds
|
||||
#-Dcassandra.maxHintTTL=max_hint_ttl_in_seconds
|
||||
|
||||
########################
|
||||
# GENERAL JVM SETTINGS #
|
||||
########################
|
||||
|
||||
# enable assertions. highly suggested for correct application functionality.
|
||||
-ea
|
||||
|
||||
# disable assertions for net.openhft.** because it runs out of memory by design
|
||||
# if enabled and run for more than just brief testing
|
||||
-da:net.openhft...
|
||||
|
||||
# enable thread priorities, primarily so we can give periodic tasks
|
||||
# a lower priority to avoid interfering with client workload
|
||||
-XX:+UseThreadPriorities
|
||||
|
||||
# Enable heap-dump if there's an OOM
|
||||
-XX:+HeapDumpOnOutOfMemoryError
|
||||
|
||||
# Per-thread stack size.
|
||||
-Xss256k
|
||||
|
||||
# Make sure all memory is faulted and zeroed on startup.
|
||||
# This helps prevent soft faults in containers and makes
|
||||
# transparent hugepage allocation more effective.
|
||||
-XX:+AlwaysPreTouch
|
||||
|
||||
# Disable biased locking as it does not benefit Cassandra.
|
||||
-XX:-UseBiasedLocking
|
||||
|
||||
# Enable thread-local allocation blocks and allow the JVM to automatically
|
||||
# resize them at runtime.
|
||||
-XX:+UseTLAB
|
||||
-XX:+ResizeTLAB
|
||||
-XX:+UseNUMA
|
||||
|
||||
# http://www.evanjones.ca/jvm-mmap-pause.html
|
||||
-XX:+PerfDisableSharedMem
|
||||
|
||||
# Prefer binding to IPv4 network intefaces (when net.ipv6.bindv6only=1). See
|
||||
# http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6342561 (short version:
|
||||
# comment out this entry to enable IPv6 support).
|
||||
-Djava.net.preferIPv4Stack=true
|
||||
|
||||
### Debug options
|
||||
|
||||
# uncomment to enable flight recorder
|
||||
#-XX:+UnlockCommercialFeatures
|
||||
#-XX:+FlightRecorder
|
||||
|
||||
# uncomment to have Cassandra JVM listen for remote debuggers/profilers on port 1414
|
||||
#-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414
|
||||
|
||||
# uncomment to have Cassandra JVM log internal method compilation (developers only)
|
||||
#-XX:+UnlockDiagnosticVMOptions
|
||||
#-XX:+LogCompilation
|
||||
|
||||
#################
|
||||
# HEAP SETTINGS #
|
||||
#################
|
||||
|
||||
# Heap size is automatically calculated by cassandra-env based on this
|
||||
# formula: max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))
|
||||
# That is:
|
||||
# - calculate 1/2 ram and cap to 1024MB
|
||||
# - calculate 1/4 ram and cap to 8192MB
|
||||
# - pick the max
|
||||
#
|
||||
# For production use you may wish to adjust this for your environment.
|
||||
# If that's the case, uncomment the -Xmx and Xms options below to override the
|
||||
# automatic calculation of JVM heap memory.
|
||||
#
|
||||
# It is recommended to set min (-Xms) and max (-Xmx) heap sizes to
|
||||
# the same value to avoid stop-the-world GC pauses during resize, and
|
||||
# so that we can lock the heap in memory on startup to prevent any
|
||||
# of it from being swapped out.
|
||||
-Xms256M
|
||||
-Xmx256M
|
||||
|
||||
# Young generation size is automatically calculated by cassandra-env
|
||||
# based on this formula: min(100 * num_cores, 1/4 * heap size)
|
||||
#
|
||||
# The main trade-off for the young generation is that the larger it
|
||||
# is, the longer GC pause times will be. The shorter it is, the more
|
||||
# expensive GC will be (usually).
|
||||
#
|
||||
# It is not recommended to set the young generation size if using the
|
||||
# G1 GC, since that will override the target pause-time goal.
|
||||
# More info: http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html
|
||||
#
|
||||
# The example below assumes a modern 8-core+ machine for decent
|
||||
# times. If in doubt, and if you do not particularly want to tweak, go
|
||||
# 100 MB per physical CPU core.
|
||||
#-Xmn800M
|
||||
|
||||
###################################
|
||||
# EXPIRATION DATE OVERFLOW POLICY #
|
||||
###################################
|
||||
|
||||
# Defines how to handle INSERT requests with TTL exceeding the maximum supported expiration date:
|
||||
# * REJECT: this is the default policy and will reject any requests with expiration date timestamp after 2038-01-19T03:14:06+00:00.
|
||||
# * CAP: any insert with TTL expiring after 2038-01-19T03:14:06+00:00 will expire on 2038-01-19T03:14:06+00:00 and the client will receive a warning.
|
||||
# * CAP_NOWARN: same as previous, except that the client warning will not be emitted.
|
||||
#
|
||||
#-Dcassandra.expiration_date_overflow_policy=REJECT
|
||||
@@ -25,7 +25,8 @@ tar xvfz apache-cassandra-4.1.3-bin.tar.gz
|
||||
mv apache-cassandra-4.1.3 /usr/local/cassandra
|
||||
sudo cp cassandra.yaml /usr/local/cassandra/conf
|
||||
sudo chown -R admin:admin /usr/local/cassandra/
|
||||
cat /usr/local/cassandra/conf/cassandra.yaml
|
||||
cat /usr/local/cassandra/conf/cassandra.yaml
|
||||
sudo cp jvm-server.options /usr/local/cassandra/conf
|
||||
|
||||
chown -R admin:admin /usr/local/cassandra/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user