Hi Andrey, I was trying to heavy load to profile ODB for production environment. But performance tuning has been confusing so war. I am attaching my env dump. I am using 1.7rc2SNAPSHOT My usecase involves 1 billion nodes and DB size is 25 GB. My machine is 6 core, 18GB. Please provide help on perf tuning
regards -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
ENVIRONMENT + environment.dumpCfgAtStartup = true + environment.concurrent = true - MEMORY + memory.useUnsafe = true + memory.autoFreeCheckEvery = 10000 + memory.autoFreeHeapThreshold = 70% + memory.directMemory.unsafeMode = false - JVM + jvm.gc.delayForOptimize = 600 - STORAGE + storage.diskCache.bufferSize = 6661440 + storage.diskCache.writeCachePart = 30 + storage.diskCache.writeCachePageTTL = 86400 + storage.diskCache.writeCachePageFlushInterval = 100 + storage.diskCache.writeCacheFlushLockTimeout = -1 + storage.configuration.syncOnUpdate = true + storage.compressionMethod = snappy + storage.useWAL = false + storage.wal.syncOnPageFlush = true + storage.wal.cacheSize = 3000 + storage.wal.maxSegmentSize = 256 + storage.wal.maxSize = 4096 + storage.wal.commitTimeout = 1000 + storage.wal.shutdownTimeout = 10000 + storage.wal.fuzzyCheckpointInterval = 2592000 + storage.wal.reportAfterOperationsDuringRestore = 10000 + storage.wal.readCacheSize = 1000 + storage.wal.fuzzyCheckpointShutdownWait = 600 + storage.wal.fullCheckpointShutdownTimeout = 600 + storage.wal.path = null + storage.makeFullCheckpointAfterCreate = true + storage.makeFullCheckpointAfterClusterCreate = true + storage.diskCache.pageSize = 64 + storage.lowestFreeListBound = 16 + storage.cluster.useNodeIdAsClusterPosition = false + storage.keepOpen = true + storage.lockTimeout = 600000 + storage.record.lockTimeout = 300000 + storage.useTombstones = false - RECORD + record.downsizing.enabled = true - CACHE + cache.level1.enabled = false + cache.level1.size = -1 + cache.level2.enabled = false + cache.level2.size = -1 + cache.level2.impl = com.orientechnologies.orient.core.cache.ODefaultCache + cache.level2.strategy = 0 - OBJECT + object.saveOnlyDirty = false - DB + db.pool.min = 1 + db.pool.max = 20 + db.pool.idleTimeout = 0 + db.pool.idleCheckDelay = 0 + db.mvcc = true + db.mvcc.throwfast = false + db.validation = true + db.use.distributedVersion = false - NONTX + nonTX.recordUpdate.synch = false + nonTX.clusters.sync.immediately = manindex - TX + tx.useLog = true + tx.autoRetry = 1 + tx.log.fileType = classic + tx.log.synch = false + tx.commit.synch = false - HASHTABLE + hashTable.slitBucketsBuffer.length = 1500 - INDEX + index.auto.rebuildAfterNotSoftClose = true + index.auto.synchronousAutoRebuild = true + index.auto.lazyUpdates = 10000 + index.manual.lazyUpdates = 1 + index.durableInNonTxMode = false + index.txMode = ROLLBACK_ONLY + index.useSBTreeByDefault = true + index.notunique.useSBTreeContainerByDefault = true - MVRBTREE + mvrbtree.timeout = 5000 + mvrbtree.nodePageSize = 256 + mvrbtree.loadFactor = 0.7 + mvrbtree.optimizeThreshold = 100000 + mvrbtree.entryPoints = 64 + mvrbtree.optimizeEntryPointsFactor = 1.0 + mvrbtree.entryKeysInMemory = false + mvrbtree.entryValuesInMemory = false + mvrbtree.ridBinaryThreshold = -1 + mvrbtree.ridNodePageSize = 64 + mvrbtree.ridNodeSaveMemory = false - SBTREE + sbtree.maxKeySize = 10240 + sbtree.maxEmbeddedValueSize = 40960 - SBTREEBONSAI + sbtreebonsai.bucketSize = 2 + sbtreebonsai.linkBagCache.size = 100000 + sbtreebonsai.linkBagCache.evictionSize = 1000 + sbtreebonsai.freeeSpaceReuseTrigger = 0.5 - RIDBAG + ridBag.embeddedToSbtreeBonsaiThreshold = 80 + ridBag.sbtreeBonsaiToEmbeddedToThreshold = -1 - LAZYSET + lazyset.workOnStream = true - COLLECTIONS + collections.preferSBTreeSet = false - FILE + file.lock = true + file.defrag.strategy = 0 + file.defrag.holeMaxDistance = 32768 + file.mmap.useOldManager = false + file.mmap.autoFlush.timer = 30 + file.mmap.autoFlush.unusedTime = 30 + file.mmap.lockMemory = true + file.mmap.strategy = 0 + file.mmap.blockSize = 1048576 + file.mmap.bufferSize = 8192 + file.mmap.maxMemory = 3.2gb + file.mmap.overlapStrategy = 2 + file.mmap.forceDelay = 10 + file.mmap.forceRetry = 50 - JNA + jna.disable.system.library = true - NETWORK + network.maxConcurrentSessions = 1000 + network.socketBufferSize = 32768 + network.lockTimeout = 15000 + network.socketTimeout = 15000 + network.retry = 5 + network.retryDelay = 500 + network.binary.loadBalancing.enabled = false + network.binary.loadBalancing.timeout = 2000 + network.binary.maxLength = 32736 + network.binary.readResponse.maxTimes = 20 + network.binary.debug = false + network.http.maxLength = 1000000 + network.http.charset = utf-8 + network.http.sessionExpireTimeout = 300 - PROFILER + profiler.enabled = true + profiler.config = null + profiler.autoDump.interval = 0 - LOG + log.console.level = info + log.file.level = fine - COMMAND + command.timeout = 0 - CLIENT + client.channel.minPool = 1 + client.channel.maxPool = 20 + client.connectionPool.waitTimeout = 5000 + client.channel.dbReleaseWaitTimeout = 10000 - SERVER + server.channel.cleanDelay = 5000 + server.cache.staticFile = false + server.cache.2q.increaseOnDemand = true + server.cache.2q.increaseStep = 0.1 + server.log.dumpClientExceptionLevel = FINE + server.log.dumpClientExceptionFullStackTrace = true - DISTRIBUTED + distributed.crudTaskTimeout = 3000 + distributed.commandTaskTimeout = 5000 + distributed.queueTimeout = 5000 + distributed.asynchResponsesTimeout = 15000 + distributed.purgeResponsesTimerDelay = 15000 2014-02-23 03:42:18:317 INFO Loading configuration from: /mnt/orientdb-community-1.7-rc2-SNAPSHOT/config/orientdb-server-config.xml... [OServerConfigurationLoaderXml] 2014-02-23 03:42:18:568 INFO OrientDB Server v1.7-rc2-SNAPSHOT (build 1) is starting up... [OServer]Dumping environment after server startup... OrientDB 1.7-rc2-SNAPSHOT (build 1) configuration dump: - ENVIRONMENT + environment.dumpCfgAtStartup = true + environment.concurrent = true - MEMORY + memory.useUnsafe = true + memory.autoFreeCheckEvery = 10000 + memory.autoFreeHeapThreshold = 70% + memory.directMemory.unsafeMode = false - JVM + jvm.gc.delayForOptimize = 600 - STORAGE + storage.diskCache.bufferSize = 6661440 + storage.diskCache.writeCachePart = 30 + storage.diskCache.writeCachePageTTL = 86400 + storage.diskCache.writeCachePageFlushInterval = 100 + storage.diskCache.writeCacheFlushLockTimeout = -1 + storage.configuration.syncOnUpdate = true + storage.compressionMethod = snappy + storage.useWAL = false + storage.wal.syncOnPageFlush = true + storage.wal.cacheSize = 3000 + storage.wal.maxSegmentSize = 256 + storage.wal.maxSize = 4096 + storage.wal.commitTimeout = 1000 + storage.wal.shutdownTimeout = 10000 + storage.wal.fuzzyCheckpointInterval = 2592000 + storage.wal.reportAfterOperationsDuringRestore = 10000 + storage.wal.readCacheSize = 1000 + storage.wal.fuzzyCheckpointShutdownWait = 600 + storage.wal.fullCheckpointShutdownTimeout = 600 + storage.wal.path = null + storage.makeFullCheckpointAfterCreate = true + storage.makeFullCheckpointAfterClusterCreate = true + storage.diskCache.pageSize = 64 + storage.lowestFreeListBound = 16 + storage.cluster.useNodeIdAsClusterPosition = false + storage.keepOpen = true + storage.lockTimeout = 600000 + storage.record.lockTimeout = 300000 + storage.useTombstones = false - RECORD + record.downsizing.enabled = true - CACHE + cache.level1.enabled = false + cache.level1.size = 1000 + cache.level2.enabled = false + cache.level2.size = 0 + cache.level2.impl = com.orientechnologies.orient.core.cache.ODefaultCache + cache.level2.strategy = 0 - OBJECT + object.saveOnlyDirty = false - DB + db.pool.min = 1 + db.pool.max = 200 + db.pool.idleTimeout = 0 + db.pool.idleCheckDelay = 0 + db.mvcc = true + db.mvcc.throwfast = false + db.validation = true + db.use.distributedVersion = false - NONTX + nonTX.recordUpdate.synch = false + nonTX.clusters.sync.immediately = manindex - TX + tx.useLog = true + tx.autoRetry = 1 + tx.log.fileType = classic + tx.log.synch = false + tx.commit.synch = true - HASHTABLE + hashTable.slitBucketsBuffer.length = 1500 - INDEX + index.auto.rebuildAfterNotSoftClose = true + index.auto.synchronousAutoRebuild = true + index.auto.lazyUpdates = 10000 + index.manual.lazyUpdates = 1 + index.durableInNonTxMode = false + index.txMode = ROLLBACK_ONLY + index.useSBTreeByDefault = true + index.notunique.useSBTreeContainerByDefault = true - MVRBTREE + mvrbtree.timeout = 5000 + mvrbtree.nodePageSize = 256 + mvrbtree.loadFactor = 0.7 + mvrbtree.optimizeThreshold = 100000 + mvrbtree.entryPoints = 64 + mvrbtree.optimizeEntryPointsFactor = 1.0 + mvrbtree.entryKeysInMemory = false + mvrbtree.entryValuesInMemory = false + mvrbtree.ridBinaryThreshold = -1 + mvrbtree.ridNodePageSize = 64 + mvrbtree.ridNodeSaveMemory = false - SBTREE + sbtree.maxKeySize = 10240 + sbtree.maxEmbeddedValueSize = 40960 - SBTREEBONSAI + sbtreebonsai.bucketSize = 2 + sbtreebonsai.linkBagCache.size = 100000 + sbtreebonsai.linkBagCache.evictionSize = 1000 + sbtreebonsai.freeeSpaceReuseTrigger = 0.5 - RIDBAG + ridBag.embeddedToSbtreeBonsaiThreshold = 80 + ridBag.sbtreeBonsaiToEmbeddedToThreshold = -1 - LAZYSET + lazyset.workOnStream = true - COLLECTIONS + collections.preferSBTreeSet = false - FILE + file.lock = true + file.defrag.strategy = 0 + file.defrag.holeMaxDistance = 32768 + file.mmap.useOldManager = false + file.mmap.autoFlush.timer = 30 + file.mmap.autoFlush.unusedTime = 30 + file.mmap.lockMemory = true + file.mmap.strategy = 0 + file.mmap.blockSize = 1048576 + file.mmap.bufferSize = 8192 + file.mmap.maxMemory = 3.2gb + file.mmap.overlapStrategy = 2 + file.mmap.forceDelay = 10 + file.mmap.forceRetry = 50 - JNA + jna.disable.system.library = true - NETWORK + network.maxConcurrentSessions = 1000 + network.socketBufferSize = 32768 + network.lockTimeout = 15000 + network.socketTimeout = 15000 + network.retry = 5 + network.retryDelay = 500 + network.binary.loadBalancing.enabled = false + network.binary.loadBalancing.timeout = 2000 + network.binary.maxLength = 32736 + network.binary.readResponse.maxTimes = 20 + network.binary.debug = false + network.http.maxLength = 1000000 + network.http.charset = utf-8 + network.http.sessionExpireTimeout = 300 - PROFILER + profiler.enabled = true + profiler.config = null + profiler.autoDump.interval = 0 - LOG + log.console.level = info + log.file.level = fine - COMMAND + command.timeout = 0 - CLIENT + client.channel.minPool = 1 + client.channel.maxPool = 20 + client.connectionPool.waitTimeout = 5000 + client.channel.dbReleaseWaitTimeout = 10000 - SERVER + server.channel.cleanDelay = 5000 + server.cache.staticFile = false + server.cache.2q.increaseOnDemand = true + server.cache.2q.increaseStep = 0.1 + server.log.dumpClientExceptionLevel = FINE + server.log.dumpClientExceptionFullStackTrace = true - DISTRIBUTED + distributed.crudTaskTimeout = 3000 + distributed.commandTaskTimeout = 5000 + distributed.queueTimeout = 5000 + distributed.asynchResponsesTimeout = 15000 + distributed.purgeResponsesTimerDelay = 15000
