Skip to main content
April 29, 2011
Question

FMS CPU Shows 100% after Few Thousand Subscribers

  • April 29, 2011
  • 1 reply
  • 2073 views

Hi,

I am having following configuration on server -

Dell PE2950

2x Xeon 5130 2.0GHz/4MB 1333

Memory 8 GB

HDD 250 GB

Network Port - 2Gbit

And FMIS 3.5.5

After 4000 Subscibers on server, FMS Admin Shows FMS CPU 100% and Sometime I need to restart FMS, because it unloads live application at peak moment.

I am using Live Application and site like ustream where users can register and broadcast their channels using FMLE.

I have set Bandwidth Cap 1MBPS for Client to Server and Server to Client using following function in main.asc (Copy of Sample/Live/main.asc) in live application, already removed main.far

p_client.setBandwidthLimit(125000, 125000);
this.acceptConnection(p_client);

I also did "Combie Audio Samples" mentioned in "Configure the server for live video delivery" in PDF Documentations and Restarted the server.

What else i need to to do on server side to improve FMS performance and capacity to handle more subscibers.

    This topic has been closed for replies.

    1 reply

    Nikhil_Kalyan
    Participating Frequently
    April 29, 2011

    Hi,

    Few checkpoints :

    Please look at the logs and see if there are any failures or other information that determines the live application going down.

    What is the bitrate of the stream that is published? I assume there is one stream that is published and all the subscribers are playing this. How much of the network bandwidth you are using ? As i can see you have 2 GB network, with 4000 subscribers, you can saturate the full network with a bitrate of around 300 kbps of video and associated audio  (or even less).

    Did you change any of the configurations on FMS after the installation defaults except for the combined audio samples that you mentioned ?

    Whats the memory usage ? Do you see any sudden spikes?


    Finally, with that much of a load on a single FMS box, the CPU is prone to be on the higher side (60-70%), simultaneous connections choke your incoming tcp connections. Make sure you have decent 'gap' between your connections/sec.

    Thank you !

    April 29, 2011

    HI Nikhil,

    I have multiple publishers streaming on different bitrates that they want to publish.

    And what do you mean by "Make sure you have decent 'gap' between your connections/sec."

    And how to do that

    Nikhil_Kalyan
    Participating Frequently
    April 30, 2011

    Ohk., so multiple publishers will publish their streams and multiple subscribers would probably be playing back these .

    Are all these connecting to the same application and on the same instance? If these multiple publishers/subscribers are not sharing anything between them, it is good to have them streamed on different instances of the same application instead of a single instance so that , even if one/few of the streams/instances go down due to load or some other issue, the others wont get affected.

    Similarly, in your case, you can also think of distributing the processes instead of using a single fms process to carry on all the work. You can do this setting under the configuration files in the conf folder (server.xml, adapter.xml and application.xml).

    When i said, decent gap, i mean dont throttle the server with simultaenous connections. It is good to have not more than 100 connections per sec.

    BTW. Did you see the logs?