I suddenly thought of testing the real I/O capabilities of the database. Although the hardware engineer has a set of methods to test iops, Oracle also launched the oraxxx test tool. in the actual application environment, iops is affected by table space, table settings, block size, and other factors. for example, how long does it take to scan a full table? In the case of idle, high, and parallel jobs, respectively.
I did some experiments on the company's R & D database, and the time I got was not very effective when I was idle.
For example, a table has 10 thousand blocks, and each 8 K block gets the company's Io capacity of 285 MB per second. 36480 blocks always feel that alter system flush buffer_cache and shared_pool clearing memory is always invalid.
The experiment started at home.
Use a 384-block table selet count (*) from t_test
Flush buffer_cache and shared_pool fluctuation range: 0.329, 0.297, 0.266 seconds
Flush shared_pool; -- 0.187
Flush buffer_cache; -- 0.172 0.156 seconds
So the IO capability is: 384/0. 172*8/1024 = 17.44 m
Run the parallel prompt/* + parallel (T, 4) * // * + parallel (T, 3) * // * + parallel (T, 2 )*/
Time: 0.64 0.375 0.296 it seems that the parallel capability of a single CPU is time-consuming.
The number of memory reads. You only need to repeat the execution and the expected time is 0.031 and 0.015.
Memory IO: 96.77m and 200 m