Why does E3 SSD dedi seem faster than Ryzen 7950X NVMe 2 vCore VPS at `sha256sum -c`?

2»

Comments

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    The provider of this very nice VPS asked me to retest with RAM doubled to 4 GB. The short answer seems to be that increasing the RAM doesn't help. Even with 4 GB RAM, there still is a lot of I/O wait.

    "very nice VPS" is not sarcasm. It really is a great VPS! And the provider's customer service is great as well!

    root@Ryzen-4-vCore-VPS:~# date; uptime
    Mon Sep  9 07:20:32 PM UTC 2024
     19:20:32 up 7 min,  2 users,  load average: 0.00, 0.00, 0.00
    root@Ryzen-4-vCore-VPS:~# nproc
    4
    root@Ryzen-4-vCore-VPS:~# vmstat 1 > vmstat-out 2>&1 &
    [1] 997
    root@Ryzen-4-vCore-VPS:~# date; dd if=chronos-20240904.tgz.cpt bs=1M | /usr/bin/time -v sha256sum -c chronos-20240904.tgz.cpt.SHA256; date
    Mon Sep  9 07:21:23 PM UTC 2024
    chronos-20240904.tgz.cpt: OK
            Command being timed: "sha256sum -c chronos-20240904.tgz.cpt.SHA256"
            User time (seconds): 9.80
            System time (seconds): 0.67
            Percent of CPU this job got: 32%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 0:32.11
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 1984
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 2
            Minor (reclaiming a frame) page faults: 102
            Voluntary context switches: 9061
            Involuntary context switches: 482
            Swaps: 0
            File system inputs: 9567464
            File system outputs: 0
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    Mon Sep  9 07:21:55 PM UTC 2024
    root@Ryzen-4-vCore-VPS:~# fg
    vmstat 1 > vmstat-out 2>&1
    ^C
    root@Ryzen-4-vCore-VPS:~# cat -n vmstat-out 
         1  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
         2   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
         3   1  0      0 3743848   1876 142920    0    0    78    13  109   81  0  0 100  0  0
         4   1  0      0 3743848   1876 142920    0    0     0     0  293  116  0  0 100  0  0
         5   1  0      0 3743848   1876 142920    0    0     0     0  377  153  0  0 100  0  0
         6   1  0      0 3743848   1876 142920    0    0     0     0  260  123  0  0 100  0  0
         7   1  0      0 3743848   1876 142920    0    0     0     0  288  165  0  0 100  0  0
         8   1  0      0 3743848   1876 142920    0    0     0     0  275  158  0  0 100  0  0
         9   1  0      0 3743848   1876 142920    0    0     0     4  256  169  0  0 100  0  0
        10   1  0      0 3743848   1876 142920    0    0     0     0  203  123  0  0 100  0  0
        11   1  0      0 3743848   1876 142920    0    0     0     0  245  131  0  0 100  0  0
        12   1  0      0 3743848   1876 142920    0    0     0     6  313  163  0  0 100  0  0
        13   1  0      0 3743848   1876 142920    0    0     0     0  311  157  0  0 100  0  0
        14   1  0      0 3743848   1876 142920    0    0     0     0  237  100  0  0 100  0  0
        15   1  0      0 3743848   1876 142920    0    0     0     4  280  152  0  0 100  0  0
        16   1  0      0 3743848   1876 142920    0    0     0     0  274  157  0  0 100  0  0
        17   1  0      0 3743848   1876 142920    0    0     0     0  250  137  0  0 100  0  0
        18   1  0      0 3743848   1876 142920    0    0     0     0  287  139  0  0 100  0  0
        19   1  0      0 3743848   1876 142920    0    0     0     0  283  102  0  0 100  0  0
        20   1  0      0 3743848   1876 142920    0    0     0     0  317  160  0  0 100  0  0
        21   1  0      0 3743848   1876 142920    0    0     0     4  316  159  0  0 100  0  0
        22   1  0      0 3743848   1876 142920    0    0     0     0  247  114  0  0 100  0  0
        23   1  0      0 3743848   1876 142920    0    0     0     0  219  111  0  0 100  0  0
        24  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
        25   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
        26   1  0      0 3743848   1876 142920    0    0     0     0  263  158  0  0 100  0  0
        27   1  0      0 3743848   1876 142920    0    0     0     0  239  135  0  0 100  0  0
        28   1  0      0 3743848   1876 142920    0    0     0     0  266  120  0  0 100  0  0
        29   1  0      0 3743848   1876 142920    0    0     0     4  268  137  0  0 100  0  0
        30   1  0      0 3743848   1876 142920    0    0     0     0  309  156  0  0 100  0  0
        31   1  0      0 3743848   1876 142920    0    0     0     0  236  130  0  0 100  0  0
        32   1  0      0 3743848   1876 142920    0    0     0     0  276  127  0  0 100  0  0
        33   1  0      0 3743848   1876 142920    0    0     0     0  357  191  0  0 100  0  0
        34   2  0      0 3743848   1876 142920    0    0 71380     0  603  466  4  1 87  8  0
        35   1  1      0 3743848   1876 142920    0    0 148736     4  910  751  8  2 74 17  0
        36   1  1      0 3743848   1876 142920    0    0 145152     0  881  706  6  2 75 17  0
        37   1  1      0 3743848   1876 142920    0    0 154368     0  993  747  7  2 74 16  0
        38   1  1      0 3743848   1876 142920    0    0 146176     0  929  767  8  2 74 17  0
        39   1  1      0 3743848   1876 142920    0    0 147968     0  853  687  7  2 74 16  0
        40   1  1      0 3743848   1876 142920    0    0 154624     0  871  764  7  2 74 16  0
        41   1  1      0 3743848   1876 142920    0    0 146688     4  849  727  8  2 73 17  0
        42   1  1      0 3743848   1876 142920    0    0 139008     0  824  708  6  2 74 17  0
        43   1  1      0 3743848   1876 142920    0    0 149504     0  888  736  7  2 74 16  0
        44   1  1      0 3743848   1876 142920    0    0 149248     0  942  740  9  1 74 17  0
        45   1  1      0 3743848   1876 142920    0    0 145408     9  905  741  8  1 74 17  0
        46   2  0      0 3743848   1876 142920    0    0 141056     0  849  786  7  2 74 17  0
        47  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
        48   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
        49   1  1      0 3743848   1876 142920    0    0 150528     4  930  817  8  3 73 16  0
        50   1  1      0 3743848   1876 142920    0    0 140544     0  824  730  7  2 74 17  0
        51   2  0      0 3743848   1876 142920    0    0 153344     0  876  793  7  3 74 16  0
        52   1  1      0 3743848   1876 142920    0    0 148992     0  884  773  8  2 73 17  0
        53   2  0      0 3743848   1876 142920    0    0 157184     0  893  720  8  2 74 16  0
        54   1  1      0 3743848   1876 142920    0    0 152064     0  915  808  8  3 72 16  0
        55   1  1      0 3743848   1876 142920    0    0 151296     8  926  771  7  2 74 17  0
        56   2  0      0 3743848   1876 142920    0    0 143104     0  869  773  8  2 74 17  0
        57   2  0      0 3743848   1876 142920    0    0 149760     0  888  788  8  3 72 16  0
        58   2  0      0 3743848   1876 142920    0    0 156416     0  854  774  8  2 74 16  0
        59   2  0      0 3743848   1876 142920    0    0 151296     0  865  775  8  2 74 16  0
        60   1  1      0 3743848   1876 142920    0    0 154112     0  988  887  7  2 74 16  0
        61   1  1      0 3743848   1876 142920    0    0 154112     4  961  943  7  2 74 16  0
        62   1  1      0 3743848   1876 142920    0    0 153088     0  970 1008  8  3 73 16  0
        63   1  1      0 3743848   1876 142920    0    0 152320     0  934 1038  6  2 75 17  0
        64   1  1      0 3743848   1876 142920    0    0 144896     0  909  969  7  3 73 17  0
        65   1  1      0 3743848   1876 142920    0    0 140032     0  888 1062  7  1 74 17  0
        66   2  0      0 3743848   1876 142920    0    0 141056     0  930 1093  6  2 74 17  0
        67   1  1      0 3743848   1876 142920    0    0 152576     4  926 1063  8  3 73 16  0
        68   1  0      0 3743848   1876 142920    0    0 99372     0  820  811  5  1 83 11  0
        69   1  0      0 3743848   1876 142920    0    0     0     0  492  213  0  0 100  0  0
        70  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
        71   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
        72   1  0      0 3743848   1876 142920    0    0     0     0  285  147  0  0 100  0  0
        73   1  0      0 3743848   1876 142920    0    0     0     0  333  197  0  0 100  0  0
        74   1  0      0 3743848   1876 142920    0    0     0     0  322  198  0  0 100  0  0
        75   1  0      0 3743848   1876 142920    0    0     0     4  338  197  0  0 100  0  0
    root@Ryzen-4-vCore-VPS:~# 
    

    I hope everyone gets the servers they want!

  • @Not_Oles said:
    The provider of this very nice VPS asked me to retest with RAM doubled to 4 GB. The short answer seems to be that increasing the RAM doesn't help. Even with 4 GB RAM, there still is a lot of I/O wait.

    "very nice VPS" is not sarcasm. It really is a great VPS! And the provider's customer service is great as well!

    root@Ryzen-4-vCore-VPS:~# date; uptime
    Mon Sep  9 07:20:32 PM UTC 2024
     19:20:32 up 7 min,  2 users,  load average: 0.00, 0.00, 0.00
    root@Ryzen-4-vCore-VPS:~# nproc
    4
    root@Ryzen-4-vCore-VPS:~# vmstat 1 > vmstat-out 2>&1 &
    [1] 997
    root@Ryzen-4-vCore-VPS:~# date; dd if=chronos-20240904.tgz.cpt bs=1M | /usr/bin/time -v sha256sum -c chronos-20240904.tgz.cpt.SHA256; date
    Mon Sep  9 07:21:23 PM UTC 2024
    chronos-20240904.tgz.cpt: OK
            Command being timed: "sha256sum -c chronos-20240904.tgz.cpt.SHA256"
            User time (seconds): 9.80
            System time (seconds): 0.67
            Percent of CPU this job got: 32%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 0:32.11
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 1984
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 2
            Minor (reclaiming a frame) page faults: 102
            Voluntary context switches: 9061
            Involuntary context switches: 482
            Swaps: 0
            File system inputs: 9567464
            File system outputs: 0
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    Mon Sep  9 07:21:55 PM UTC 2024
    root@Ryzen-4-vCore-VPS:~# fg
    vmstat 1 > vmstat-out 2>&1
    ^C
    root@Ryzen-4-vCore-VPS:~# cat -n vmstat-out 
         1  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
         2   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
         3   1  0      0 3743848   1876 142920    0    0    78    13  109   81  0  0 100  0  0
         4   1  0      0 3743848   1876 142920    0    0     0     0  293  116  0  0 100  0  0
         5   1  0      0 3743848   1876 142920    0    0     0     0  377  153  0  0 100  0  0
         6   1  0      0 3743848   1876 142920    0    0     0     0  260  123  0  0 100  0  0
         7   1  0      0 3743848   1876 142920    0    0     0     0  288  165  0  0 100  0  0
         8   1  0      0 3743848   1876 142920    0    0     0     0  275  158  0  0 100  0  0
         9   1  0      0 3743848   1876 142920    0    0     0     4  256  169  0  0 100  0  0
        10   1  0      0 3743848   1876 142920    0    0     0     0  203  123  0  0 100  0  0
        11   1  0      0 3743848   1876 142920    0    0     0     0  245  131  0  0 100  0  0
        12   1  0      0 3743848   1876 142920    0    0     0     6  313  163  0  0 100  0  0
        13   1  0      0 3743848   1876 142920    0    0     0     0  311  157  0  0 100  0  0
        14   1  0      0 3743848   1876 142920    0    0     0     0  237  100  0  0 100  0  0
        15   1  0      0 3743848   1876 142920    0    0     0     4  280  152  0  0 100  0  0
        16   1  0      0 3743848   1876 142920    0    0     0     0  274  157  0  0 100  0  0
        17   1  0      0 3743848   1876 142920    0    0     0     0  250  137  0  0 100  0  0
        18   1  0      0 3743848   1876 142920    0    0     0     0  287  139  0  0 100  0  0
        19   1  0      0 3743848   1876 142920    0    0     0     0  283  102  0  0 100  0  0
        20   1  0      0 3743848   1876 142920    0    0     0     0  317  160  0  0 100  0  0
        21   1  0      0 3743848   1876 142920    0    0     0     4  316  159  0  0 100  0  0
        22   1  0      0 3743848   1876 142920    0    0     0     0  247  114  0  0 100  0  0
        23   1  0      0 3743848   1876 142920    0    0     0     0  219  111  0  0 100  0  0
        24  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
        25   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
        26   1  0      0 3743848   1876 142920    0    0     0     0  263  158  0  0 100  0  0
        27   1  0      0 3743848   1876 142920    0    0     0     0  239  135  0  0 100  0  0
        28   1  0      0 3743848   1876 142920    0    0     0     0  266  120  0  0 100  0  0
        29   1  0      0 3743848   1876 142920    0    0     0     4  268  137  0  0 100  0  0
        30   1  0      0 3743848   1876 142920    0    0     0     0  309  156  0  0 100  0  0
        31   1  0      0 3743848   1876 142920    0    0     0     0  236  130  0  0 100  0  0
        32   1  0      0 3743848   1876 142920    0    0     0     0  276  127  0  0 100  0  0
        33   1  0      0 3743848   1876 142920    0    0     0     0  357  191  0  0 100  0  0
        34   2  0      0 3743848   1876 142920    0    0 71380     0  603  466  4  1 87  8  0
        35   1  1      0 3743848   1876 142920    0    0 148736     4  910  751  8  2 74 17  0
        36   1  1      0 3743848   1876 142920    0    0 145152     0  881  706  6  2 75 17  0
        37   1  1      0 3743848   1876 142920    0    0 154368     0  993  747  7  2 74 16  0
        38   1  1      0 3743848   1876 142920    0    0 146176     0  929  767  8  2 74 17  0
        39   1  1      0 3743848   1876 142920    0    0 147968     0  853  687  7  2 74 16  0
        40   1  1      0 3743848   1876 142920    0    0 154624     0  871  764  7  2 74 16  0
        41   1  1      0 3743848   1876 142920    0    0 146688     4  849  727  8  2 73 17  0
        42   1  1      0 3743848   1876 142920    0    0 139008     0  824  708  6  2 74 17  0
        43   1  1      0 3743848   1876 142920    0    0 149504     0  888  736  7  2 74 16  0
        44   1  1      0 3743848   1876 142920    0    0 149248     0  942  740  9  1 74 17  0
        45   1  1      0 3743848   1876 142920    0    0 145408     9  905  741  8  1 74 17  0
        46   2  0      0 3743848   1876 142920    0    0 141056     0  849  786  7  2 74 17  0
        47  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
        48   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
        49   1  1      0 3743848   1876 142920    0    0 150528     4  930  817  8  3 73 16  0
        50   1  1      0 3743848   1876 142920    0    0 140544     0  824  730  7  2 74 17  0
        51   2  0      0 3743848   1876 142920    0    0 153344     0  876  793  7  3 74 16  0
        52   1  1      0 3743848   1876 142920    0    0 148992     0  884  773  8  2 73 17  0
        53   2  0      0 3743848   1876 142920    0    0 157184     0  893  720  8  2 74 16  0
        54   1  1      0 3743848   1876 142920    0    0 152064     0  915  808  8  3 72 16  0
        55   1  1      0 3743848   1876 142920    0    0 151296     8  926  771  7  2 74 17  0
        56   2  0      0 3743848   1876 142920    0    0 143104     0  869  773  8  2 74 17  0
        57   2  0      0 3743848   1876 142920    0    0 149760     0  888  788  8  3 72 16  0
        58   2  0      0 3743848   1876 142920    0    0 156416     0  854  774  8  2 74 16  0
        59   2  0      0 3743848   1876 142920    0    0 151296     0  865  775  8  2 74 16  0
        60   1  1      0 3743848   1876 142920    0    0 154112     0  988  887  7  2 74 16  0
        61   1  1      0 3743848   1876 142920    0    0 154112     4  961  943  7  2 74 16  0
        62   1  1      0 3743848   1876 142920    0    0 153088     0  970 1008  8  3 73 16  0
        63   1  1      0 3743848   1876 142920    0    0 152320     0  934 1038  6  2 75 17  0
        64   1  1      0 3743848   1876 142920    0    0 144896     0  909  969  7  3 73 17  0
        65   1  1      0 3743848   1876 142920    0    0 140032     0  888 1062  7  1 74 17  0
        66   2  0      0 3743848   1876 142920    0    0 141056     0  930 1093  6  2 74 17  0
        67   1  1      0 3743848   1876 142920    0    0 152576     4  926 1063  8  3 73 16  0
        68   1  0      0 3743848   1876 142920    0    0 99372     0  820  811  5  1 83 11  0
        69   1  0      0 3743848   1876 142920    0    0     0     0  492  213  0  0 100  0  0
        70  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
        71   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
        72   1  0      0 3743848   1876 142920    0    0     0     0  285  147  0  0 100  0  0
        73   1  0      0 3743848   1876 142920    0    0     0     0  333  197  0  0 100  0  0
        74   1  0      0 3743848   1876 142920    0    0     0     0  322  198  0  0 100  0  0
        75   1  0      0 3743848   1876 142920    0    0     0     4  338  197  0  0 100  0  0
    root@Ryzen-4-vCore-VPS:~# 
    

    You are wondering why IO wait is higher on a VPS with other people sharing it?

    URL Shortener | YetiNode | CryptidSecurity | LaunchVPS | Are you in the Node?

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    @AuroraZero said: You are wondering why IO wait is higher on a VPS with other people sharing it?

    I trust the provider 100%. The provider says it's his least busy Node. Maybe there might be nobody else one it, although the provider didn't say that expressly.

    Compared with their Nodes, I often have seen reduced disk performance on Qemu VPSes. Interestingly, network performance on Qemu VPSes seems pretty good when compared with network performance on the Nodes. However, it's not the same with disk I/O. Even using the virtio Qemu feature instead of Qemu's full hardware emulation still doesn't seem to move Qemu VPS disk I/O up toward parity with the Node. For disk I/O there often seems to be a minimum of approximately 15 or 20% performance penalty.

    Previously I was only looking at overall time for disk I/O tasks. Now that @cmeerw kindly introduced me to vmstat, I am able to see the I/O wait numbers. Thus now I can imagine that the disk I/O performance penalty is due to I/O wait.

    @cmeerw said: it really is just waiting for the OS to do that I/O.

    Of course you are right. What I want to understand, though, is why the VPS OS takes longer to do the same file I/O task even using virtio Qemu than the time taken to do the same task directly on the Node without Qemu. Also, why is there no similar penalty for network I/O? The file I/O penalty shown here seems to exist even on empty Nodes with only one test VM running.

    Thanks (yet again!) to your kindness, @cmeerw, I might recently see a little more deeply. Maybe I now need to find a kind person on the Qemu team who might give me a little tour of the code and a little hint about why Qemu seems, even with virtio, to take longer for file I/O.

    Do we have someone here who knows the Qemu code?

    I hope everyone gets the servers they want!

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    What I did this morning was create a 2 core, 4 GB VPS on my E3 machine. Then I ran a test on the E3 VPS. Here are the results. Almost no I/O wait!

    Why is there so much I/O wait on the Ryzen VPS results shown above and practically none on the E3 VPS?


    bashvm@E3-VPS:~$ vmstat 1 > vmstat-out 2>&1 & [1] 566 bashvm@E3-VPS:~$ date; dd if=chronos-20240904.tgz.cpt bs=1M | /usr/bin/time -v sha256sum -c 6 Wed Sep 11 17:31:01 UTC 2024 chronos-20240904.tgz.cpt: OK Command being timed: "sha256sum -c chronos-20240904.tgz.cpt.SHA256" User time (seconds): 21.54 System time (seconds): 2.50 Percent of CPU this job got: 99% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:24.05 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 1780 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 1 Minor (reclaiming a frame) page faults: 106 Voluntary context switches: 6 Involuntary context switches: 132 Swaps: 0 File system inputs: 9562160 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0 bashvm@E3-VPS:~$ cat vmstat-out procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 71896 12556 1828908 0 0 9238 2323 211 98 5 1 93 0 0 1 0 0 71896 12556 1828908 0 0 0 0 33 39 0 0 100 0 1 1 0 0 71896 12556 1828908 0 0 0 4 24 32 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 24 30 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 21 36 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 23 30 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 24 32 54 0 0 100 1 0 1 0 0 71896 12556 1828908 0 0 0 0 15 18 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 24 36 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 19 26 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 14 19 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 12 31 48 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 34 47 0 0 100 0 0 2 0 0 71896 12556 1828908 0 0 57564 0 367 103 13 4 84 0 0 2 0 0 71896 12556 1828908 0 0 197376 0 1081 159 41 10 49 0 0 2 0 0 71896 12556 1828908 0 0 198400 0 1089 156 44 8 49 0 0 2 0 0 71896 12556 1828908 0 0 197120 0 1087 154 45 7 49 0 0 2 0 0 71896 12556 1828908 0 0 198912 12 1100 167 44 7 48 1 0 2 0 0 71896 12556 1828908 0 0 198400 0 1090 159 44 8 49 0 0 2 0 0 71896 12556 1828908 0 0 197632 0 1082 153 43 8 49 0 0 2 0 0 71896 12556 1828908 0 0 198144 0 1090 148 47 5 49 0 0 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 0 71896 12556 1828908 0 0 200704 0 1100 169 44 7 49 0 0 2 0 0 71896 12556 1828908 0 0 199936 0 1099 167 45 7 49 0 0 2 0 0 71896 12556 1828908 0 0 193792 12 1070 165 44 7 49 0 0 2 0 0 71896 12556 1828908 0 0 201984 0 1103 169 46 5 49 0 0 2 0 0 71896 12556 1828908 0 0 204032 0 1113 150 45 6 49 0 0 2 0 0 71896 12556 1828908 0 0 198144 0 1095 170 47 4 49 0 0 2 0 0 71896 12556 1828908 0 0 198400 0 1091 160 45 6 49 0 0 2 0 0 71896 12556 1828908 0 0 200960 0 1100 160 47 5 48 0 0 2 0 0 71896 12556 1828908 0 0 199936 12 1104 171 47 4 48 1 0 2 0 0 71896 12556 1828908 0 0 198912 0 1104 184 45 6 48 0 0 2 0 0 71896 12556 1828908 0 0 197888 4 1086 148 46 5 49 0 0 2 0 0 71896 12556 1828908 0 0 201476 0 1113 171 45 7 48 0 0 2 0 0 71896 12556 1828908 0 0 195328 0 1079 153 46 6 49 0 0 2 0 0 71896 12556 1828908 0 0 200960 0 1104 156 45 6 49 0 0 2 0 0 71896 12556 1828908 0 0 200192 20 1103 178 45 6 48 0 0 2 0 0 71896 12556 1828908 0 0 198656 12 1098 157 44 8 49 0 0 1 0 0 71896 12556 1828908 0 0 146256 0 2276 161 33 8 59 0 0 1 0 0 71896 12556 1828908 0 0 0 0 15 23 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 20 34 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 26 39 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 12 21 36 0 0 100 1 0 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 71896 12556 1828908 0 0 0 0 30 33 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 23 26 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 15 23 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 30 47 0 1 100 0 0 1 0 0 71896 12556 1828908 0 0 0 12 30 47 0 0 100 0 0 1 0 0 71896 12556 1828908 0 0 0 0 35 45 0 1 100 0 0 1 0 0 71896 12556 1828908 0 0 76 0 61 70 1 1 99 0 0 1 0 0 71896 12556 1828908 0 0 0 0 18 25 0 0 100 0 0 bashvm@E3-VPS:~$

    I hope everyone gets the servers they want!

  • @Not_Oles said: Why is there so much I/O wait on the Ryzen VPS results shown above and practically none on the E3 VPS?

    Actually looking at the Ryzen results again, why is it only doing around 150 MB/s (even with a 1M block size)?

    Could you maybe just do a dd if=chronos-20240904.tgz.cpt of=/dev/null bs=1M? Surely, that should be closer to some GB/s (similar to the fio results you had earlier)

    One other thing that might be an advantage for the E3 VPS could be that it still benefits from the host system's cache (depending on how the storage is set up)

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    The kind provider and I finally got around to testing, as @zakkuuno suggested on OGF, with increased RAM on the Ryzen VPS.

    Bingo! No I/O wait!

    Why does the Ryzen VPS need more RAM than the E3 VPS needs?

    root@Ryzen-2-vCore-VPS:~# # Retest with RAM increase
    root@Ryzen-2-vCore-VPS:~# free -h
                   total        used        free      shared  buff/cache   available
    Mem:           7.8Gi       360Mi       2.9Gi       524Ki       4.7Gi       7.4Gi
    Swap:             0B          0B          0B
    root@Ryzen-2-vCore-VPS:~# ls -l chronos-20240904.tgz.cpt
    -rw------- 1 root root 4900030457 Sep  4 21:29 chronos-20240904.tgz.cpt
    root@Ryzen-2-vCore-VPS:~# vmstat 1 > vmstat-out 2>&1 &
    [1] 1042
    root@Ryzen-2-vCore-VPS:~# date; dd if=chronos-20240904.tgz.cpt bs=1M | /usr/bin/time -v sha256sum -c chronos-20240904.tgz.cpt.SHA256; date
    Wed Sep 11 07:41:17 PM UTC 2024
    chronos-20240904.tgz.cpt: OK
            Command being timed: "sha256sum -c chronos-20240904.tgz.cpt.SHA256"
            User time (seconds): 9.74
            System time (seconds): 0.23
            Percent of CPU this job got: 99%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 0:09.99
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 1960
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 0
            Minor (reclaiming a frame) page faults: 101
            Voluntary context switches: 2
            Involuntary context switches: 99
            Swaps: 0
            File system inputs: 8
            File system outputs: 0
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    Wed Sep 11 07:41:27 PM UTC 2024
    root@Ryzen-2-vCore-VPS:~# fg
    vmstat 1 > vmstat-out 2>&1
    ^C
    root@Ryzen-2-vCore-VPS:~# cat -n vmstat-out 
         1  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
         2   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
         3   1  0      0 3020332   1876 4974188    0    0   646     4  181  150  0  0 100  0  0
         4   1  0      0 3020332   1876 4974188    0    0     0     0  271  153  0  0 100  0  0
         5   1  0      0 3020332   1876 4974188    0    0     0     0  263  138  0  0 100  0  0
         6   1  0      0 3020332   1876 4974188    0    0     0     0  339  163  0  0 100  0  0
         7   2  0      0 3020332   1876 4974188    0    0     4     0  350  179 11  1 89  0  0
         8   2  0      0 3020332   1876 4974188    0    0     0     0  599  159 48  2 50  0  0
         9   2  0      0 3020332   1876 4974188    0    0     0     4  524  137 49  1 50  0  0
        10   2  0      0 3020332   1876 4974188    0    0     0     0  581  144 49  1 50  0  0
        11   2  0      0 3020332   1876 4974188    0    0     0     0  591  146 48  2 50  0  0
        12   2  0      0 3020332   1876 4974188    0    0     0     0  611  143 49  2 49  0  0
        13   2  0      0 3020332   1876 4974188    0    0     0     0  635  168 48  2 50  0  0
        14   2  0      0 3020332   1876 4974188    0    0     0     0  666  149 49  1 50  0  0
        15   2  0      0 3020332   1876 4974188    0    0     0     4  575  140 49  2 50  0  0
        16   2  0      0 3020332   1876 4974188    0    0     0     0  591  140 49  1 50  0  0
        17   1  0      0 3020332   1876 4974188    0    0     0     0  466 1527 38  1 62  0  0
        18   1  0      0 3020332   1876 4974188    0    0     0     0  306  147  0  0 100  0  0
        19   1  0      0 3020332   1876 4974188    0    0     0     0  263  137  0  0 100  0  0
        20   1  0      0 3020332   1876 4974188    0    0     0     0  257  170  0  0 100  0  0
        21   1  0      0 3020332   1876 4974188    0    0     0     4  323  134  0  0 100  0  0
        22   1  0      0 3020332   1876 4974188    0    0     0     0  267  118  0  0 100  0  0
        23   1  0      0 3020332   1876 4974188    0    0     0     0  276  102  0  0 100  0  0
        24  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
        25   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
        26   1  0      0 3020332   1876 4974188    0    0     0     0  342  153  0  0 100  0  0
    root@Ryzen-2-vCore-VPS:~# 
    

    I hope everyone gets the servers they want!

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    bashvm@E3-VPS:~$ date; dd if=chronos-20240904.tgz.cpt bs=1M | /usr/bin/time -v sha256sum -c 6

    This line is a weird cut and paste error. It should have been

    bashvm@E3-VPS:~$ date; dd if=chronos-20240904.tgz.cpt bs=1M | /usr/bin/time -v sha256sum -c chronos-20240904.tgz.cpt.SHA256; date

    I hope everyone gets the servers they want!

  • @Not_Oles said: Bingo! No I/O wait!

    Right, there is no I/O wait, because there is no I/O now ("bi" column in vmstat are all "0" - because it's cached now).

  • Not_OlesNot_Oles Hosting ProviderContent Writer

    @Not_Oles said: Why does the Ryzen VPS need more RAM than the E3 VPS needs?

    Possible answer: The Ryzen needs more RAM because it is using NVMe instead of the SSD that is in the E3? So it's not the single threaded sha256sum that makes the difference here? Instead it's the difference in the disk setup?

    I hope everyone gets the servers they want!

  • The time discrepancies you're seeing when running sha256sum -c between your E3 dedicated server and Ryzen 7950X VPS are puzzling, especially given that the Ryzen 7950X is a far more powerful processor and is equipped with NVMe storage. However, there are multiple factors that could explain why the E3 dedicated server is outperforming the Ryzen VPS for this specific task, despite the hardware advantages of the VPS.

    Let's break this down:

    1. Single-threaded Nature of sha256sum
      The sha256sum utility, as you're observing, is likely single-threaded, meaning it can only use one CPU core for computing the checksum at a time. This explains why even a more powerful CPU like the Ryzen 7950X may not show its full potential in this case. It's not leveraging multiple cores, so the additional power of the Ryzen CPU is not fully utilized.
      In your case, the E3 has fewer but dedicated cores with no virtualization overhead, and that may be enough to perform similarly or even better for single-threaded workloads like sha256sum.

    2. VPS Virtualization Overhead
      Even though the Ryzen VPS has powerful hardware, virtualization adds a layer of overhead. This includes managing the CPU, memory, and I/O operations. The performance of vCores in a VPS may not match the physical cores of a dedicated server, even if the VPS hardware is theoretically faster.
      The dedicated server on the E3 is running without any virtualization overhead, so it can access the hardware directly without hypervisor intervention. This direct access can make a noticeable difference in I/O-heavy operations like checksum verification.

    3. I/O Performance (SSD RAID 10 vs NVMe RAID 10)
      You mentioned that the E3 dedicated server has SSD RAID 10, while the Ryzen VPS has NVMe RAID 10. Although NVMe is generally faster than SSD, performance in a VPS can suffer due to I/O throttling, contention with other VPSs, or underlying shared infrastructure that limits the maximum throughput of the storage system.
      RAID 10 on SSDs in your dedicated E3 might be very well-optimized and not subject to any sharing. Meanwhile, the NVMe RAID 10 in the VPS could be shared across multiple tenants. Even if it's fast, contention for resources might slow down the actual I/O performance you're seeing on the VPS.
      Impact on sha256sum -c: Since this command reads through the entire file, the I/O performance will heavily affect the overall execution time. If the VPS has any bottlenecks or restrictions on its NVMe performance, this could lead to slower I/O compared to the dedicated SSD RAID 10 setup.

    4. Different Operating Systems
      The E3 is running Ubuntu 22.04.4 LTS, while the Ryzen VPS is running Debian 12.7. While both are Linux distributions, there might be differences in file system tuning, kernel versions, or I/O scheduling mechanisms that could impact how efficiently each system handles large file reads and checksumming operations.
      The Ubuntu installation on the E3 could have a more optimized I/O scheduler for this specific workload, or it might handle file caching differently than Debian on the VPS.

    5. I/O Caching and File System Differences
      The file system in use (ext4, XFS, etc.) could impact performance as well. Different file systems have varying levels of efficiency for reading large files. In addition, Linux systems often cache recently accessed files in memory, so depending on when and how the sha256sum -c was run, the E3 might have benefited from better caching of the file in memory compared to the Ryzen VPS.
      RAID configurations on the VPS may also introduce additional latency due to the abstraction layer needed to manage the RAID arrays. Even though NVMe is fast, the RAID controller (especially in virtualized environments) can sometimes add latency.

    6. Disk I/O Saturation and Contention
      On a VPS, you're often sharing resources like the disk subsystem with other virtual machines. Even if your VPS has NVMe storage, if other users on the same physical machine are performing heavy disk operations at the same time, your VPS might experience lower-than-expected I/O performance.
      This would explain why real-world performance on the VPS is lower than expected, even though benchmarks like Geekbench and fio show the Ryzen VPS is generally faster in isolated tests.

    7. real, user, and sys Time Differences
      The "real" time is the actual elapsed time from start to finish of the command.
      The "user" time refers to the amount of time the CPU spent executing user-space (application-level) code.
      The "sys" time is the amount of time the CPU spent executing system-level (kernel) operations, such as I/O operations.
      If you see a significant increase in sys time on the VPS, it could indicate that more time is being spent on I/O operations, which would make sense if the I/O system on the VPS is slower due to contention, throttling, or other factors.

    8. Graphics Processors (GPU)
      The graphics processors (iGPUs) on either system are not involved in the sha256sum operation. SHA-256 hashing is a CPU-bound operation, and the typical sha256sum utility does not leverage GPU acceleration unless specifically configured to do so (which is not common with basic file checksum verification tasks).

    9. CPU Frequency Differences
      Although the Ryzen 7950X is much newer and faster overall, the E3's CPU might have a higher base clock speed for a single core, or it might sustain its boost frequencies for longer periods under load, particularly since it's dedicated hardware. The Ryzen VPS, on the other hand, might throttle CPU frequency slightly in a virtualized environment to balance resource usage across tenants, impacting single-threaded tasks like sha256sum.

    Conclusion:
    The E3 dedicated server is outperforming the Ryzen 7950X VPS in your sha256sum -c tests due to a combination of factors:

    Single-threaded nature of sha256sum – the additional cores and raw power of the Ryzen CPU are not fully utilized.

    Virtualization overhead – the VPS introduces some overhead that affects I/O performance and CPU efficiency.

    I/O performance bottlenecks – while the VPS uses NVMe storage, it may be throttled or subject to resource contention, whereas the E3 has direct and optimized access to its SSD RAID 10 array.

    File system and kernel differences – slight differences in how the operating systems handle I/O could also contribute to the disparity.
    Your results are not unusual given these factors, and the key issue seems to be the VPS’s I/O performance and the single-threaded nature of sha256sum -c.

  • @hostmaze shut up AI!

Sign In or Register to comment.