Solved

Red5 RTMP Configuration Optimization

Posted on 2010-08-17
12
3,715 Views
Last Modified: 2013-11-08
I am running Red5 RTMP server on a Linux dedicated server which has 16 CPU cores.

The same server is also running PHP and MySQL.

In the Red5 configuration, what is the maximum that I should set the following values to for optimal performance on the basis that the majority (call it 80%) of the websites load will be on the Red5 server?

rtmp.io_threads=16
rtmp.connect_threads=4
rtmp.send_buffer_size=271360
rtmp.receive_buffer_size=65536
0
Comment
Question by:numberkruncher
  • 6
  • 3
12 Comments
 
LVL 62

Expert Comment

by:gheist
ID: 33519347
I would suggest 1x-2x no. of cores for each type of jetty threads
And customizing network buffers in Linux instead of on each SW you have.
Network buffers consume RAM so they should be as small as possible (bandwidth x delay)
say you expect 256kbps stream over wimax
256kbx1s=32kB
or set it blindly to 65535 to avoid incompatibilities with broke firewalls in home routers...
0
 
LVL 62

Expert Comment

by:gheist
ID: 33519353
also if you do not upload from webcams receive buffer can be one system page - 4kB
0
 
LVL 13

Author Comment

by:numberkruncher
ID: 33519431
I am sorry but I do not understand your reply.

What is io_threads and what is connect_threads?  What are their optimal values for a 16 CPU server?
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 62

Expert Comment

by:gheist
ID: 33558407
two threads of each type on each processor.
reasonably minimal net buffers.
0
 
LVL 13

Author Comment

by:numberkruncher
ID: 33558525
Please can you fill the following in for me to illustrate what you are saying?
rtmp.io_threads=
rtmp.connect_threads=
rtmp.send_buffer_size=
rtmp.receive_buffer_size=

Open in new window

0
 
LVL 62

Accepted Solution

by:
gheist earned 500 total points
ID: 33566159
rtmp.io_threads=32
rtmp.connect_threads=32
rtmp.send_buffer_size=32768
rtmp.receive_buffer_size=4096
0
 
LVL 62

Expert Comment

by:gheist
ID: 33566161
PS send/receive buffers can be tuned globally using sysctl
0
 
LVL 13

Author Closing Comment

by:numberkruncher
ID: 33572145
Thanks, this was what I was after!
0
 
LVL 62

Expert Comment

by:gheist
ID: 33574581
You may need to increase thread counts if you encounter connection problems (check netstat -s time after time)
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

#Citrix #Citrix Netscaler #HTTP Compression #Load Balance
If you're not part of the solution, you're part of the problem.   Tips on how to secure IoT devices, even the dumbest ones, so they can't be used as part of a DDoS botnet.  Use PRTG Network Monitor as one of the building blocks, to detect unusual…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question