mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

ludovicp
05.40.2010 66088ec1b70555e734f274d0b4d5e0229c5205f6
Apply SleepyCat recommendations regarding JE default tunings.
The max log size is decreased to 10MB and checkpointer to 20MB.
Also increases the number of cleaners to match the default number of workers.
These new settings are helping with reducing the etimes on write operations
3 files modified
16 ■■■■■ changed files
opendj-sdk/opends/resource/config/config.ldif 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java 8 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/resource/config/config.ldif
@@ -193,10 +193,10 @@
ds-cfg-db-cleaner-min-utilization: 50
ds-cfg-db-evictor-lru-only: true
ds-cfg-db-evictor-nodes-per-scan: 10
ds-cfg-db-log-file-max: 100 megabytes
ds-cfg-db-log-file-max: 10 megabytes
ds-cfg-db-logging-file-handler-on: true
ds-cfg-db-logging-level: CONFIG
ds-cfg-db-checkpointer-bytes-interval: 100 megabytes
ds-cfg-db-checkpointer-bytes-interval: 20 megabytes
ds-cfg-db-checkpointer-wakeup-interval: 30 seconds
dn: cn=Index,ds-cfg-backend-id=userRoot,cn=Backends,cn=config
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml
@@ -570,7 +570,7 @@
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>100mb</adm:value>
        <adm:value>10mb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
@@ -653,7 +653,7 @@
    </adm:requires-admin-action>
    <adm:default-behavior>
      <adm:defined>
        <adm:value>100mb</adm:value>
        <adm:value>20mb</adm:value>
      </adm:defined>
    </adm:default-behavior>
    <adm:syntax>
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java
@@ -318,9 +318,11 @@
        if (attrName.equals(ATTR_NUM_CLEANER_THREADS) && value == null)
        {
          // Automatically choose based on the number of processors.
          // Automatically choose based on the number of processors. We will use
          // similar heuristics to those used to define the default number of
          // worker threads.
          int cpus = Runtime.getRuntime().availableProcessors();
          value = Integer.valueOf(Math.max(2, cpus / 2));
          value = Integer.valueOf(Math.max(24, cpus * 2));
          Message message =
              INFO_ERGONOMIC_SIZING_OF_JE_CLEANER_THREADS.get(String
@@ -335,7 +337,7 @@
          // We'll assume that the user has also allowed automatic
          // configuration of cleaners and workers.
          int cpus = Runtime.getRuntime().availableProcessors();
          int cleaners = Math.max(2, cpus / 2);
          int cleaners = Math.max(24, cpus * 2);
          int workers = Math.max(24, cpus * 2);
          BigInteger tmp = BigInteger.valueOf((cleaners + workers) * 2);
          value = tmp.nextProbablePrime();