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

ludovicp
05.40.2010 a2230a39cf3098a5165a077339ace2e790067764
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
opends/resource/config/config.ldif 4 ●●●● patch | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml 4 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java 8 ●●●●● patch | view | raw | blame | history
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
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>
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();