FIO is a simple and useful performance testing tool that can be used to test bare devices, Block devices, and devices with file systems.
many types of reading and writing are supported, but we usually focus on random reading and writing and sequential reading and writing.
to use FIO, you need to write a configuration file in advance (you can also leave the configuration file empty, but you need to fill in many parameters each time you press the command), for example:
1 [write] 2 directory =/mnt/DDB/ 1 3 ioengine = libaio 4 lockmem = 1G 5 iodepth = 4 6 RW = randwrite 7 BS = 32 K 8 direct = 1 9 size = 20g 10 lockmem = 1G 11 numjobs = 5
It indicates that the operation will be performed in the/mnt/DDB/1 directory, and it will create n physical files of the specified size for the type of Io operation, n is numjobs, that is, the number of concurrent operations.
Specify direct = 1 to test bare disks more accurately. lockmem indicates the limit on the use of physical memory for the test.
If the raw device is a bare device, you can change the directory to filename. Of course, the raw device must be mounted in advance.
Filename =/dev/raw/raw1
You only need to directly execute FIO conf-file.
Orion is a tool provided by Oracle. It can simulate database pressure without installing Oracle for testing,
Orion can be directly downloaded from the Oracle website without compilation. You can run it directly :)
Similarly, Orion can test bare devices. Similar to FIO, the command is as follows:
1./Orion_linux_x86-run advanced-testname test-size_small8-Matrix row-type rand-Duration60
It indicates that io_size of 8 K is tested. The testname is followed by the configuration file, which increases the stress by itself. Each test interval is 60 s.
-Size_small indicates that it is a small Io, and it will increase the concurrency until the machine's limit. Each test interval is 60 s, that is, one minute.
-Matrix row is a test of small Io. If it is a large Io that requires-matrix Col, it is available in the document.
Compared with FIO, Orion records the I/O changes of machines in real time, while FIO only returns an average value after the test is completed, in this way, we will not be able to see the fluctuations in this process, but we can grasp the iostat output results in real time to draw a chart to see if any fluctuations occur in the process.
Refer:
http://git.kernel.dk /? P = FIO. Git; A = blob; F = howto; H = 025443be406669ece150b28858c67ed9cb2f56d9; HB = H
http://www.oracle.com/technetwork/topics/index-089595.html