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
    Virtio Block 성능 벤치마크  (0) 2018.12.23
    QEMU를 이용해 커널 이미지 바꿔서 부팅해보기  (0) 2018.12.20
    kvm ioeventfd  (0) 2018.08.11
    kvm irqfd  (0) 2018.08.11
    vhost  (0) 2018.07.08

    댓글 0

Designed by Tistory.