Skip to content

The storage I/O performance measured by fio in CubeSandbox is unsatisfactory. #536

Description

@hualing15

Question

All tests were conducted on the same physical machine; each test ran for 60 seconds and was executed under the /root directory every time.

As shown in the table below, CubeSandbox exhibits noticeably lower storage I/O performance compared to gVisor and Kata. Could you help analyze the primary contributing factors?

Test Results:

unit: MB/s

Test Item HOSTOS CubeSandbox hostdir volume Cube Sandbox MVM WR layer gvisor kata-fc
read 1416 4509 1047 6045 4024
write 2955 2119 820 2643 2296
randread 171 508 393 1327 407
randwtire 1234 148 111 816 370

Test Script

#!/bin/bash

run_fio_test() {
    local test_file="$1"
    local test_size="$2"
    local num_jobs="$3"
    local block_size="$4"
    local read_write="$5"
    local direct="$6"

    fio \
        --name=iodist_test \
        --filename="$test_file" \
        --size="$test_size" \
        --numjobs="$num_jobs" \
        --bs="$block_size" \
        --rw="$read_write" \
        --runtime=60 \
        --time_based \
        --direct="$direct" \
        --group_reporting
}

echo_value(){
    echo "${1}" | grep "run="
}

main() {
    local output_dir="$(cd "$(dirname "$0")" && pwd)"
    local test_file="$output_dir/fio_test_file"
    local timestamp=$(date '+%Y%m%d_%H%M%S')

    echo ""
    echo "[1/4] read test"
    local json=$(run_fio_test "$test_file" "1G" 4 "128k" "read" 1)
    echo_value "${json}"

    echo ""
    echo "[2/4] write test"
    local json=$(run_fio_test "$test_file" "1G" 4 "128k" "write" 1)
    echo_value "${json}"

    echo ""
    echo "[3/4] rand read"
    local json=$(run_fio_test "$test_file" "1G" 4 "4k" "randread" 1)
    echo_value "${json}"
    
    echo ""
    echo "[4/4] rand write"
    local json=$(run_fio_test "$test_file" "1G" 4 "4k" "randwrite" 1)
    echo_value "${json}"

if [ -f "$test_file" ]; then
        rm -f "$test_file"
    fi
}

main

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/hypervisorImpacts the cloud-hypervisorquestionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions