Inhaltsverzeichnis
NoSQL Cache und Java Parameter der Oracle NoSQL Nodes einstellen oder anpassen
Vor dem Anlegen eines Stores können die Default Parameter für die Cache Size und die Java VM Optionen für neue Knoten über „change-policy -params“ gesetzt werden:
# anmelden an der Admin Konsole change-policy -params "cacheSize=100637312" change-policy -params "javaMiscParams=-server -d64 -XX:+UseCompressedOops -XX:+AlwaysPreTouch -Xms256m -Xmx512m"
Nachträglich lässt sich der Speicherbedarf mit einem „plan change-parameters“ einstellen.
Zum Beispiel für den SN1 und den Replication Node rg1-rn2:
plan change-parameters -service 1 -wait -params memoryMB=512 plan change-parameters -service rg1-rn2 -wait -params javaMiscParams="-Xms512M -Xmx512M -XX:ParallelGCThreads=4"
Beispiel for all RepNodes
plan -execute change-all-repnode-params -wait -params javaMiscParams="-Xms512M -Xmx512M -XX:ParallelGCThreads=4"
Auf SN Ebene sollte der Speicherparameter gleich oder größer als auf die RN's zusammen die unter dem SN laufen.
Sind die Wert zu hoch, können die Nodes nicht gestartet werden!
!Achtung! Werden die Werte in den XML Configurationsdateien per Hand geändert, wirft ein späteres „verify“ einen „Verification violation: […] Mismatch between metadata in admin service …“ ⇒ Daher immer versuchen das über die Kommandozeile zu bearbeiten!
Der Cache Size Parameter
Einen Wert mit Hilfe der Berkely Methode „DbCacheSize“ ermitteln:
java -jar .\lib\je.jar DbCacheSize -records 100 -key 20 -data 1000
Siehe auch DbCacheSize
Der Wert muss minimal 96KB ( 96 * 1024 ) betragen!
FAQ:
Java Memory Parameter
Anmerkung:
„To take full advantage of JE cache memory, it is strongly recommended that compressed oops (-XX:+UseCompressedOops) is specified when a 64-bit JVM is used and the maximum heap size is less than 32 GB. …“ ( siehe Oracle FAQ )
„. Enabling GC statistics in the JVM can help too. (In the Java SE 5 JVM this is enabled with (“-verbose:gc„, “-XX+PrintGCDetails„, “-XX:+PrintGCTimeStamps„) “
Zusammenfassungen:
Oracle Doku: