티스토리 뷰

출처 : http://egloos.zum.com/mjluna/v/2224575

참고 : http://blog.syszone.co.kr/2125
참고 : http://m.blog.naver.com/rohhosik/140182838543


1. iozone 다운로드 및 설치

iozone 홈페이지(
http://www.iozone.org/)에서 맞는 플랫폼용 iozone을 다운로드 받는다.

RPM으로 설치하기 위해 다음 명령을 사용한다. 기본적으로 /opt/iozone/bin에 설치된다.

root@localhost /]# 
rpm -ivh iozone-3-311.i386.rpm [Enter]
2. 성능 테스트
성능 테스트를 시작하려면 다음의 명령을 백그라운드로 실행한다.
root@localhost /]
/opt/iozone/bin/iozone -R -l 16 -u 16 -r 1m -s 1g -F /bmt/a1 /bmt/a2 /bmt/a3 /bmt/a4 /bmt/a5

/bmt/a6 /bmt/a7 /bmt/a8 /bmt/a9 /bmt/a10 /bmt/a11 /bmt/a12 /bmt/a13 /bmt/a14 /bmt/a15 /bmt/a16 | tee -a

/tmp/iozone_result.csv & [Enter]

앞 페이지에 만든 고용량으로 마운트 시킨 /bmt 에 대한 I/O 성능 테스트 이다.


iozone 명령에 주어진 각각의 파라미터를 살펴보자.

* -R : 엑셀 호환 텍스트 출력
* -l : iozone 실행시에 실행할 프로세스/쓰레드의 lower 제한. 이 예제에서는 5 쓰레드를 시작
* -u : iozone 실행시에 실행할 프로세스/쓰레드의 upper 제한. 이 예제에서는 최대 5 쓰레드를 넘지 않음. 만일 -l과 -u를
        같은 값으로 설정하면 정확히 그 수만큼의 프로세스/쓰레드를 실행. 예제에서는 5개의 쓰레드를 실행할 것이다.
* -r : 레코드 사이즈 지정. 예에서 벤치마크 테스트를 위한 레코드 사이즈는 4k이다. 파일시스템 성능 테스트의 목적에
        따라 파라미터를 적절히 설정하는 것이 중요하다. 예를 들어 데이터베이스가 있는 파일시스템에 대한 성능
        벤치마크를 할때는 이 값을 데이터베이스의 DB block 사이즈로 맞추는 것이 적당하다.
* -s : 테스트에 필요한 파일 사이즈를 지정. 예제에서는 100MB 파일에 대해 테스트를 수행할 것이다.
* -F : 테스트하는 동안 iozone이 사용할 임시파일을 지정한다. 총 파일의 갯수는 -l과 -u에서 지정한 수와 같아야 한다.

3. iozone 출력 파일 분석
출력물의 첫 부분은 테스트된 각 파일시스템 성능 측정값에 대한 상세한 정보를 담고 있다. 예를 들면, 아래와 같이 
초기 쓰기, 다시쓰기 등등

[root@localhost test]# /opt/iozone/bin/iozone -R -l 16 -u 16 -r 1m -s 1g -F /bmt/a1 /bmt/a2 /bmt/a3 /bmt/a4 /bmt/a5

/bmt/a6 /bmt/a7 /bmt/a8 /bmt/a9 /bmt/a10 /bmt/a11 /bmt/a12 /bmt/a13 /bmt/a14 /bmt/a15 /bmt/a16 | tee -a

/tmp/iozone_result.csv & [Enter]
        Iozone: Performance Test of File I/O
                Version $Revision: 3.311 $
                Compiled for 32 bit mode.
                Build: linux

        Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                     Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                     Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                     Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                     Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy,
                     Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root.

        Run began: Thu Mar  4 23:49:25 2010

        Excel chart generation enabled
        Record Size 1024 KB
        File size set to 1048576 KB
        Command line used: /opt/iozone/bin/iozone -R -l 16 -u 16 -r 1m -s 1g -F /bmt/a1 /bmt/a2 /bmt/a3 /bmt/a4 /bmt/a5

/bmt/a6 /bmt/a7 /bmt/a8 /bmt/a9 /bmt/a10 /bmt/a11 /bmt/a12 /bmt/a13 /bmt/a14 /bmt/a15 /bmt/a16
        Output is in Kbytes/sec
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 Kbytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
        Min process = 16
        Max process = 16
        Throughput test with 16 processes
        Each process writes a 1048576 Kbyte file in 1024 Kbyte records

        Children see throughput for 16 initial writers  =  331246.17 KB/sec
        Parent sees throughput for 16 initial writers   =  292058.28 KB/sec
        Min throughput per process                      =   20466.51 KB/sec
        Max throughput per process                      =   20869.38 KB/sec
        Avg throughput per process                      =   20702.89 KB/sec
        Min xfer                                        = 1029120.00 KB

        Children see throughput for 16 rewriters        = 2437831.61 KB/sec
        Parent sees throughput for 16 rewriters         =  530246.97 KB/sec
        Min throughput per process                      =  116670.91 KB/sec
        Max throughput per process                      =  179799.78 KB/sec
        Avg throughput per process                      =  152364.48 KB/sec
        Min xfer                                        =  680960.00 KB

        Children see throughput for 16 readers          = 10345880.50 KB/sec
        Parent sees throughput for 16 readers           = 10290571.35 KB/sec
        Min throughput per process                      =  622596.62 KB/sec
        Max throughput per process                      =  686648.38 KB/sec
        Avg throughput per process                      =  646617.53 KB/sec
        Min xfer                                        =  941056.00 KB

        Children see throughput for 16 re-readers       = 10543445.19 KB/sec
        Parent sees throughput for 16 re-readers        = 10481080.09 KB/sec
        Min throughput per process                      =  635457.12 KB/sec
        Max throughput per process                      =  696041.94 KB/sec
        Avg throughput per process                      =  658965.32 KB/sec
        Min xfer                                        =  939008.00 KB

        Children see throughput for 16 reverse readers  = 10565866.25 KB/sec
        Parent sees throughput for 16 reverse readers   = 10453567.35 KB/sec
        Min throughput per process                      =  625404.88 KB/sec
        Max throughput per process                      =  692537.56 KB/sec
        Avg throughput per process                      =  660366.64 KB/sec
        Min xfer                                        =  950272.00 KB

        Children see throughput for 16 stride readers   = 10501313.19 KB/sec
        Parent sees throughput for 16 stride readers    = 10457250.09 KB/sec
        Min throughput per process                      =  628677.06 KB/sec
        Max throughput per process                      =  685254.62 KB/sec
        Avg throughput per process                      =  656332.07 KB/sec
        Min xfer                                        =  963584.00 KB

        Children see throughput for 16 random readers   = 10302140.81 KB/sec
        Parent sees throughput for 16 random readers    = 10241517.26 KB/sec
        Min throughput per process                      =  570369.12 KB/sec
        Max throughput per process                      =  718604.81 KB/sec
        Avg throughput per process                      =  643883.80 KB/sec
        Min xfer                                        =  832512.00 KB

        Children see throughput for 16 mixed workload   = 9915233.52 KB/sec
        Parent sees throughput for 16 mixed workload    =  465287.53 KB/sec
        Min throughput per process                      =  247252.48 KB/sec
        Max throughput per process                      = 1136496.50 KB/sec
        Avg throughput per process                      =  619702.09 KB/sec
        Min xfer                                        =  228352.00 KB

        Children see throughput for 16 random writers   = 2450999.03 KB/sec
        Parent sees throughput for 16 random writers    =  387552.12 KB/sec
        Min throughput per process                      =   91299.38 KB/sec
        Max throughput per process                      =  181344.12 KB/sec
        Avg throughput per process                      =  153187.44 KB/sec
        Min xfer                                        =  528384.00 KB

        Children see throughput for 16 pwrite writers   =  334233.28 KB/sec
        Parent sees throughput for 16 pwrite writers    =  292460.56 KB/sec
        Min throughput per process                      =   20644.81 KB/sec
        Max throughput per process                      =   21008.86 KB/sec
        Avg throughput per process                      =   20889.58 KB/sec
        Min xfer                                        = 1031168.00 KB

        Children see throughput for 16 pread readers    = 10440213.31 KB/sec
        Parent sees throughput for 16 pread readers     = 10391077.59 KB/sec
        Min throughput per process                      =  623800.19 KB/sec
        Max throughput per process                      =  672890.00 KB/sec
        Avg throughput per process                      =  652513.33 KB/sec
        Min xfer                                        =  971776.00 KB

 

"Throughput report Y-axis is type of test X-axis is number of processes"
"Record size = 1024 Kbytes "
"Output is in Kbytes/sec"

"  Initial write "  331246.17

"        Rewrite " 2437831.61

"           Read " 10345880.50

"        Re-read " 10543445.19

"   Reverse Read " 10565866.25

"    Stride read " 10501313.19

"    Random read " 10302140.81

" Mixed workload " 9915233.52

"   Random write " 2450999.03

"         Pwrite "  334233.28

"          Pread " 10440213.31


iozone test complete.
[root@localhost test]#

 

iozone은 다른 형태의 파일시스템 성능 측정값에 대해 벤치마크를 한다. 예를 들어 읽기, 쓰기, 임의 읽기등.
특정 파일시스템에 적용하려는 응용프로그램에 따라 적절한 항목에 대해 주의를 기울여야 한다. 예를 들어
읽기 작업이 많은 OLTP 데이터 베이스가 있는 파일시스템이라면 Random Read, Random Write와 혼합
작업량에 주의를 기울여야 한다. 응용프로그램이 미디어 컨텐츠를 스트리밍한다면, Sequential Read에 
주의를 기울여야 한다. 마지막으로 알아 둘 것은 /opt/iozone/bin에 있는 Generate_Graphs와 gengnuplot.sh를
이용해 iozone 출력물에 기반한 그래프를 생성할 수 있다는 것이다.

참고 :

Iozone PDF documentation – iozone 명령행 옵션과 이외의 내용에 대해 설명하고 있다.
Linux Iozone graph example – iozone으로 생성할 수 있는 excel 출력물 샘플


원문 : http://planet.admon.org/2009/09/measure-filesystem-io-performance-with-iozone/
---------------------------------------------------------------------------------------------------------------------------
 
추가적으로,
 
dd 사용법에 대해 간략히 메모 한다.
dd 는 대략 디스크를 괴롭히기 위해서나, 빈 파일을 생성시 사용한다.
 
dd if=/dev/zero of=/stg/ddfile bs=10240000 count=1000
 
if=읽을경로 / of= 쓸경로
bs = 블락 싸이즈
count = 횟수
dd 를 활용하여, 빈파일을 만드는 동안에 IO test를 진행 할 수도 있다. 추후 테스트 예정.


'Linux' 카테고리의 다른 글

FUSE 란?  (0) 2016.08.17
서버 성능측정 with sysbench  (1) 2016.07.14
linux 파티션 설정 변경  (0) 2016.06.29
[CentOS] mail - 리눅스서버 자체의 메일클라이언트  (0) 2016.05.24
리눅스 sendmail 설치 및 설정  (0) 2016.05.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함