Solved

Red5 RTMP Configuration Optimization

Posted on 2010-08-17
12
3,732 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
Easy, flexible multimedia distribution & control

Coming soon!  Ideal for large-scale A/V applications, ATEN's VM3200 Modular Matrix Switch is an all-in-one solution that simplifies video wall integration. Easily customize display layouts to see what you want, how you want it in 4k.

 
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

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

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

Short answer to this question: there is no effective WiFi manager in iOS devices as seen in Windows WiFi or Macbook OSx WiFi management, but this article will try and provide some amicable solutions to better suite your needs.
ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

808 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