'filesystem'에 해당되는 글 4건

  1. 2009.10.12 Measure Filesystem I/O Performance With iozone
  2. 2008.10.21 Part I. File System
  3. 2007.12.07 Online JFS의 특징
  4. 2007.12.03 JFS

원문 : http://planet.admon.org/2009/09/measure-filesystem-io-performance-with-iozone/

다음은 파일시스템 벤치마크를 수행하고 싶어하는 상황들이다. 원래의 버전은 Ramesh Natarajan에 의해
만들어졌고 이 새 버전은 joseph chen에 의해 수정되었다.

=> 읽기 쓰기가 많은 새 응용프로그램을 적용할 때
=> 새 스토리지를 구매하여 성능을 측정하려고 할 때
=> RAID 레벨을 변경하고 새로운 RAID의 성능을 측정하려고 할 때
=> 스토리지 파라미터를 변경하고 이에 따른 성능상의 영향을 알고 싶을 때

이 글은 여러분들에게 공개 파일시스템 벤치마크 도구인 iozone을 시용하여 파일시스템에 대한 벤치마크를
수행하기 위한 시발점[? jumpstar]을 제공한다.

1. iozone 다운로드 및 설치

iozone 홈페이지(http://www.iozone.org/)에서 자신에게 맞는 플랫폼용 iozone을 다운로드 받는다. 나(원문저자)는
"Linux i386 RPM"을 다운로드했다. RPM으로 설치하기 위해 다음 명령을 사용한다. 기본적으로 /opt/iozone/bin에
설치된다.

# rpm -ivh http://www.iozone.org/src/current/iozone-3-303.i386.rpm

註) iozone은 Unix/Linux, Windows OS에 설치할 수 있다.

2. 성능 테스트
성능 테스트를 시작하려면 다음의 명령을 백그라운드로 실행한다.
# /opt/iozone/bin/iozone -R -l 5 -u 5 -r 4k -s 100m -F /home/f1 /home/f2 /home/f3 /home/f4 /home/f5 | tee -a /tmp/iozone_result.txt &

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 출력 파일 분석

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

Iozone: Performance Test of File I/O
Version $Revision: 3.303 $
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,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root.

Run began: Thu Jun  22 00:08:51 2008

Excel chart generation enabled
Record Size 4 KB
File size set to 102400 KB
Command line used: /opt/iozone/bin/iozone -R -l 5 -u 5 -r  4k -s 100m -F /home/f1 /home/f2 /home/f3 /home/f4 /home/f5
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 = 5
Max process = 5
Throughput test with 5 processes
Each process writes a 102400 Kbyte file in 4 Kbyte records

Children see throughput for  2 initial writers  =   60172.28 KB/sec
Parent sees throughput for  2 initial writers   =   45902.89 KB/sec
Min throughput per process                        =   28564.52 KB/sec
Max throughput per process                      =   31607.76 KB/sec
Avg throughput per process                      =   30086.14 KB/sec
Min xfer                                                  =   92540.00 KB

Children see throughput for  2 rewriters        =   78658.92 KB/sec
Parent sees throughput for  2 rewriters         =   34277.52 KB/sec
Min throughput per process                      =   35743.92 KB/sec
Max throughput per process                      =   42915.00 KB/sec
Avg throughput per process                      =   39329.46 KB/sec
Min xfer                                        =   85296.00 KB

위와 비슷한 값들이 readers, re-readers, reverse readers, stride readers, random readers, mixed workload,
random writers, pwrite writers, pread readers에 대해 생성될 것이다. iozone 출력물의 마지막에는 아래와 같이
다른 측정값에 대한 전체적인 요약을 보여준다.

Throughput report Y-axis is type of test X-axis is number of processes
Record size = 4 Kbytes
Output is in Kbytes/sec
Initial write 60172.28
Rewrite 78658.92
Read 2125613.88
Re-read 1754367.31
Reverse Read 1603521.50
Stride read 1633166.38
Random read 1583648.75
Mixed workload 1171437.78
Random write 5365.59
Pwrite 26847.44
Pread 2054149.00

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 출력물 샘플


 

신고
Posted by She쥐포s
   파일 시스템은 컴퓨터에 저장된 파일과 디렉토리를 말한다. 파일 시스템은 파일 시스템 타입이라고 하는 다른 포맷을 가질 수 있다. 이들 포맷은 정보가 파일과 디렉토리에 어떻게 저장될지를 결정한다. 어떤 파일 시스템 타입은 하드 드라이브에 접근을 더 빠르게 하는 반면 어떤 파일 시스템 타입은 데이터의 복사본을 저장한다. 이 Part에서는 ext3, swap, RAID, LVM 파일 시스템 타입에 대해 이야기할 것이다. 또한 파티션을 관리하기 위한 parted 유틸리티와 파일 권한을 설정하기 위한 access control lists(ACLs)애 대해서도 이야기할 것이다.
신고
Posted by She쥐포s

Online JFS의 특징

Unix/HP-UX 2007.12.07 10:22

1. Online Filesystem resizing
    i) 늘이기
        # lvextend -L 100 /dev/vg00        <-- 여기서 100은 최종용량, -L은 MB단위
        # fsadm -b 100M /home              <-- /home filesystem의 예, -b는 kb 단위
    ii) 줄이기(줄이기는 보통 하지 않음)
        # lvreduce
        * 주의 : 조각모음 실시 후 실행해야 함

2. Online Filesystem Backup
    * Backup 중 I/O가 발생하면 restore시에 Error가 발생됨
        => umount or Single User Mode로 변경 후 실시
    * OnLine Backup을 하려면
        - Online Backup Tool 사용 or
        - lvsplit/lvmerge 사용 or
        - Snapshot 사용
    i) lvsplit/lvmerge(SW Mirroring시에만 가능)

사용자 삽입 이미지


        # lvsplit /dev/vg00/lvol4             <-- /dev/vg00/lvol4b가 생성됨
        # fsck -F vxfs /dev/vg00/lvol4b
        # mkdir /backup
        # mount -F vxfs /dev/vg00/lvol4b /backup
        # fbackup -i /backup
        # lvmerge /dev/vg00/lvol4b /dev/vg00/lvol4
                               old                     new

    ii) SnapShot 기법 이용
사용자 삽입 이미지

# lvcreate -L 20 vg00
# mkdir /backup
# mount -F vxfs -o snapof=/home /dev/vg00/lvol9 /backup

- logical volume 생성
- Filesystem의 bitmap image(명령을 실행한 순간의)를 생성

* File이 변경되면 snapshot 이미지에는 old data가
  snapped FS에는 new data가 존재함



3. Online Defragmentation
    * 일반적 backup => umount -> new filesystem 구축 -> restore
    * online defragmentation
        # fsadm -DEde /home
        설명)
            대문자 : 조각모음 실시 전 Report 생성
            소문자 : 실제 조각모음 실시
            d : directory
            e : extent(contiguous block)
    * Directory 구조
사용자 삽입 이미지
    * i-node 확인
        # ls -i

4. Direct Access
    * block device에 write를 하면 syncer가 6초당 1회씩 20%씩 filesystem에 update
                                              항상 buffer cache를 통해 저장
    * character device는 buffer cache를 이용하지 않음, performance는 좋다.
    * 자체적으로 buffer cache를 운영하는 프로그램(예, Oracle)
사용자 삽입 이미지
        # mount -F vxfs -o mincache=direct /dev/vg01/lvol1 /DB (Filesystem에 mount)
                              => system buffer를 통하지 않음
                              => 주의점 : /DB filesystem에 DB관련 file만 있어야 함.
                                              일반 file이 존재할 경우 performance 떨어짐
 

신고
Posted by She쥐포s

JFS

Unix/HP-UX 2007.12.03 21:35

o Journaled File System
    intent log의 역할
        - Log meta dada changes

신고
Posted by She쥐포s