Jump to content

Stream performance when multiple users stream


Soki

Recommended Posts

Hey there,

 

I was just wondering if you guys can suggest any settings, tweaks, hacks, plugins, etc. for pushing the overall streaming performance when multiple users stream media.

 

When I start a 1080p mkv movie ( in this case with dts) which triggers transcoding at 10 mbps the movie runs like it should... but as soon as another user starts streaming a movie like this, it sadly turns into a wallpaper-picture-show. While the overall performance of my server should be more then enough (100+mbit bandwidth, 2 cores, 32gb ram) there seems to be a pretty tight performance bottleneck somewhere and I hope you guys can help me fix that.

 

My goal is to be able to stream for up to 5 users (from different sources like browser, fire stick, apple tv, and so on) at the same time without any lags.

 

what do I need to know and understand here?

how to manage this?

how/what to tweak?

what topics should I look deeper into?

 

Any input on this topic is greatly appreceated for I am new to this software.

Thanks in advance

 

Soki

Link to comment
Share on other sites

2 cores is not a lot these days.  What is your processor?

 

 Intel® Xeon® CPU E5-1650 v2 @ 3.50GHz .... BUT.... on a Proxmox Virtualisation System where the EMBY CT has 2 cores at this point. I guess theres room for more but still, 2 cores should be more then enough. My old Subsonic System can easily transcode and play for 5+ users without any lags at all.

Link to comment
Share on other sites

Can you please provide a specific example with the information and logs described here.  Thanks.

 

I will gladly provide once I can access the server again for I am not at home at the moment.

Thanks in advance

Soki

Link to comment
Share on other sites

Guest plexman

 Intel® Xeon® CPU E5-1650 v2 @ 3.50GHz .... BUT.... on a Proxmox Virtualisation System where the EMBY CT has 2 cores at this point. I guess theres room for more but still, 2 cores should be more then enough. My old Subsonic System can easily transcode and play for 5+ users without any lags at all.

 

I'll suggest you a dedicated machine with a newer Intel Skylake CPU for VAAPI transcoding. But the processor you mention I don't think is enough for today's power demand.

Link to comment
Share on other sites

Jdiesel

Is that 2 physical cores or 2 logical cores? Either way that CPU should be able to handle 2 1080p streams I would think. You can try changing the transcoding preset from auto, which I think in most cases defaults to faster, to very fast to test if it makes an improvement.

Link to comment
Share on other sites

mastrmind11

that CPU is a beast.  If it were a dedicated machine, you should have no problems w/ 10 streams, let alone 2.  

Link to comment
Share on other sites

tymanthius

I'm also running on proxmox, but w/ skylake, and my emby container has 4 cores, but less memory (8 or 16GB, can't remember right now)  I know I've seen at least 4 people streaming at once, one remote, the rest inside my network and everything was fine. Was a mixture of sd & 1080p.

 

CPU~Quad core Intel Core i5-6600K (-MCP-) clocked at Min:3602.402Mhz Max:3616.210Mhz

Link to comment
Share on other sites

gstuartj

But the processor you mention I don't think is enough for today's power demand.

His CPU should outperform the i5 you've listed in your sig for this purpose. I don't think it's a horsepower issue.

 

@@Soki, I'm also using Proxmox running on a pair of significantly older Xeons and have no trouble with 4 or 5 concurrent HD streams. I suggest giving the VM more CPU cores (& therefore threads), if you can afford to. Remember that you can overprovision CPU cores as long as your other VMs aren't constantly pegging the CPU. Your hypervisor will figure out the CPU scheduling. If you're like me you probably have several guests that are mostly idling much of the time.

 

Also keep in mind that your hypervisor considers cores to have one thread, so since you have 12 threads (6 cores x 2 threads) you can give each VM up to 12 "cores" for effective multithreading.

Edited by gstuartj
  • Like 1
Link to comment
Share on other sites

Hey guys,

 

first of all, thanks for your tipps and suggestions. I have managed to boost the performance significantly now... *happy*

 

1.

I just - as gstuartj mentioned above - gave my proxmox emby ct more cpu cores to handle and a litle bit more ram. Running on up to 12 cores/threads and 48gb ram now. Hopefully that wount affect the other vm's too much but up to this point its all running just fine. *fingers crossed*.

 

2. I edited the settings under "H264 encoding CRF" from 23 to 19. (Found this tip in antoher post in here).

 

3.

I made a litle change to the "qualityoptions.js" file. Now users do not get any option to raise the mbps themselfes as I limited the settings to a maximum of 10mbps for any HD stream. (Which i guess is more then enough for up to 1080p). As I mentioned in my first post in this forum, there needs to be a way to globaly force a maximum mbps limit...  this litle workaround should do the trick. Message me if you'd like to get a copy of this file for your Emby server. https://emby.media/community/index.php?/topic/45923-limiting-mbps-globaly-forcing-maximum-10-mbps-globaly/

 

 

... With this first steps the performance skyrocketed. Before I wasnt able to stream 2x 1080p DTS mkv's at once... now I was able to stream this file for at least 8x (couldnt test out more yet) at once without any problems at all. Will update this post when I changed and tested more.

 

 

Do you guys have any other ideas how to boost the overall performance?

 

Thanks & have a nice day you all

Soki

Edited by Soki
Link to comment
Share on other sites

Guest plexman

His CPU should outperform the i5 you've listed in your sig for this purpose. I don't think it's a horsepower issue.

 

@@Soki, I'm also using Proxmox running on a pair of significantly older Xeons and have no trouble with 4 or 5 concurrent HD streams. I suggest giving the VM more CPU cores (& therefore threads), if you can afford to. Remember that you can overprovision CPU cores as long as your other VMs aren't constantly pegging the CPU. Your hypervisor will figure out the CPU scheduling. If you're like me you probably have several guests that are mostly idling much of the time.

 

Also keep in mind that your hypervisor considers cores to have one thread, so since you have 12 threads (6 cores x 2 threads) you can give each VM up to 12 "cores" for effective multithreading.

Yep you are right, the cpu is better. Although the i5 has slightly better performance in single thread. The good thing for transcoding is the hardware acceleration. But the xeon is definitely better.

Link to comment
Share on other sites

mastrmind11

Hey guys,

 

first of all, thanks for your tipps and suggestions. I have managed to boost the performance significantly now... *happy*

 

1.

I just - as gstuartj mentioned above - gave my proxmox emby ct more cpu cores to handle and a litle bit more ram. Running on up to 12 cores/threads and 48gb ram now. Hopefully that wount affect the other vm's too much but up to this point its all running just fine. *fingers crossed*.

 

2. I edited the settings under "H264 encoding CRF" from 23 to 19. (Found this tip in antoher post in here).

 

3.

I made a litle change to the "qualityoptions.js" file. Now users do not get any option to raise the mbps themselfes as I limited the settings to a maximum of 10mbps for any HD stream. (Which i guess is more then enough for up to 1080p). As I mentioned in my first post in this forum, there needs to be a way to globaly force a maximum mbps limit...  this litle workaround should do the trick. Message me if you'd like to get a copy of this file for your Emby server. https://emby.media/community/index.php?/topic/45923-limiting-mbps-globaly-forcing-maximum-10-mbps-globaly/

 

 

... With this first steps the performance skyrocketed. Before I wasnt able to stream 2x 1080p DTS mkv's at once... now I was able to stream this file for at least 8x (couldnt test out more yet) at once without any problems at all. Will update this post when I changed and tested more.

 

 

Do you guys have any other ideas how to boost the overall performance?

 

Thanks & have a nice day you all

Soki

Nice work.  You don't need to allocate that much RAM.  I've never seen my server consume more than 5GB w/ multiple streams going.

Link to comment
Share on other sites

I made a litle change to the "qualityoptions.js" file. Now users do not get any option to raise the mbps themselfes as I limited the settings to a maximum of 10mbps for any HD stream. (Which i guess is more then enough for up to 1080p). As I mentioned in my first post in this forum, there needs to be a way to globaly force a maximum mbps limit...  this litle workaround should do the trick. Message me if you'd like to get a copy of this file for your Emby server. https://emby.media/community/index.php?/topic/45923-limiting-mbps-globaly-forcing-maximum-10-mbps-globaly/

 

This shouldn't be necessary.  If you have limited the bandwidth with the server option, then, even if a user chooses a higher setting, they will be restricted by the setting on the server.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...