Environment
The following list is only a recommended configuration. In practice (especially for Lab/POC), you can use a lower configuration:
- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz or greater
- In Lab/POC:
- 4-8 CPUs and 4-8GB RAM is recommended
- Disk space allocation minimum 70GB
- In production:
- 8-16 CPUs and 8-16GB RAM is recommended
- Disk space allocation minimum 110GB
Check System Performance
Sysbench is a common benchmarking utility that you can use to test your server performance. Since it is one of the most common benchmarking utilities, you can easily find and compare performance results online.
Installing Sysbench
You can install Sysbench via yum. To install Sysbench 0.4.12 on Redhat/CentOS 6.x, you can wget the latest remi and epel repositories, install them, and then install Sysbench.
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
yum install sysbench
Sysbench CPU Test
To run a single-threaded CPU test, run the following command. Typically with a value of 20000, a single-threaded test can take anywhere from 20 seconds to a minute or more. The shorter the time, the better the result, so faster CPUs will take less time to run the test.
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=1 run
You can use the script below to run multi-threaded Sysbench CPU tests. Multi-threaded CPUs will not show their true performance unless you run the test with the correct amount of threads. If you have an 8-core CPU, you must run an 8-thread CPU test to get the true performance number.
for each in 1 2 4 8; do sysbench --test=cpu --cpu-max-prime=20000 --num-threads=$each run; done
Sysbench Memory Test
To test the RAM performance, run the following memory operations speed test.
sysbench --test=memory --memory-block-size=1M --memory-total-size=100G run
Sysbench Disk IO Test
To prepare test files, run the following command. Typically, prepare a test file with a size that is about two times more than the amount of RAM the server has. For example, if the server has 4GB RAM, use a 8GB file size.
sysbench --test=fileio --file-total-size=8G prepare
Then, follow by a basic Sysbench random read/write test:
sysbench --test=fileio --file-total-size=8G --file-test-mode=rndrw --init-rng=on --max-time=180 --max-requests=0 run
Finally, do cleanup:
sysbench --test=fileio --file-total-size=8G cleanup