ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Virtio Block 성능 벤치마크
    개발/가상화 2018. 12. 23. 14:08

    QEMU와 KVM환경에서 띄운 Ubuntu VM의 스토리지 성능을 Virtio Block을 사용할 때와 아닐 때를 각각 나누어서 측정을 해보았고 최적화 옵션을 적용할 때 Host대비 얼마정도의 성능을 내는지도 실험 해봤다.


    1. 실험 방법


    벤치마크툴은 iozone을 사용했고 적용한 옵션은 다음과 같다.

    iozone -e -I -a -s 100M -r 4k -r 4096k -r 16384k -i 0 -i 1 -i 2
    


    여기서 주목해야할 옵션 항목만 짚고 넘어가자.

    • -r 은 record할 사이즈를 말하며 여러개의 인자를 전달하면 인자의 개수만큼 측정한다.
    • -i 는 측정할 실험 항목을 의미한다. (0=write/rewrite, 1=read/re-read, 2=random-read/write)
    • -s 는 읽고 쓸 데이터의 크기를 의미한다.

    2. 실험환경


    Host 환경


    - CPU: Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz

    - Memory: 8G

    - Storage: SSD


    Guest VM 환경


    - CPU: Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz

    - Memory: 4G

    - Storage: VirtioBlock(1) / Qemu Storage(2)


    3. 측정결과 및 분석


    (1) Record Size: 4K


    4K

    write

    rewrite

    read

    reread

    R/Read

    R/Reread

    Host

    108531

    140209

    130116

    149202

    41372

    108057

    VM(VirtioIO)

    56260

    76539

    74808

    76864

    33816

    73393

    VM(QEMU Storage)

    10231

    13252

    11558

    15289

    13324

    17782


    (2) Record Size: 4096K


    4096K

    write

    rewrite

    read

    reread

    R/Read

    R/Reread

    Host

    475827

    493225

    500618

    506168

    506449

    491150

    VM(VirtioIO)

    381458

    385537

    406131

    403043

    408653

    387712

    VM(QEMU Storage)

    254328

    260574

    261297

    268813

    254842

    259518


    (3) Record Size: 16384K


    16384K

    write

    rewrite

    read

    reread

    R/Read

    R/Reread

    Host

    495826

    502281

    524808

    521351

    520112

    502445

    VM(VirtioIO)

    394283

    431118

    423213

    417768

    435611

    418307

    VM(QEMU Storage)

    276397

    269190

    273982

    288246

    288831

    268841


    * 결과 단위는 KB/S이다.


    - 측정 단위가(Record Size) 작을수록 VirtioBlock과 QEMU Storage의 성능차이가 많이 나며 커질 수록 어느정도 좁혀지나 40~60% 정도 Virtio Block의 성능이 더 우수한 것으로 수렴한다.


    - QEMU Storage 일때는 Host의 절반 정도(53%~55%)이지만  Virtio Block 옵션을 적용하면 Host 대비 80% 정도의 성능을 낸다. Host의 Storage 성능이 워낙 빠르기 때문에 (SSD) 20% 정도의 성능을 손해보더라도 불편함없이 사용할 수 있을 것 같다.


    - SSD로 띄운 VM은 최적화 옵션을 넣지 않아도 HDD로 띄운 Host보다 성능이 우수하게 나온다. 성능 구린 PC를 하나 더 사는 것 보다는 성능 좋은 PC에 Virtual Machine을 띄우는게 경제적으로나 성능적으로나 우수해보인다.


    16384K

    write

    rewrite

    read

    reread

    R/Read

    R/Reread

    Host(HDD)

    135480

    126629

    155426

    168672

    136012

    126976

    VM (Virtio based SSD)

    394283

    431118

    423213

    417768

    435611

    418307

    VM(QEMU Storage)

    276397

    269190

    273982

    288246

    288831

    268841


    '개발 > 가상화' 카테고리의 다른 글

    Virtio Block 성능 세부 분석  (0) 2019.05.20
    QEMU를 이용해 커널 이미지 바꿔서 부팅해보기  (0) 2018.12.20
    kvm ioeventfd  (0) 2018.08.11
    kvm irqfd  (1) 2018.08.11
    vhost  (0) 2018.07.08

    댓글

Designed by Tistory.