Với mục đích có một công cụ test Tốc độ VPS/Server đơn giản, hiệu quả dành riêng cho người Việt, sau một thời gian phát triển, Học VPS tự hào chính thức ra mắt tool Tocdo.net.

Tocdo.net là một bash script dùng để kiểm tra thông số VPS/Server và test I/O Disk, Network; hoạt động trên hệ điều hành CentOS và Ubuntu.

Mục tiêu hướng đến của Tocdo.net đó là trở thành một tiêu chuẩn để test server, so sánh cấu hình, thông số giữa các server của các nhà cung cấp với nhau.

Ưu điểm của Tocdo.net đó là sử dụng trực tiếp các server ở Việt Nam, kết nối đến 3 nhà mạng lớn nhất là VNPT, Viettel và FPT Telecom. Qua đó giúp bạn nắm rõ được chất lượng đường truyền đến server khi truy cập từ các vùng miền của Việt Nam.

Không như những công cụ benchmark khác sử dụng lệnh dd, Tocdo.net sử dụng Fio để test tốc độ đọc ghi của ổ cứng theo dạng random read/write. Kiểu test liên tục đọc ghi theo thứ tự ngẫu nhiên này sẽ gần sát với hoạt động thực tế của ổ cứng nhất, khi mà dữ liệu liên tục được query, update.

Nhiều nhà cung cấp sử dụng cache để có kết quả test dd rất cao, tuy nhiên với Fio thì kết quả không thể giả mạo được, chuẩn xác nhất.

Tất cả kết quả test sẽ được lưu trong file log trên server có đường dẫn ~/tocdo.log. Do đó, kể cả khi đứt kết nối SSH, bạn vẫn có thể yên tâm mở file này lên xem lại được.

Nếu muốn show hàng, khi chạy tool bạn hãy lựa chọn option Share kết quả, sẽ có một link hiển thị sau khi quá trình benchmark hoàn tất để bạn có thể chia sẻ với người khác.

Giờ thì sao nhỉ, hãy cùng test Tocdo.net và chia sẻ link kết quả bên dưới để anh em so sánh chất lượng VPS/Server và đưa ra phương án lựa chọn tốt nhất nhé.

Mọi ý kiến đóng góp, chê bai các bạn cũng comment để mình có thêm động lực phát triển tool nha!

Comment của bạn

Your email address will not be published. Required fields are marked *

88 Comments

  1. hlv_trinh 1 comment

    Công thức tính disk size bị sai nha @Luân 🙂
    Sau khi cài Docker, disk của mình bị double size 😀

  2. Dũng Nguyễn Tiến 9 comment

    ~/tocdo.log , đừng dẫn này cụ thể là ở đâu vậy ad, mình tìm ko ra. (vultr, hocvps script). Cảm ơn ad!

    1. Dũng Nguyễn Tiến 9 comment

      Đến Softlayer, HongKong, CN 119.81.130.170 34.2MB/s
      Là ko thấy gì thêm nữa (chạy cả 2 script trên đều bị như nhau).

    1. Việt Phương Moderator

      Nếu bạn dùng Linode thì một số VPS không test được Fio nhé

  3. Uncelvel 1 comment

    Update phần fio test cho fio.3
    fio_test() {
    if [ -e ‘/usr/bin/fio’ ]; then
    if [ $(fio -v | cut -d ‘.’ -f 1) == “fio-2” ]; then
    echo “Mix R/W”
    local tmp=$(mktemp)
    fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=fio_test –filename=fio_test –bs=4k –numjobs=1 –iodepth=64 –size=256M –readwrite=randrw –rwmixread=75 –runtime=30 –time_based –output=”$tmp”
    local iops_read=`grep “iops=” “$tmp” | grep read | awk -F[=,]+ ‘{print $6}’`
    local iops_write=`grep “iops=” “$tmp” | grep write | awk -F[=,]+ ‘{print $6}’`
    local bw_read=`grep “bw=” “$tmp” | grep read | awk -F[=,B]+ ‘{if(match($4, /[0-9]+K$/)) {printf(“%.1f”, int($4)/1024);} else if(match($4, /[0-9]+M$/)) {printf(“%.1f”, substr($4, 0, length($4)-1))} else {printf(“%.1f”, int($4)/1024/1024);}}’`
    local bw_write=`grep “bw=” “$tmp” | grep write | awk -F[=,B]+ ‘{if(match($4, /[0-9]+K$/)) {printf(“%.1f”, int($4)/1024);} else if(match($4, /[0-9]+M$/)) {printf(“%.1f”, substr($4, 0, length($4)-1))} else {printf(“%.1f”, int($4)/1024/1024);}}’`
    echo “”
    echo “Read performance : $bw_read MB/s”
    echo “Read IOPS : $iops_read”
    echo “Write performance : $bw_write MB/s”
    echo “Write IOPS : $iops_write”
    rm -f $tmp fio_test
    echo “”
    echo “Read”
    local tmp=$(mktemp)
    fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=fio_test –filename=fio_test –bs=4k –numjobs=1 –iodepth=64 –size=256M –readwrite=randread –runtime=30 –time_based –output=”$tmp”
    local iops_read=`grep “iops=” “$tmp” | grep read | awk -F[=,]+ ‘{print $6}’`
    local bw_read=`grep “bw=” “$tmp” | grep read | awk -F[=,B]+ ‘{if(match($4, /[0-9]+K$/)) {printf(“%.1f”, int($4)/1024);} else if(match($4, /[0-9]+M$/)) {printf(“%.1f”, substr($4, 0, length($4)-1))} else {printf(“%.1f”, int($4)/1024/1024);}}’`
    echo “”
    echo “Read performance : $bw_read MB/s”
    echo “Read IOPS : $iops_read”
    rm -f $tmp fio_test
    echo “”
    echo “Write”
    local tmp=$(mktemp)
    fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=fio_test –filename=fio_test –bs=4k –numjobs=1 –iodepth=64 –size=256M –readwrite=randwrite –runtime=30 –time_based –output=”$tmp”
    local iops_write=`grep “iops=” “$tmp” | grep write | awk -F[=,]+ ‘{print $6}’`
    local bw_write=`grep “bw=” “$tmp” | grep write | awk -F[=,B]+ ‘{if(match($4, /[0-9]+K$/)) {printf(“%.1f”, int($4)/1024);} else if(match($4, /[0-9]+M$/)) {printf(“%.1f”, substr($4, 0, length($4)-1))} else {printf(“%.1f”, int($4)/1024/1024);}}’`
    echo “”
    echo “Write performance : $bw_write MB/s”
    echo “Write IOPS : $iops_write”
    rm -f $tmp fio_test
    elif [ $(fio -v | cut -d ‘.’ -f 1) == “fio-3” ]; then
    echo “Mix R/W”
    local tmp=$(mktemp)
    fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=fio_test –filename=fio_test –bs=4k –numjobs=1 –iodepth=64 –size=256M –readwrite=randrw –rwmixread=75 –runtime=30 –time_based –output=”$tmp”
    local readall=`grep “read:” “$tmp” | awk ‘{print $2, $3}’`
    local writeall=`grep “write:” “$tmp” | awk ‘{print $2, $3}’`
    echo “”
    echo “Read : $readall”
    echo “Write : $writeall”
    rm -f $tmp fio_test
    echo “”
    echo “Read”
    local tmp=$(mktemp)
    fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=fio_test –filename=fio_test –bs=4k –numjobs=1 –iodepth=64 –size=256M –readwrite=randread –runtime=30 –time_based –output=”$tmp”
    local readall=`grep “read:” “$tmp” | awk ‘{print $2, $3}’`
    echo “”
    echo “Read : $readall”
    rm -f $tmp fio_test
    echo “”
    echo “Write”
    local tmp=$(mktemp)
    fio –randrepeat=1 –ioengine=libaio –direct=1 –gtod_reduce=1 –name=fio_test –filename=fio_test –bs=4k –numjobs=1 –iodepth=64 –size=256M –readwrite=randwrite –runtime=30 –time_based –output=”$tmp”
    local writeall=`grep “write:” “$tmp” | awk ‘{print $2, $3}’`
    echo “”
    echo “Write : $writeall”
    rm -f $tmp fio_test
    fi
    else
    echo “Fio is missing!!! Please install Fio before running test.”
    fi
    }

    1. Việt Phương Moderator

      Cám ơn bạn nhiều nhé. Team HocVPs đã update code theo để phù hợp với fio2 và fio3. Mong bạn tiếp tục ủng hộ HocVPS và Tocdo.net

  4. Andy Fan 1 comment

    HUH như này có phải tốc độ chậm qúa ko ạ ?
    https://tocdo.net/result/91933
    System Info
    ———————————————————————-
    CPU model : Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
    Number of cores : 6
    CPU frequency : 1995.192 MHz
    Total size of Disk : 95.1 GB (9.5 GB Used)
    Total amount of Mem : 1873 MB (980 MB Used)
    Total amount of Swap : 4095 MB (10 MB Used)
    System uptime : 286 days, 12 hour 42 min
    Load average : 1.26, 1.09, 1.05
    OS : CentOS 6.6
    Arch : x86_64 (64 Bit)
    Kernel : 2.6.32-504.16.2.el6.x86_64
    Virt : vmware
    Date : Wed Feb 28 16:13:08 ICT 2018

    Disk Speed
    ———————————————————————-
    dd Test
    I/O (1st run) : 33.4 MB/s
    I/O (2nd run) : 19.6 MB/s
    I/O (3rd run) : 20.3 MB/s
    Average : 24.4 MB/s
    ———————————–
    Fio Test
    Read performance : 60.4 MB/s
    Read IOPS : 15460
    Write performance : 20.2 MB/s
    Write IOPS : 5166

    Speedtest
    ———————————————————————-
    Node Name IPv4 address Download Speed
    CacheFly 205.234.175.175 2.26MB/s
    Vultr, Los Angeles, CA 108.61.219.200 2.12MB/s
    Vultr, Seattle, WA 108.61.194.105 2.12MB/s
    Linode, Tokyo, JP 106.187.96.148 2.12MB/s
    Linode, Singapore, SG 139.162.23.4 2.26MB/s
    Softlayer, HongKong, CN 119.81.130.170 2.26MB/s
    VNPT, Ha Noi, VN 113.164.24.102 2.25MB/s
    VNPT, Da Nang, VN 113.164.16.66 2.28MB/s
    VNPT, Ho Chi Minh, VN 113.164.8.250 2.26MB/s
    Viettel Network, Ha Noi, VN 27.68.226.129 2.26MB/s
    Viettel Network, Da Nang, VN 27.68.201.1 2.18MB/s
    Viettel Network, Ho Chi Minh, VN 27.68.239.33 2.22MB/s
    FPT Telecom, Ha Noi, VN 118.70.79.154 2.27MB/s
    FPT Telecom, Ho Chi Minh, VN 118.68.168.10 2.27MB/s
    ———————————————————————-
    Share link: https://tocdo.net/result/91933

  5. Thuat 7 comment

    Total download size: 4.2 M
    Installed size: 13 M
    Downloading packages:
    (1/7): libibverbs-13-7.el7.x86_64.rpm | 194 kB 00:00:00
    (2/7): librados2-0.94.5-2.el7.x86_64.rpm | 1.7 MB 00:00:00
    System Info
    ———————————————————————-
    CPU model : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
    Number of cores : 3
    CPU frequency : 1999.999 MHz
    Total size of Disk : 78.0 GB (3.1 GB Used)
    Total amount of Mem : 2847 MB (161 MB Used)
    Total amount of Swap : 1023 MB (0 MB Used)
    System uptime : 0 days, 0 hour 8 min
    Load average : 0.34, 0.15, 0.09
    OS : CentOS 7.4.1708
    Arch : x86_64 (64 Bit)
    Kernel : 3.10.0-693.17.1.el7.x86_64
    Date : Tue Feb 13 02:21:58 EST 2018

    Disk Speed
    ———————————————————————-
    dd Test
    I/O (1st run) : 110 MB/s
    I/O (2nd run) : 316 MB/s
    I/O (3rd run) : 337 MB/s
    Average : 254.3 MB/s
    ———————————–
    Fio Test
    Read performance : 24.1 MB/s
    Read IOPS : 6174
    Write performance : 8.1 MB/s
    Write IOPS : 2065

    Speedtest
    ———————————————————————-
    Node Name IPv4 address Download Speed
    CacheFly 205.234.175.175 108MB/s
    Vultr, Los Angeles, CA 108.61.219.200 176MB/s
    Vultr, Seattle, WA 108.61.194.105 91.6MB/s
    Linode, Tokyo, JP 106.187.96.148 20.7MB/s
    Linode, Singapore, SG 139.162.23.4 10.6MB/s
    Softlayer, HongKong, CN 119.81.130.170 11.5MB/s
    VNPT, Ha Noi, VN 113.164.24.102 4.89MB/s
    VNPT, Da Nang, VN 113.164.16.66 4.80MB/s
    VNPT, Ho Chi Minh, VN 113.164.8.250 4.47MB/s
    Viettel Network, Ha Noi, VN 27.68.226.129 1.37MB/s
    Viettel Network, Da Nang, VN 27.68.201.1 4.98MB/s
    Viettel Network, Ho Chi Minh, VN 27.68.239.33 3.87MB/s
    FPT Telecom, Ha Noi, VN 118.70.79.154 8.42MB/s
    FPT Telecom, Ho Chi Minh, VN 118.68.168.10 9.01MB/s
    ———————————————————————-
    Share link: https://tocdo.net/result/38953
    ———————————————————————-

    Đánh giá rùm mình e VPS Ccone
    này 😀