Class SyncCalculation
- java.lang.Object
-
- org.apache.activemq.artemis.cli.commands.util.SyncCalculation
-
public class SyncCalculation extends Object
It will perform a simple test to evaluate how many syncs a disk can make per second * *
-
-
Constructor Summary
Constructors Constructor Description SyncCalculation()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static longsyncTest(File datafolder, int blockSize, int blocks, int tries, boolean verbose, boolean fsync, boolean syncWrites, String fileName, int maxAIO, org.apache.activemq.artemis.core.server.JournalType journalType, ActionContext context)It will performtrieswrite tests ofblockSize * blocksbytes and returning the lowest elapsed time to perform a try.static longtoNanos(long time, long blocks, boolean verbose, ActionContext context)
-
-
-
Method Detail
-
syncTest
public static long syncTest(File datafolder, int blockSize, int blocks, int tries, boolean verbose, boolean fsync, boolean syncWrites, String fileName, int maxAIO, org.apache.activemq.artemis.core.server.JournalType journalType, ActionContext context) throws Exception
It will performtrieswrite tests ofblockSize * blocksbytes and returning the lowest elapsed time to perform a try.Please configure
blocks >= -XX:CompileThreshold(ie by default on most JVMs is 10000) to favour the best JIT/OSR compilation (ie: Just In Time/On Stack Replacement) if the test is running on a temporary file-system (eg: tmpfs on Linux) or withoutfsync.NOTE: The write latencies are provided only if
verbose && !(journalType == JournalType.ASYNCIO && !syncWrites)(ie are used effective synchronous writes).- Parameters:
datafolder- the folder where the journal files will be storedblockSize- the size in bytes of each write on the journalblocks- the number ofblockSizewrites performed on each trytries- the number of testsverbose-trueto make the output verbose,falseotherwisefsync- iftruethe test is performing full durable writes,falseotherwisesyncWrites- iftrueeach write is performed only if the previous one is completed,falseotherwise (ie each try will wait only the last write)fileName- the name of the journal file used for the testmaxAIO- the max number of in-flight IO requests (ifjournalTypewill support it)journalType- theJournalTypeused for the tests- Returns:
- the lowest elapsed time (in
TimeUnit.MILLISECONDS) to perform a try - Throws:
Exception
-
toNanos
public static long toNanos(long time, long blocks, boolean verbose, ActionContext context)
-
-