odin-hw-perf

It is a cross-platform benchmark developed by CloudBlue which allows you to evaluate performance of hardware (CPU, memory, disk) and installed operating system. The tool calculates the WEIGHTED NORMALIZED GEOMETRIC MEAN scores for each of the hardware parameters. CloudBlue Commerce requires all NORMALIZED GEOMETRIC MEAN scores on 1 thread test to be greater than 1.0. For example, if HDD total score is 0.273 which is ~4 times less than the required for CloudBlue Commerce, it is recommended to upgrade the hardware. If the scores are below 1.0, it can affect the performance of CloudBlue Commerce typical workloads like: resource usage calculation, mass data migration/provisioning, daily billing, UI responsiveness, DB upgrade and other.

To view the detailed information about the tool options, run the following command:

# odin-hwperf --help
odin-hwperf version 1.1 (64-bit version)
odin-hwperf - cross-platform benchmark developed by CloudBlue to evaluate performance
of hardware and installed Operating System. The WEIGHTED NORMALIZED GEOMETRIC MEAN
score for single CPU is close to 1.0 on the following box:
	- Intel XEON CPU E5-2630 v0 @ 2.30GHz, 15MB cache, Q1'2012
	- DDR3 1066 MHz RAM
	- RAID0 4x SATA 7.2K RPM; MegaRAID 9260-8i; BBU 512MB
	- Virtuozzo 6 / 2.6.32-042stab108.2 x86_64
Usage:   odin-hwperf [OPTION]
Common options:
		-t SEC        - time of every test (default depends on test)
		-v            - verbose output
		-r            - print revision history
		-p THREADS    - run test with given number of threads only
		-b MASK       - mask of processors to use
		-h            - show this help and exit
		-csv          - csv output
		-V            - skip virtualization type detection before testing
		-s            - perform scalability analysis (run with 1, 2, 4 .. nrCPUs threads)
		-i ITER       - perform ITER iterations of each test and report deviation
		-q            - quiet mode (no HW info and summaries)
		-f, --fast    - run tests in 'fast' mode, equivalent to:
		                       --io-limit 2G -t 7
		-g GROUP      - run only given group of tests, available groups:
		                       cpu, ram, os, hdd
		-e TEST       - run only given test, available tests:
		                       busyloop, cpuid, gzip, dhry2, crypt_bf
		                       encry_rsa, decry_rsa, md5, sha1, xml
		                       memcpy4k, memcpy1m, memcpy16m, memrnd, mmap
		                       malloc, cswtcp, cswpipe, pgfault, syscall
		                       files, rand_rd, rand_wr, seq_rd, seq_wr
		                       wr_sync
HDD tests specific options:
		--io-dir              - directory where run "HDD" tests
		--io-threaded         - use multi-threaded I/O (default is Asynchronous I/O)
		--io-single, -1       - use one file for all threads (individual file for each thread by default)
		--io-limit LIMIT      - size of temporary file in bytes (KkMmGg) (16384M by default)
		--io-size  BYTES      - size of buffer in bytes for MB/S test (KkMmGg) (1024K by default)
		--io-shift MIN_SHIFT  - minimum shift in bytes in file (KkMmGg) (1024K by default)
		--io-dontcleanup      - do not cleanup all created files after test completion
		--io-timeout          - I/O requests timeout in seconds (default 30)
OS tests specific options:
		--os-dir   PATH       - directory where run "OS: create files" test
		--os-port  PORT       - port number for TCP-based context switch test (6676)
Client-server options:
		--daemon                - run server that is listening for
		                             client connection, run tests, send results to
		                             client and listening again.
		Daemon specific options:
		    -P <port>               - server is listening port <port>.
		                                 If there is no -P option daemon is listening
		                                 default port: 9584.
		    -create <pathname>      - create daemon and put it's pid into <pathname>,
		                                 must be used once.
		--server-ip <ip>:<port> - connect to server to receive result of it's tests.
		                                   Can be used several times to collect results
		                                   from many servers at once.