ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Another RDS server?

    IT Discussion
    13
    60
    2.8k
    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.
    • M
      Mario Jakovina @JaredBusch
      last edited by Mario Jakovina

      @JaredBusch said in Another RDS server?:

      @Mario-Jakovina said in Another RDS server?:

      We tested speed on our 4 vCPU VMs against Vultr 4 vCPU VM, and ours are much faster (50% if I recall correctly)

      That is a waste of a test. It means nothing.

      We tested it to compare speed to understand what speed on VM do we get for money.

      1 Reply Last reply Reply Quote 0
      • travisdh1T
        travisdh1 @Mario Jakovina
        last edited by

        @Mario-Jakovina said in Another RDS server?:

        @travisdh1 said in Another RDS server?:

        @Mario-Jakovina said in Another RDS server?:

        @JaredBusch said in Another RDS server?:

        None should have 8 because of his CPU only have 8 cores.

        Does it mean that in my case (4-core CPU) VM should use only 3 vCPU even if it is only VM on the host?

        Yes, this is correct.

        Does it mean than in 1:1 virtualisation, you always "lose" one core?

        Ah, I was thinking you had both VMs running on a single host. My bad.

        JaredBuschJ 1 Reply Last reply Reply Quote 1
        • JaredBuschJ
          JaredBusch @travisdh1
          last edited by JaredBusch

          @travisdh1 said in Another RDS server?:

          @Mario-Jakovina said in Another RDS server?:

          @travisdh1 said in Another RDS server?:

          @Mario-Jakovina said in Another RDS server?:

          @JaredBusch said in Another RDS server?:

          None should have 8 because of his CPU only have 8 cores.

          Does it mean that in my case (4-core CPU) VM should use only 3 vCPU even if it is only VM on the host?

          Yes, this is correct.

          Does it mean than in 1:1 virtualisation, you always "lose" one core?

          Ah, I was thinking you had both VMs running on a single host. My bad.

          @Mario-Jakovina is not the OP. This is a branch conversation.

          The OP is @siringo and he has two VM's with 8 vCPU, on the same host, that only has 8 cores.

          1 Reply Last reply Reply Quote 2
          • DashrenderD
            Dashrender @JaredBusch
            last edited by

            @JaredBusch said in Another RDS server?:

            @siringo said in Another RDS server?:

            @Pete-S yes, there's one other VM. It has 8vCPU's 16GB of startup RAM and uses dynamic memory.
            

            Aside from your runaway program eating memory, this is a problem. You are causing a wait state for CPU availability.

            What was drilled into me back when I moved to virtualization is that before the Hypervisor can send the job to the real hardware, enough real cores had to be available to match the number used by the VM.

            So each VM must have clock cycles for all 8 real cores available before they can process things.

            Wow - I've never heard that before - thanks!

            1 Reply Last reply Reply Quote 0
            • 1
              1337 @JaredBusch
              last edited by 1337

              @JaredBusch said in Another RDS server?:

              @siringo said in Another RDS server?:

              @Pete-S yes, there's one other VM. It has 8vCPU's 16GB of startup RAM and uses dynamic memory.
              

              Aside from your runaway program eating memory, this is a problem. You are causing a wait state for CPU availability.

              What was drilled into me back when I moved to virtualization is that before the Hypervisor can send the job to the real hardware, enough real cores had to be available to match the number used by the VM.

              So each VM must have clock cycles for all 8 real cores available before they can process things.

              Besides the lack of physical cores (versus vCPUs) causing contention, there is also the problem of 70% CPU.

              I believe that the CPU wait time, when the VM is waiting to be scheduled by the hypervisor, is not counted in the guest as CPU usage. You can only see it in the hypervisor as CPU wait time. So if the VM struggles to run, it will not show up as high CPU usage in the VM.

              So basically there are several problems. You might solve the contention problem by changing to fewer vCPUs on the VMs, but I don't think you will solve the high CPU usage problem that way. You might even make it worse.

              I think you need more cores and more RAM. RAM simply to minimize any swapping to disk when both VMs are asking for memory.

              It would be a simple thing to swap the CPU to a 16 core in the same server. A refurb CPU like E5-2683 v4 would set you back about $300. And some more memory. At least as a stop gap measure until you can invest in a proper replacement.

              1 Reply Last reply Reply Quote 0
              • siringoS
                siringo
                last edited by

                Thanks everyone for your useful suggestions.

                If I don't answer certain questions, don't take it personally, I appreciate all comments.

                So from what I can tell from what others have mentioned, I need to optimise my RAM and sort out my vCPUs (amongst other things).

                The server has 3 x 16GB sticks to get to 48GB. I've been given the go ahead for more RAM by the client.

                As an aside, situations like this can occur when suppliers don't have stock of parts and clients want solutions in place. There's a chance that all I could get my hands on was 16GB sticks? But then again I should have ordered 4 and not three, but then again maybe all I could get was 3?????????

                Anyway ..

                So to fix my unbalanced memory problem, I need to add 1 or 5 extra sticks. 1 stick at 16GB would allow me to balance the memory, but I'd like to add more than 16GB.

                I can't remember the memory 'layout' but it's usually in groups of two I think????

                So I could have 2 groups of 2 x 16GB sticks.

                This is what iLO shows me:

                b7df2f29-8ed5-48b2-90d6-ccd4a7fcf946-image.png

                As far I can tell I could add an additional 16GB by adding 4 x 4GB sticks, that would give ma an additional 32 GB of RAM in 8 slots which should even up the memory config.

                Does that sound correct?

                So onto vCPUs.

                @JaredBusch you mentioned:
                before the Hypervisor can send the job to the real hardware, enough real cores had to be available to match the number used by the VM.

                If that is the case, then this setup is a real mess.

                Over the weekend I'll alter the assignation of vCPUs to VMs.

                I think I'll reduce both VMs down to 4 and see how we get on.

                With regards to physical CPU's. Would you upgrade the current CPU to something with more cores or add a 2nd CPU?

                I think the last time I replaced / installed a CPU it may have been something like a 32032 and had to wash the white paste off my fingers. How hard is it to install CPUs these days? I'm not embarrassed to say that playing with CPUs is something I purposefully stay away from.

                Thanks for all the help.

                M 1 3 Replies Last reply Reply Quote 0
                • 1
                  1337
                  last edited by 1337

                  @siringo said in Another RDS server?:

                  I think the last time I replaced / installed a CPU it may have been something like a 32032 and had to wash the white paste off my fingers. How hard is it to install CPUs these days? I'm not embarrassed to say that playing with CPUs is something I purposefully stay away from.

                  It's actually pretty simple. You need a screw driver, some paper or tissue, some isopropyl alcohol (rubbing alcohol) to clean off the old thermal paste and some new thermal paste. It takes maybe 15 minutes all in all to replace a CPU but give yourself plenty of time. Or have a tech do it for you.

                  Watch a CPU upgrade in the video below from Dell:
                  Youtube Video

                  1 Reply Last reply Reply Quote 1
                  • M
                    Mario Jakovina @siringo
                    last edited by

                    @siringo Besides decreasing number of vCPU, I would check does your other (non-RDS) VM needs that much RAM. If you can decrease RAM for second VM, and give fixed amount of RAM to each VM, your RDS VM could significantly decrease swap usage which is probably bottleneck.

                    SSD would be nice

                    siringoS 1 Reply Last reply Reply Quote 1
                    • 1
                      1337 @siringo
                      last edited by 1337

                      @siringo said in Another RDS server?:

                      So to fix my unbalanced memory problem, I need to add 1 or 5 extra sticks. 1 stick at 16GB would allow me to balance the memory, but I'd like to add more than 16GB.
                      I can't remember the memory 'layout' but it's usually in groups of two I think????
                      So I could have 2 groups of 2 x 16GB sticks.
                      This is what iLO shows me:

                      As far I can tell I could add an additional 16GB by adding 4 x 4GB sticks, that would give ma an additional 32 GB of RAM in 8 slots which should even up the memory config.
                      Does that sound correct?

                      The "group" you are talking about is four memory sticks. That's called memory channels because the CPU can read from all four at the same time.

                      So a E5-2600 v4 series CPU has 4 memory channels and three banks of them for a total of 12 "sticks" (DIMMs) per CPU.

                      So you're right that you need 4 x 16GB sticks to get to a balanced memory config.

                      Then you need 4 more if you are going to expand the memory. It can be any size BUT if you intend to add another CPU it has to be the same size. So I suggest 4 x 16GB for the expansion.

                      1 Reply Last reply Reply Quote 0
                      • 1
                        1337 @siringo
                        last edited by 1337

                        @siringo said in Another RDS server?:

                        With regards to physical CPU's. Would you upgrade the current CPU to something with more cores or add a 2nd CPU?

                        You might have to consider the budget here.

                        But in general you get better performance with one 16 core CPU than two 8 core CPUs.

                        It's because one CPU only has access to half the RAM and some of the I/O. So when a CPU need to communicate with something that is connected to the other CPU, the data has to pass through the interconnect between the CPUs. That's a bottleneck and slows it down.

                        e5-2600v4.png

                        siringoS 1 Reply Last reply Reply Quote 3
                        • siringoS
                          siringo @Mario Jakovina
                          last edited by

                          @Mario-Jakovina Thanks Mario. I've limited the RAM allocation of this 2nd VM to no more than 16GB. I'll monitor it and see what happens. Thanks.

                          1 Reply Last reply Reply Quote 1
                          • siringoS
                            siringo @1337
                            last edited by

                            @Pete-S Thanks very much for your help Pete-S, it's greatly appreciated.

                            I think I'll go and look for a 16 core CPU to replace the current 8 core, depending on price of course.

                            Thanks once again for all your help.

                            1 Reply Last reply Reply Quote 0
                            • siringoS
                              siringo @IRJ
                              last edited by

                              @IRJ No not everyone needs it, some staff don't use it all. The ones who do need it, use it.
                              I am going to review this however, as I think there may be a better way to do some things.
                              Thanks for your help @IRJ

                              1 Reply Last reply Reply Quote 0
                              • hobbit666H
                                hobbit666
                                last edited by

                                When talking about vCPU not add to more physical cores, where do threads come into play?
                                e.g 12 core cpu (24 threads). So are we saying the VMs running should only have vcpus adding up to less than the physical 12 cores? Or can we go higher due to the 24 threads?
                                (I'll have a read of the links tomorrow in work, it's Sunday morning and I'm on my phone so don't want to read it on here 😁)

                                1 1 Reply Last reply Reply Quote 0
                                • 1
                                  1337 @hobbit666
                                  last edited by 1337

                                  @hobbit666 said in Another RDS server?:

                                  When talking about vCPU not add to more physical cores, where do threads come into play?
                                  e.g 12 core cpu (24 threads). So are we saying the VMs running should only have vcpus adding up to less than the physical 12 cores? Or can we go higher due to the 24 threads?
                                  (I'll have a read of the links tomorrow in work, it's Sunday morning and I'm on my phone so don't want to read it on here 😁)

                                  Hyperthreads are just two queues for each core. By having two queues the CPU can be a little more effective in executing because one thread can sometimes use resources the other thread is not using.

                                  The hypervisor's CPU scheduler knows this though and tries to make the best out of it. So a 4 vCPU VM will be scheduled to run on 4 different physical cores, as long as it's possible.

                                  The exact algorithm used for scheduling jobs depends on the hypervisor and some hypervisors have different schedulers to pick from as well.

                                  Regardless of that, it's still wise to make vCPU decision based on the number of physical cores per CPU and not logical cores in the system. That will cause the least amount of collisions in the system. But it always a good idea to try different options and see what the results are.

                                  1 Reply Last reply Reply Quote 1
                                  • hobbit666H
                                    hobbit666 @travisdh1
                                    last edited by

                                    @travisdh1 said in Another RDS server?:

                                    Check out
                                    https://www.hpe.com/us/en/insights/articles/10-virtualization-mistakes-everyone-makes-1808.html
                                    and
                                    https://www.sqlskills.com/blogs/jonathan/cpu-ready-time-in-vmware-and-how-to-interpret-its-real-meaning/
                                    if you want to know why.

                                    Looks good reading.
                                    Really need to do more on tweaking on our environment.

                                    1 Reply Last reply Reply Quote 0
                                    • siringoS
                                      siringo
                                      last edited by

                                      Just remembered this client has a Server sitting idle.

                                      It has a Xeon something, 24GB RAM, Server Std 2016.

                                      I'm thinking, would it be worthwhile building that as a new or 2nd RDS server??? Or moving the RDS VM onto this server?

                                      Changing the RDS server to 4 vCPUs has not made any difference except that I ave a slightly higher CPU load now.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        Mario Jakovina @siringo
                                        last edited by

                                        @siringo 1. What does your other VM (non-RDS) do, and what OS it uses?
                                        2. What app uses largest part of your CPU load on RDS VM?

                                        I would avoid having 2 RDS VMs in your case, I would rather move other VM to this "server sitting idle", and give full resources to RDS VM on main (8-core) server.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Mario Jakovina @travisdh1
                                          last edited by Mario Jakovina

                                          @travisdh1 said in Another RDS server?:

                                          @Mario-Jakovina said in Another RDS server?:

                                          @JaredBusch said in Another RDS server?:

                                          None should have 8 because of his CPU only have 8 cores.

                                          Does it mean that in my case (4-core CPU) VM should use only 3 vCPU even if it is only VM on the host?

                                          Yes, this is correct.

                                          @JaredBusch said in Another RDS server?:

                                          Basically, everything should be only 1 or 2 vCPU unless specifically noted otherwise.

                                          For DB servers and RDS servers, we use all available cores to better serve more users at the same time. Is something wrong with that?

                                          While you can assign all cores to every virtual machine, it is a horrible idea. The virtual machines will be doing next to nothing but waiting on each other to finish background processes.

                                          Check out
                                          https://www.hpe.com/us/en/insights/articles/10-virtualization-mistakes-everyone-makes-1808.html
                                          and
                                          https://www.sqlskills.com/blogs/jonathan/cpu-ready-time-in-vmware-and-how-to-interpret-its-real-meaning/
                                          if you want to know why.

                                          After reading this articles, I cannot find proof that we have problem with 1:1 virtualization, and giving all physical cores to VM.
                                          Second article is talking about serious overprovisioning (>2vCPU per pCPU) with lots of VMs on single host, and it is not our case.
                                          We have 4vCPU VM on 4-core host, and we do not have issues with CPU speed even on multi-core CPU stress tests.

                                          1 Reply Last reply Reply Quote 0
                                          • siringoS
                                            siringo
                                            last edited by

                                            Thanks everyone for the help.

                                            I've been speaking with the client and the app that is consuming excess resources will be removed as it's not a business requirement. This should solve the problem.

                                            Once again, thanks to everyone who contributed.

                                            1 Reply Last reply Reply Quote 1
                                            • 1
                                            • 2
                                            • 3
                                            • 3 / 3
                                            • First post
                                              Last post