How are you provisioning your vCPUs for unRAID?


Recommended Posts

This question really is targeting those who are heavy Media Server users, more specifically those whose servers do a LOT of transcoding.  I'm trying to determine how to provision my vCPUs on my ESXi box with regard to my unRAID VM so that I get the best possible performance of that server while not affecting my other VMs.  My CPU has 16 vCPU cores available (Xeon D-1540) and my unRAID server (mainly Plex) get hammered as I do a ton of transcoding (sometimes 6-10 at a time).

 

How are some of you provisioning (or over-provisioning) your vCPUs with regard to unRAID and how has it affected your other VMs?

 

P.S.  I don't have any high need VM's.  I have 1 that acts as my home DC and two other Windows client VMs.  All 3 are very lightly taxed.

Link to comment

I assigned all my cores to all my VMs and had no problem when I was ESXi.  If you are not getting the performance you need you can start tweeting what VMs have what cores.

 

I wouldn't say I'm not getting the performance I need, I just want to maximize what I can out of my CPU for Plex transcoding purposes.  When you say you assigned all your cores to all of your VMs, do you mean you just assigned all available vCPUs leaving none left or you overprovisioned each VM?

Link to comment

I have 8 cores available on my CPU and I assigned all 8 on my 3 VMs that I had on my ESXi server.  Now I didn't do anything cpu intensive on my server so I didn't worry about getting the best performance out of it.  I would assign all cores to the VM that has plex on it to maximize the CPU power to plex. Then on your other VMs assign the minimum cores you need for it to run.  For example 8 cores to plex the core 0 to VM1, core 1 to VM2, core 2 to VM3 and so on.  This way you have max processing power to plex with minimum overlap.

 

I am currently on kvm and was able to condense my VMs down to one windows VM instead of unraid, windows, and my cyberpower ups VM.  Unraid now works natively with my ups so I don't need that VM anymore.

Link to comment

I am wondering why you are running Plex on your unRAID VM, personally I went to ESXi (because I work with it everyday) to allow me to split my workloads into silos and yes I know this works with Dockers too.  ;)

 

I would look at moving your Plex to an Ubuntu Server, I am running mine with 2 vCPU and only 4 GB of RAM and I am able to transcode 4 streams inside my house and 3 outside without anyone noticing. This includes using Vizio TVs, Chromecast, Android Phone/Tablet, Roku and a Nexus player.

 

What sgibbers17 is talking about is over subscription, with virtualization being a bit more fluid on resource use, you can say hey unRAID server you can use any and all of the vCPUs while your other VMs you say you can use one, you can use one and on the whole you have given out 10 vCPUs and only have 8 available on the proc itself. I would be careful about this because you could run into contention (not knowing what your other workloads are).

 

If you are interested in a good guide for setting Plex up on Ubuntu server, let me know.

Link to comment

I am wondering why you are running Plex on your unRAID VM, personally I went to ESXi (because I work with it everyday) to allow me to split my workloads into silos and yes I know this works with Dockers too.  ;)

 

I would look at moving your Plex to an Ubuntu Server, I am running mine with 2 vCPU and only 4 GB of RAM and I am able to transcode 4 streams inside my house and 3 outside without anyone noticing. This includes using Vizio TVs, Chromecast, Android Phone/Tablet, Roku and a Nexus player.

 

What sgibbers17 is talking about is over subscription, with virtualization being a bit more fluid on resource use, you can say hey unRAID server you can use any and all of the vCPUs while your other VMs you say you can use one, you can use one and on the whole you have given out 10 vCPUs and only have 8 available on the proc itself. I would be careful about this because you could run into contention (not knowing what your other workloads are).

 

If you are interested in a good guide for setting Plex up on Ubuntu server, let me know.

 

I used to run Plex inside of a separate VM but when unRAID moved to Dockers in version 6 and to me it's just so much easier to manage via dockers than running it on top of an OS.

 

I'm don't quite understand why I'd see any benefit in terms of performance running Plex in a separate VM instead of inside of my unRAID VM.  It's still Plex using my CPU either way.

Link to comment
  • 2 months later...

There is a term called over provisioning and it occurs when too many resources are assigned to a virtual machine and it does actually degrade performance. So for example if you assign too many virtual cores or too much memory to a virtual machine you can actually end up making it worse than better. I read an article once by vmware where they stated that for every physical core in a cpu that it translated to four virtual cores, so if you have a quad core cpu, you have 16 virtual cpu's to use with virtual machines. I seldom ever assign more then two cores to a VM unless I see a high demand for CPU resources after the two cores have been assigned. As for RAM, depending on what the vm is doing I usually assign 4GB if its a workstation or server, 8GB if its doing something like running a major application (Microsoft Exchange, or SQL) and seldom more then that unless its s terminal server. This is in the context of VMWare's Esxi I don't have enough experience with KVM at the moment to commend on how it manages shared resources with virtual machines, but the premise of over provisioning should be the same.

Link to comment
  • 3 months later...

Got a question related to this (and apologies for the thread resurrection).

 

I'm looking to use unraid in a very similar scenario - Plex serving (with associated webapp services, PlexPy, PlexRequests, Sonarr and such), and a gaming VM.

 

Drive configuration I think I've got a handle on - will be using a PCIE SSD outside of the array/cache pool for the VM.

 

I'm looking to use a dual E5-2670 v3 set up, for 2 physical CPUs, 24 cores, 48 threads.  Ideally, I would be using Plex through a docker, and transcode wise I can be doing anywhere up to 8 concurrent streams.

 

Ideally what I'd like to configure CPU wise is Plex taking priority but the gaming VM able to utilise the maximum number of cores available when Plex isn't hammering them.

 

I understand application pinning and CPU provisioning to some extent, but that doesn't seem to achieve what I'm after - splitting the resources rather than making everything available to both VM and unraid itself?

 

Edit:  And apologies as this thread isn't entirely relevent to the question, I didn't see that this was about unraid as a VM itself.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.