Use Bonnie ++ To Test System IO Speed ​​[Correct]

xiaoxiao2021-03-06  54

LINK:

http://www.eygle.com/unix/Use.bonnie .to.test.io.speed.htm

Since Bonnie has some well-known issues, such as> 2G file support. Russell Coker (Russell@coker.com.au) developed a new code to support> 2G files, etc. Get Tim Bray (TBRAY @ Textuality After .com), Russell named Bonnie , released online, and started to be popular.

The current version has been updated to 1.03a, you can download: http://www.coker.com.au/bonnie / You can also click here to download, this version needs to be compiled, if you don't have a compilation environment, you can click Download my compilation here for the Sun Solaris environment (Solaris8 test passed)

The personal home page of Russell Coker is: http://www.coker.com.au/

The difference between Bonnie and Bonnie is: http://www.coker.com.au/bonnie /diff.html

I briefly introduce Bonnie compilation and use:

Compilation

You need to use the source code described above to use, if you don't have a compilation environment, you can click here to download my compilation, apply to the Sun Solaris environment (Solaris8 test passed)

Of course, you need to install make, and GCC and other necessary compilers. During the compilation process, if you encounter the following error, you may be because you don't set the correct environment variable

$ ./Configuregrep: illegal option - qUsage: grep -hblcnsviw pattern file .grep: illegal option - qUsage:.... Grep -hblcnsviw pattern file .checking for g ... g checking for C compiler default output ... a.outchecking Wors ... configure: Error: Cannot Run C Compiled program.if You Meant To Cross Compile, USE `- Host'.see` config.log 'for more details.

Continue to compile after setting the environment variable, generally can be successful.

# export ld_library_path = / usr / lib: / usr / local / lib # ./configuregrep: illegal option - qusage: grep-hblcnsviw pattern file................... checking for g ... g checking for C compiler default output ... a.outchecking whether the C compiler works ... yeschecking whether we are cross compiling ... nochecking for suffix of executables ... checking for suffix of object files ... ochecking whether we are using the GNU C compiler ... yeschecking whether g accepts -g ... yeschecking how to run the C preprocessor ... g -Echecking for a BSD-compatible install ... / usr / bin / install -cchecking for an ANSI C-Conforming Const ... YESCHECKING for Egrep ... Egrepchecking for Ansi C Header Files ... Yeschecking for Sys / Types.h ... Yeschecking for sys / stat.h .. YESCHECKING for STDLIB.H ... YESCHECKING for STRING.H ... YESCHECKING for Memory.h ... Yeschecking for intertys.h ... yeschecking for stdint.h ... Nochecking For unist dh .. yeschecking for size_t ... yeschecking vector.h usability ... yeschecking vector.h presence ... yeschecking for vector.h ... yeschecking vector usability ... yeschecking vector presence ... yeschecking for vector .. . yeschecking algorithm usability ... yeschecking algorithm presence ... yeschecking for algorithm ... yeschecking algo.h usability ... yeschecking algo.h presence ... yeschecking for algo.h ... yeschecking algo usability ... nochecking algo presence ... nochecking for algo ... noconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating bonnie.hconfig.status: creating port.hconfig.status: creating bonnie

.specconfig.status: creating bon_csv2htmlconfig.status: creating bon_csv2txtconfig.status: creating sun / pkginfoconfig.status: creating conf.hconfig.status: After conf.h is unchanged compiled generates bonnie , it can be used for testing.

2. Here are some test results

A.T3 big file reading and writing test

#./bonnie -d / data1 -u root -s 4096 -m billing

USING UID: 0, GID: 1.

Writing with putc () ... DONE

Writing Intelligently ... DONE

Rewriting ... DONE

Reading with getc () ... DONE

Reading Intelligently ... DONE

Start 'EM ... DONE ... DONE ... DONE ...

Create Files in Sequential Order ... DONE.

Stat Files in Sequential Order ... DONE.

Delete Files in Sequential Order ... done.

Create Files in Random Order ... DONE.

Stat Files in Random Order ... DONE.

DELETE FILES in Random Order ... DONE.

Version 1.03 ------ SEQUENTIAL OUTPUT ------ - Squential Input - --random

-Per chr- --block - -rewrite- -per chr- --block - - SEEKS -

Machine Size K / sec% CP K / sec% CP K / sec% CP K / sec% CP K / sec% CP / SEC% CP

Billing 4G 9915 87 30319 56 11685 38 9999 99 47326 66 177.6 3

------ Sequential Create ------------------------------------------------------------------------------------------------------------------------------------------------

-Create ------ -ndelete ---create-- ------ndelete--

Files / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP / SEC% CP

16 639 19 1258 22 679 16 1197 27

Billing, 4G, 9915, 87, 30319, 56, 11685, 38, 9999, 99, 47326, 66, 177.6, 3, 16, 639, 19, , , 1258, 22, 679, 16, , , 1197, 27

b. EMC CLARiON CX500 Disables test data written by Cache

This is the test data after I have disabled Cache:

4 plates of RAID1 0 test:

#./bonnie -d / Eygle -u root -s 4096 -m jump

USING UID: 0, GID: 1.

File Size Should Be Double Ram for Good Results, RAM IS 4096M.

# ./bonnie -d / Eygle -u root -s 8192 -m jumpusing uid: 0, GID: 1.

Writing with putc () ... DONE

Writing Intelligently ... DONE

Rewriting ... DONE

Reading with getc () ... DONE

Reading Intelligently ... DONE

Start 'EM ... DONE ... DONE ... DONE ...

Create Files in Sequential Order ... DONE.

Stat Files in Sequential Order ... DONE.

Delete Files in Sequential Order ... done.

Create Files in Random Order ... DONE.

Stat Files in Random Order ... DONE.

DELETE FILES in Random Order ... DONE.

Version 1.03 ------ SEQUENTIAL OUTPUT ------ - Squential Input - --random

-Per chr- --block - -rewrite- -per chr- --block - - SEEKS -

Machine Size K / sec% CP K / sec% CP K / sec% CP K / sec% CP K / sec% CP / SEC% CP

JUMP 8G 12647 36 13414 8 7952 13 33636 97 146503 71 465.7 5

------ Sequential Create ------------------------------------------------------------------------------------------------------------------------------------------------

-Create ------ -ndelete ---create-- ------ndelete--

Files / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP / SEC% CP

16 86 1 161 1 81 1 163 1

JUMP, 8G, 12647, 36, 13414, 8, 7952, 13, 33636, 97, 146503, 71, 465.7, 5, 16, 86, 1, , , 161, 1, 81, 1, , , 163, 1

4 plates of RAID5, disabled the speed after writing Cache:

#./bonnie -d / Eygle -u root -s 8192 -m jump

USING UID: 0, GID: 1.

Writing with putc () ... DONE

Writing Intelligently ... DONE

Rewriting ... DONE

Reading with getc () ... DONE

Reading Intelligently ... DONE

Start 'EM ... DONE ... DONE ... DONE ...

Create Files in Sequential Order ... DONE.

Stat Files in Sequential Order ... DONE.

Delete Files in Sequential Order ... done.

Create Files in Random Order ... DONE.

Stat Files in Random Order ... DONE.

DELETE FILES in Random Order ... DONE.VERSION 1.03 ------ Sequential Output ------ - SEQUENTIAL INPUT - --random

-Per chr- --block - -rewrite- -per chr- --block - - SEEKS -

Machine Size K / sec% CP K / sec% CP K / sec% CP K / sec% CP K / sec% CP / SEC% CP

JUMP 8G 10956 30 10771 6 3388 5 34169 98 158861 75 431.1 5

------ Sequential Create ------------------------------------------------------------------------------------------------------------------------------------------------

-Create ------ -ndelete ---create-- ------ndelete--

Files / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP / SEC% CP

16 81 1 160 1 82 1 109 1

JUMP, 8G, 10956, 30, 10771, 6, 3388, 5, 34169, 98, 158861, 75, 431.1, 5, 16, 81, 1, , , 160, 1, 82, 1, , , 109, 1

Compare these two results we found (unit k / sec):

Character write

Block writes

Character read

Block read

RAID10

12,647

13,414

33,636

146,503

RAID5

10,956

10,771

34,169

158,861

DIFF

1,691

2,643

-533

-12, 358

We see that in direct reading, write RAID10 will be slightly faster than RAID5; and RAID5 will be slightly faster than RAID10, which is in line with our usual point of view.

What is needed here is usually, we recommend that redolog file is stored on the RAID10 disk because it has a write advantage.

C.EMC CLARiON CX500 Enables 1G write cache test data

This is the test data of the 4-plate RAID10:

# ./bonnie -d / Eygle -u root -s 8192 -m jumpusing uid: 0, gid: 1.writing with putc () ... DONEWRITITING Intelligently ... donrewriting ... donreading with getc () ... DonReading Intelligently ... doStart 'em ... DONE ... DONE ... DONE ... CREATE FILES IN Sequential Order ... DONE.STAT FILES IN Sequential ORDER ... DONE.DELETE FILES IN Sequential Order .. .done.create files in random order ... DONE.STAT FILES in Random ORDER ... DONE.DELETE FILES in Random ORDER ... DONE.VERSION 1.03 ------ Sequential Output ------ -Sequential Input- --radom- -per chr- --block ----rewrite- -per chr- --block-- --seeks - Machine Size K / sec% CP K / sec% CP K / SEC% CP K / sec% CP K / sec% CP / sec% CPJUMP 8G 31447 90 73130 50 29123 50 33607 97 144470 71 493.5 6 ------ SEQUENTIAL CREATE ------ -------- Random Create -------- -create-- - -read --- -delete- -create------ -DELETE - Files / Sec% CP / SEC% CP / SEC% CP / sec% CP / sec% CP / sec% CP 16 786 13 1534 14 781 12 1527 15jump, 8G, 31447, 90, 73130, 50, 29123, 50, 33607, 97, 144470, 71, 493.5, 6, 16, 786, 13, , , 1534, 14, 781, 12, , 1527, 15 This is the four-plate RAID5 test data:

#./bonnie -d / Eygle -u root -s 8192 -m jump

USING UID: 0, GID: 1.

Writing with putc () ... DONE

Writing Intelligently ... DONE

Rewriting ... DONE

Reading with getc () ... DONE

Reading Intelligently ... DONE

Start 'EM ... DONE ... DONE ... DONE ...

Create Files in Sequential Order ... DONE.

Stat Files in Sequential Order ... DONE.

Delete Files in Sequential Order ... done.

Create Files in Random ORDER ... DONE.STAT FILES in Random ORDER ... DONE.

DELETE FILES in Random Order ... DONE.

Version 1.03 ------ SEQUENTIAL OUTPUT ------ - Squential Input - --random

-Per chr- --block - -rewrite- -per chr- --block - - SEEKS -

Machine Size K / sec% CP K / sec% CP K / sec% CP K / sec% CP K / sec% CP / SEC% CP

JUMP 8G 34620 98 103440 65 35756 61 33900 97 160964 76 495.4 6

------ Sequential Create ------------------------------------------------------------------------------------------------------------------------------------------------

-Create ------ -ndelete ---create-- ------ndelete--

Files / sec% CP / sec% CP / sec% CP / sec% CP / sec% CP / SEC% CP

16 788 12 1503 14 783 11 1520 15

JUMP, 8G, 34620, 98, 103440, 65, 35756, 61, 33900, 97, 160964, 76, 495.4, 6, 16, 788, 12, , , 1503, 14, 783, 11, , , 1520, 15

Let's compare this result (unit k / sec):

Character write

Block writes

Character read

Block read

RAID10

31,447

73, 130

33,607

144,470

RAID5

34,620

103,440

33,900

160,964

DIFF

-3,173

-30, 310

-293

-16, 494

RAID5 is fully exceeded by RAID10 in a large Write Cache

3. Do a comparison of T3 and EMC

It is the case of a 4-piece RAID5:

Character write

Block writes

Character read

Block read

T3

9,915

30,319

9,999

47,326

EMC

34,620

103,440

33,900

160,964

DIFF

-24, 705

-73, 120

-23, 901

-113, 638

EMC / T3

3.49

3.41

3.39

3.40

To reprint, please indicate the author and the source. And please keep this paper.

转载请注明原文地址:https://www.9cbs.com/read-115223.html

New Post(0)