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

    Slow backups (updated XO source issue)

    Scheduled Pinned Locked Moved Xen Orchestra
    17 Posts 5 Posters 1.2k Views 5 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.
    • A Online
      Andrew Top contributor @julien-f
      last edited by

      @julien-f Normally (before the issue) the CR run takes about 8-9 minutes and transfers about 10-15GiB. After the config change it has been taking longer 12-15 minutes but is transferring more data 30-35GiB. I'll have to let it run a few more hours to see if the data size (and time) gets back to normal.

      I have been getting a lot of errors (xcp7 is the destination of the CR) too:

      root@xcp7 Xapi#putResource /import_raw_vdi/ Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
          at new NodeError (node:internal/errors:399:5)
          at ClientRequest.onclose (node:internal/streams/end-of-stream:154:30)
          at ClientRequest.emit (node:events:525:35)
          at ClientRequest.patchedEmit [as emit] (/opt/xo/xo-builds/xen-orchestra-202304161246/@xen-orchestra/log/configure.js:52:17)
          at TLSSocket.socketCloseListener (node:_http_client:465:9)
          at TLSSocket.emit (node:events:525:35)
          at TLSSocket.patchedEmit [as emit] (/opt/xo/xo-builds/xen-orchestra-202304161246/@xen-orchestra/log/configure.js:52:17)
          at node:net:322:12
          at TCP.done (node:_tls_wrap:588:7)
          at TCP.callbackTrampoline (node:internal/async_hooks:130:17) {
        code: 'ERR_STREAM_PREMATURE_CLOSE'
      }
      
      julien-fJ 1 Reply Last reply Reply Quote 0
      • julien-fJ Offline
        julien-f Vates πŸͺ Co-Founder XO Team @Andrew
        last edited by

        @Andrew This change should absolutely not change the transferred size, let's see how the future runs go πŸ™‚

        A 1 Reply Last reply Reply Quote 0
        • A Online
          Andrew Top contributor @julien-f
          last edited by

          @julien-f The time it takes for CR to run seems to be back to normal with the added config

          [backups.vm.defaultSettings]
          validateVhdStreams = false
          

          I have Concurrency set to 4.

          There's more than enough local ethernet bandwidth between machines and XO is running on the pool master. There's lots of cores and memory for XO. But with validateVhdStreams = true there seems to be some single threaded issues with node because it uses 90%-120% cpu.

          With validateVhdStreams = false the CPU usage is about 110%-150%, so still some single threaded issues but a lot less as node is able to use more than one core (but not all of them).

          Also... I see the warning that appeared from an earlier commit but does not cause problems:

           transfer
           Suspend VDI not available for this suspended VM
          
          julien-fJ GheppyG 3 Replies Last reply Reply Quote 0
          • julien-fJ Offline
            julien-f Vates πŸͺ Co-Founder XO Team @Andrew
            last edited by

            @Andrew The suspend VDI warning is a bug introduced by https://github.com/vatesfr/xen-orchestra/pull/6774

            It has no consequences except from this message, I'll fix it ASAP πŸ™‚

            julien-f opened this pull request in vatesfr/xen-orchestra

            closed fix(backups): restore VM with memory as suspended #6774

            1 Reply Last reply Reply Quote 0
            • GheppyG Offline
              Gheppy @Andrew
              last edited by Gheppy

              I had the same problem. I have a CR that until applying the setting took up to 5 days (I interrupted the backup to see where the problem is) to make a backup, now with the setting it takes 12 hours.
              But the stability of the transfer is better by at least 15% compared to commit afadc8f95adf741611d1f298dfe77cbf1f895231.

              @Andrew said in Slow backups (updated XO source issue):

              @julien-f The time it takes for CR to run seems to be back to normal with the added config

              [backups.vm.defaultSettings]
              validateVhdStreams = false
              

              I have Concurrency set to 4.

              There's more than enough local ethernet bandwidth between machines and XO is running on the pool master. There's lots of cores and memory for XO. But with validateVhdStreams = true there seems to be some single threaded issues with node because it uses 90%-120% cpu.

              With validateVhdStreams = false the CPU usage is about 110%-150%, so still some single threaded issues but a lot less as node is able to use more than one core (but not all of them).

              Also... I see the warning that appeared from an earlier commit but does not cause problems:

               transfer
               Suspend VDI not available for this suspended VM
              
              1 Reply Last reply Reply Quote 0
              • florentF florent referenced this topic on
              • julien-fJ Offline
                julien-f Vates πŸͺ Co-Founder XO Team @Andrew
                last edited by

                @Andrew https://github.com/vatesfr/xen-orchestra/commit/136718df7e28d63f340c700564e5c1a90d1bf05e

                Regarding the perf issue, I will work on it as soon as I'm able to reproduce on my side πŸ™‚

                If the impact is too big, we'll disable it by default…

                0 julien-f committed to vatesfr/xen-orchestra
                fix(backups/importDeltaVm): handle `suspend_VDI === 'OpaqueRef:NULL'`
                
                Fixes https://xcp-ng.org/forum/post/61169
                
                Introduced by 4d55c5ae4
                1 Reply Last reply Reply Quote 0
                • GheppyG Offline
                  Gheppy
                  last edited by Gheppy

                  From what I've seen:

                  • when nothing is set, XOCE makes the transfer using a single vCPU to the maximum and the rest up to 5% max . The maximum transfer being up to 23Mb/s
                  • when the setting exists, XOCE uses all 12 vCPUs between 30% and 45%. The transfer is between 145Mb/s and 350Mb/s.

                  In both cases, the transfer is done on a 10Gib LAN and I use http mod for connecting to Servers

                  1 Reply Last reply Reply Quote 0
                  • olivierlambertO Online
                    olivierlambert Vates πŸͺ Co-Founder CEO
                    last edited by olivierlambert

                    Hmm this points to a concurrency issue with the backup workers πŸ€”

                    1 Reply Last reply Reply Quote 0
                    • GheppyG Offline
                      Gheppy
                      last edited by

                      This is on testing environment.
                      Version of XOCE
                      Capture.PNG

                      Transfer without setting
                      Capture1.PNG

                      Transfer with setting
                      Capture2.PNG

                      1 Reply Last reply Reply Quote 0
                      • olivierlambertO Online
                        olivierlambert Vates πŸͺ Co-Founder CEO
                        last edited by

                        That's indeed very different. Out of curiosity, what's the CPU model?

                        1 Reply Last reply Reply Quote 0
                        • GheppyG Offline
                          Gheppy
                          last edited by

                          Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz

                          1 Reply Last reply Reply Quote 0
                          • S Offline
                            sluflyer06
                            last edited by

                            b0abb23d-1984-490b-bb9e-2bde661a75fe-image.png

                            I too noticed by backup times went sky high recently. I just made the suggested switch in the config and that is the difference between before/after. My box has 2x E5-2697a v4 processors.

                            julien-fJ 1 Reply Last reply Reply Quote 0
                            • julien-fJ Offline
                              julien-f Vates πŸͺ Co-Founder XO Team @sluflyer06
                              last edited by

                              I've disabled the VHD stream validation by default for now: https://github.com/vatesfr/xen-orchestra/commit/0444cf0b3bc6902fc1a995da5cf29474b7f4f167

                              We'll re-enable it when we'll find a better solution.

                              Thank you all for your reports πŸ™‚

                              0 julien-f committed to vatesfr/xen-orchestra
                              fix(backups): disable VHD stream validation by default
                              
                              Introduced by 68b2c287e
                              
                              Fixes https://xcp-ng.org/forum/post/61118
                              
                              Current code is too heavy on the main thread, disable by default until a better solution is fixed.
                              A 1 Reply Last reply Reply Quote 0
                              • A Online
                                Andrew Top contributor @julien-f
                                last edited by

                                @julien-f Thanks. I updated to 0444cf0 and CR times are normal again (as expected).

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