XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Epyc VM to VM networking slow

    Scheduled Pinned Locked Moved Compute
    206 Posts 23 Posters 101.4k Views 26 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bullerwinsB Offline
      bullerwins @olivierlambert
      last edited by bullerwins

      hi @olivierlambert ! it's the nomenclature @bleader used in the report table, sorry for the misunderstanding:
      https://xcp-ng.org/forum/post/67750

      v2m 1 thread: throughput / cpu usage from xentop³
      v2m 4 threads: throughput / cpu usage from xentop³
      h2m 1 thread: througput / cpu usage from xentop³
      h2m 4 threads: througput / cpu usage from xentop³
      

      it's vm to vm and host (dom0) to vm.

      Btw I'm super happy to do any more test that could help, with different kernels, OS's, xcp ng versions... whatever you need.

      PS: vm to host resulted in unreachable host even though I could ping from vm to host just fine, I checked the iptables are blocked for the iperf port but open to ping, but I didn't want to mess with dom0.

      1 Reply Last reply Reply Quote 0
      • G Offline
        G-Ork
        last edited by

        Just for completeness. I have the same issue with older AMD 6380 Opterons. The same hardware had full speed on esxi hypervisor. Also have full speed using harvester / rancher. I'm using xcp-ng for more than two years and have that issue since day one.

        -----------------------------------------------------------
        Server listening on 5201 (test #1 - dom0 to workstation)
        -----------------------------------------------------------
        [ ID] Interval           Transfer     Bitrate
        [  5]   0.00-10.00  sec  10.8 GBytes  9.29 Gbits/sec                  receiver
        -----------------------------------------------------------
        Server listening on 5201 (test #2 - vm to workstation)
        -----------------------------------------------------------
        [ ID] Interval           Transfer     Bitrate
        [  5]   0.00-10.00  sec  3.18 GBytes  2.73 Gbits/sec                  receiver
        -----------------------------------------------------------
        Server listening on 5201 (test #3 dom0 to vm)
        -----------------------------------------------------------
        [ ID] Interval           Transfer     Bandwidth       
        [  4]   0.00-10.00  sec  2.23 GBytes  1.91 Gbits/sec                  receiver
        -----------------------------------------------------------
        Server listening on 5201 (test #4 vom to vm)
        -----------------------------------------------------------
        [ ID] Interval           Transfer     Bitrate
        [  5]   0.00-10.00  sec  1.97 GBytes  1.69 Gbits/sec                  receiver
        -----------------------------------------------------------
        
        1 Reply Last reply Reply Quote 1
        • P Offline
          probain
          last edited by

          I ran these tests now that newer updates have been released for 8.3-beta.
          Results are as below:

          • iperf-sender -> iperf-receiver: 5.06Gbit/s
          • iperf-sender -> iperf-receiver -P4: 7.53Gbit/s
          • host -> iperf-receiver: 7.83Gbit/s
          • host -> iperf-receiver -P4: 13.0Gbit/s

          Host (dom0):

          • CPU: AMD EPYC 7302P
          • Sockets: 1
          • RAM: 6.59GB (dom0) / 112GB for VMs
          • MotherBoard: H12SSL-i
          • NIC: X540-AT2 (rev 01)

          xl info -n

          host                   : xcp
          release                : 4.19.0+1
          version                : #1 SMP Mon Jun 24 17:20:04 CEST 2024
          machine                : x86_64
          nr_cpus                : 32
          max_cpu_id             : 31
          nr_nodes               : 1
          cores_per_socket       : 16
          threads_per_core       : 2
          cpu_mhz                : 2999.997
          hw_caps                : 178bf3ff:7ed8320b:2e500800:244037ff:0000000f:219c91a9:00400004:00000780
          virt_caps              : pv hvm hvm_directio pv_directio hap gnttab-v1 gnttab-v2
          total_memory           : 114549
          free_memory            : 62685
          sharing_freed_memory   : 0
          sharing_used_memory    : 0
          outstanding_claims     : 0
          free_cpus              : 0
          cpu_topology           :
          cpu:    core    socket     node
            0:       0        0        0
            1:       0        0        0
            2:       1        0        0
            3:       1        0        0
            4:       4        0        0
            5:       4        0        0
            6:       5        0        0
            7:       5        0        0
            8:       8        0        0
            9:       8        0        0
           10:       9        0        0
           11:       9        0        0
           12:      12        0        0
           13:      12        0        0
           14:      13        0        0
           15:      13        0        0
           16:      16        0        0
           17:      16        0        0
           18:      17        0        0
           19:      17        0        0
           20:      20        0        0
           21:      20        0        0
           22:      21        0        0
           23:      21        0        0
           24:      24        0        0
           25:      24        0        0
           26:      25        0        0
           27:      25        0        0
           28:      28        0        0
           29:      28        0        0
           30:      29        0        0
           31:      29        0        0
          device topology        :
          device           node
          No device topology data available
          numa_info              :
          node:    memsize    memfree    distances
             0:    115955      62685      10
          xen_major              : 4
          xen_minor              : 17
          xen_extra              : .4-3
          xen_version            : 4.17.4-3
          xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
          xen_scheduler          : credit
          xen_pagesize           : 4096
          platform_params        : virt_start=0xffff800000000000
          xen_changeset          : d530627aaa9b, pq 7587628e7d91
          xen_commandline        : dom0_mem=6752M,max:6752M watchdog ucode=scan dom0_max_vcpus=1-16 crashkernel=256M,below=4G console=vga vga=mode-0x0311
          cc_compiler            : gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1)
          cc_compile_by          : mockbuild
          cc_compile_domain      : [unknown]
          cc_compile_date        : Thu Jun 20 18:17:10 CEST 2024
          build_id               : 9497a1ec7ec99f5075421732b0ec37781ba739a9
          xend_config_format     : 4
          

          VMs - Sender and Receiver

          • Distro: Ubuntu 24.04
          • Kernel: 6.8.0-36-generic #36-Ubuntu SMP PREEMPT_DYNAMIC
          • vCPUs: 32
          • RAM: 4GB
          bullerwinsB 1 Reply Last reply Reply Quote 0
          • bullerwinsB Offline
            bullerwins @probain
            last edited by

            @probain said in Epyc VM to VM networking slow:

            I ran these tests now that newer updates have been released for 8.3-beta.
            Results are as below:

            • iperf-sender -> iperf-receiver: 5.06Gbit/s
            • iperf-sender -> iperf-receiver -P4: 7.53Gbit/s
            • host -> iperf-receiver: 7.83Gbit/s
            • host -> iperf-receiver -P4: 13.0Gbit/s

            Host (dom0):

            • CPU: AMD EPYC 7302P
            • Sockets: 1
            • RAM: 6.59GB (dom0) / 112GB for VMs
            • MotherBoard: H12SSL-i
            • NIC: X540-AT2 (rev 01)

            xl info -n

            host                   : xcp
            release                : 4.19.0+1
            version                : #1 SMP Mon Jun 24 17:20:04 CEST 2024
            machine                : x86_64
            nr_cpus                : 32
            max_cpu_id             : 31
            nr_nodes               : 1
            cores_per_socket       : 16
            threads_per_core       : 2
            cpu_mhz                : 2999.997
            hw_caps                : 178bf3ff:7ed8320b:2e500800:244037ff:0000000f:219c91a9:00400004:00000780
            virt_caps              : pv hvm hvm_directio pv_directio hap gnttab-v1 gnttab-v2
            total_memory           : 114549
            free_memory            : 62685
            sharing_freed_memory   : 0
            sharing_used_memory    : 0
            outstanding_claims     : 0
            free_cpus              : 0
            cpu_topology           :
            cpu:    core    socket     node
              0:       0        0        0
              1:       0        0        0
              2:       1        0        0
              3:       1        0        0
              4:       4        0        0
              5:       4        0        0
              6:       5        0        0
              7:       5        0        0
              8:       8        0        0
              9:       8        0        0
             10:       9        0        0
             11:       9        0        0
             12:      12        0        0
             13:      12        0        0
             14:      13        0        0
             15:      13        0        0
             16:      16        0        0
             17:      16        0        0
             18:      17        0        0
             19:      17        0        0
             20:      20        0        0
             21:      20        0        0
             22:      21        0        0
             23:      21        0        0
             24:      24        0        0
             25:      24        0        0
             26:      25        0        0
             27:      25        0        0
             28:      28        0        0
             29:      28        0        0
             30:      29        0        0
             31:      29        0        0
            device topology        :
            device           node
            No device topology data available
            numa_info              :
            node:    memsize    memfree    distances
               0:    115955      62685      10
            xen_major              : 4
            xen_minor              : 17
            xen_extra              : .4-3
            xen_version            : 4.17.4-3
            xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
            xen_scheduler          : credit
            xen_pagesize           : 4096
            platform_params        : virt_start=0xffff800000000000
            xen_changeset          : d530627aaa9b, pq 7587628e7d91
            xen_commandline        : dom0_mem=6752M,max:6752M watchdog ucode=scan dom0_max_vcpus=1-16 crashkernel=256M,below=4G console=vga vga=mode-0x0311
            cc_compiler            : gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1)
            cc_compile_by          : mockbuild
            cc_compile_domain      : [unknown]
            cc_compile_date        : Thu Jun 20 18:17:10 CEST 2024
            build_id               : 9497a1ec7ec99f5075421732b0ec37781ba739a9
            xend_config_format     : 4
            

            VMs - Sender and Receiver

            • Distro: Ubuntu 24.04
            • Kernel: 6.8.0-36-generic #36-Ubuntu SMP PREEMPT_DYNAMIC
            • vCPUs: 32
            • RAM: 4GB

            have you tested without the 8.3 updates? The results seem still low. Any improvement?

            P 1 Reply Last reply Reply Quote 0
            • P Offline
              probain @bullerwins
              last edited by

              @bullerwins Unfortunately I didn't. In hindsight I wish I did.

              J 1 Reply Last reply Reply Quote 0
              • J Offline
                JamesG @probain
                last edited by

                These latest 8.3 update speeds are still slower than a 13 year-old Xeon E3 1230.

                1 Reply Last reply Reply Quote 1
                • S Offline
                  Seneram
                  last edited by

                  I can unfortunately share that from ongoing ticket investigations in this, It is far more deeply rooted than something that a patch of going from one major kernel to another will "just fix" There are multiple leads being investigated and multiple vendors involved.

                  1 Reply Last reply Reply Quote 0
                  • olivierlambertO Offline
                    olivierlambert Vates 🪐 Co-Founder CEO
                    last edited by

                    I'd like to check something to see if it's coherent with our tests, by using 2x similar VMs (4vCPUs/4G RAM):

                    • iperf monothread speed on a "fresh" Debian 10 install (4.19 kernel)
                    • the same bench with 5.10.0 kernel from backports (add deb http://deb.debian.org/debian buster-backports main contrib non-free in your source list and then apt install linux-image-5.10, don't forget to reboot to be on that kernel)

                    Do you see a performance diff between those?

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      john.c @olivierlambert
                      last edited by

                      @olivierlambert said in Epyc VM to VM networking slow:

                      I'd like to check something to see if it's coherent with our tests, by using 2x similar VMs (4vCPUs/4G RAM):

                      • iperf monothread speed on a "fresh" Debian 10 install (4.19 kernel)
                      • the same bench with 5.10.0 kernel from backports (add deb http://deb.debian.org/debian buster-backports main contrib non-free in your source list and then apt install linux-image-5.10, don't forget to reboot to be on that kernel)

                      Do you see a performance diff between those?

                      FYI, getting a Debian 10 backports or non-backports packages are going to now be extremely difficult. The Debian Linux 10 LTS has reached EOL. Now currently in ELTS from the beginning of this month until 30/06/2029, though covering only a subset of the packages.

                      https://www.debian.org/News/2024/20240615

                      1 Reply Last reply Reply Quote 0
                      • olivierlambertO Offline
                        olivierlambert Vates 🪐 Co-Founder CEO
                        last edited by

                        I had no issue to test it quickly. The thing is for the sake of testing and try to identify a potential regression, not for production usage or whatnot.

                        1 Reply Last reply Reply Quote 0
                        • olivierlambertO Offline
                          olivierlambert Vates 🪐 Co-Founder CEO
                          last edited by olivierlambert

                          I identified a specific regression in a Debian kernel build since 5.10, we are investigating the "why" (starting from this exact build: https://snapshot.debian.org/package/linux/5.10.92-1/)

                          1 Reply Last reply Reply Quote 2
                          • P Offline
                            probain
                            last edited by

                            @olivierlambert
                            Would it be possible for you to either offer a ISO to download? Or maybe seed one? I really want to help test this. But I'm getting lost with how Debian provides their legacy images and this jig-boo (intentionally misspelled) 😞

                            olivierlambertO 1 Reply Last reply Reply Quote 0
                            • G Offline
                              G-Ork @alex821982
                              last edited by

                              May someone could graph their vm.
                              Comparing a slow vm with a full speed could bring light into darknes.

                              https://www.brendangregg.com/Articles/Linux_Kernel_Performance_Flame_Graphs.pdf

                              1 Reply Last reply Reply Quote 0
                              • olivierlambertO Offline
                                olivierlambert Vates 🪐 Co-Founder CEO @probain
                                last edited by

                                @probain Debian 10 is available in the XOA Hub.

                                P 1 Reply Last reply Reply Quote 1
                                • P Offline
                                  probain @olivierlambert
                                  last edited by probain

                                  @olivierlambert
                                  I wasn't aware. Thanks! Downloading for doing a test, right away

                                  Test done:

                                  				Run1	Run2	Run3
                                  Sender:   Debian10 kernel 4.19	4.81Gb	4.81Gb	4.83Gb
                                  Reveiver: Debian10 kernel 4.19
                                  
                                  Sender:   Debian10 kernel 5.10	5.13Gb	5.02Gb	5.12Gb
                                  Reveiver: Debian10 kernel 4.19
                                  
                                  Sender:   Debian10 kernel 5.10	4.98Gb	5.02Gb	4.97Gb
                                  Reveiver: Debian10 kernel 5.10
                                  

                                  sender runs 'iperf -c <IP-to-receiver> -t 60'

                                  Kernel 4.19 = 4.19.0-6-amd64
                                  Kernel 5.10 = 5.10.0-0.deb10.24-amd64

                                  CPU 4 cores (AMD EPYC 7302P)
                                  RAM 4GB

                                  Created from XOA-hub

                                  1 Reply Last reply Reply Quote 0
                                  • olivierlambertO Offline
                                    olivierlambert Vates 🪐 Co-Founder CEO
                                    last edited by olivierlambert

                                    Thanks @probain , now can you try iperf -s in the Dom0 and iperf -c <IP dom0> in the Debian guest?

                                    P 1 Reply Last reply Reply Quote 0
                                    • P Offline
                                      probain @olivierlambert
                                      last edited by

                                      @olivierlambert
                                      vm -> dom0 results in "no route to host": firewall?

                                      Results will be shown for dom0 -> vm. Listed by each kernel installed on vm.

                                      Just as earlier. VM is installed via XOA Hub, with 4 CPU and 4GB RAM. Host CPU running on AMD EPYC 7302P.

                                      VM kernel ver.	Run1	Run2	Run3
                                      kernel 4.19.0	8.47Gb	8.82Gb	8.43Gb
                                      kernel 5.10.0	7.12Gb	7.07Gb	7.11Gb
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • olivierlambertO Offline
                                        olivierlambert Vates 🪐 Co-Founder CEO
                                        last edited by

                                        yes disable the fw first (only in a testing lab obviously) with iptables -F

                                        P 1 Reply Last reply Reply Quote 0
                                        • P Offline
                                          probain @olivierlambert
                                          last edited by probain

                                          @olivierlambert how do I restore the iptables again afterwards? Other than reboot ofc 😋

                                          Update: Tests done

                                          vm -> dom0
                                          
                                          		Run1	Run2	Run3
                                          kernel 4.19.0	5.84Gb	5.77Gb	5.85Gb
                                          kernel 5.10.0	1.25Gb	1.26Gb	1.28
                                          

                                          Specs are just as previous post.

                                          G 1 Reply Last reply Reply Quote 0
                                          • olivierlambertO Offline
                                            olivierlambert Vates 🪐 Co-Founder CEO
                                            last edited by

                                            Thanks so at least it confirms something we are also spotting in here. We found the exact commit.

                                            L 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post