From 66088ec1b70555e734f274d0b4d5e0229c5205f6 Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 05 Jul 2010 10:40:13 +0000
Subject: [PATCH] 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
---
opendj-sdk/opends/resource/config/config.ldif | 4 ++--
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml | 4 ++--
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java | 8 +++++---
3 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/opendj-sdk/opends/resource/config/config.ldif b/opendj-sdk/opends/resource/config/config.ldif
index ada1f35..7e0f22d 100644
--- a/opendj-sdk/opends/resource/config/config.ldif
+++ b/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
diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml
index 052e353..c861b55 100644
--- a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml
+++ b/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>
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java
index 6944227..5de7a6a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ConfigurableEnvironment.java
+++ b/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();
--
Gitblit v1.10.0