Hi Klaus, That sounds familiar indeed; If you monitor your CPU usage, is one CPU doing 100% and the other almost 0%?
Grtz, Martin Klaus wrote: > I think I experince the same. > > I'm running a live webcam chat. It's all published lived and not recorded. > > At first everything is working fine, but after a while (hours?) , the > stream freezes. Also for a few seconds and then resumes. Even if red5 is > only taking up less than 1mbit of bandwidth. > > It also takes up more and more memory. appserver-33 ? > > After I restart red5, it works fine again for a while. So at the moment > I restart red5 when no one is online :p > > I'm running red5 0.6 rc1 on redhat enterprise 4, 2gb ram, 2 x 3.2ghz > cpu's , java1_5 > > Regard, > Klaus > > > > > Martin Schipper wrote: > >> Ey Thijs, >> >> I use the trunk version (1681) today I'll try updating, I saw the >> current Rev is 1700. >> I'm also wondering if others have experience with a heavily loaded >> Red5 on a multiprocessor machine, does it use all processors? >> >> Tnx, >> >> Martin >> >> Thijs Triemstra | Collab wrote: >> >>> Hoi Martin, >>> >>> what version of red5 are you using? There a bug with large flv's >>> which is fixed, just wondering if you're already using that version >>> or not.. >>> check http://jira.red5.org/browse/SN-2 and http://jira.red5.org/ >>> browse/APPSERVER-8 for details. >>> >>> grt, >>> >>> Thijs >>> >>> >>> Op 6-feb-2007, om 13:38 heeft Martin Schipper het volgende geschreven: >>> >>> >>> >>>> Hi peoples, >>>> >>>> I think I found a nasty issue (or I'm doing something wrong ;)). >>>> I use Red5 as a streaming video server like used on http:// >>>> www.geefme.nl/ >>>> >>>> The problem is that when serving several different and big flv files >>>> (300MB+) and having more than 20 clients (some connecting, seeking or >>>> just watching) Red5 stops responding for a couple of seconds and than >>>> resumes. >>>> >>>> First I tested on a single core, single processor P4 3.0GHz. At 15~20+ >>>> clients this event occurs frequently (freezing for a couple of >>>> seconds) >>>> and the server has a CPU usage of 100%. >>>> Than I tested on a dual core, single processor Core2duo 2GHz. At the >>>> same amount of clients the same problems occurs but the CPU usage hits >>>> 25%... >>>> 20 clients is approximate 20~25Mbps of traffic and when the >>>> application >>>> 'freezes', the traffic drops to 100Kbps and the CPU maxes out (single >>>> proc = 100% on the Core2duo system: 25%). >>>> >>>> For you're information; I run Debian Linux first with JRE 1.5 and >>>> later >>>> with JRE 1.6 (tested with both JRE's). Both machines have 4GB >>>> memory and >>>> the FLV's are served from a fileserver using NFS connected by a 1Gbps >>>> Ethernet connection. >>>> >>>> When I checked the logs I found out all IO uses the same thread. >>>> Like this: >>>> >>>> [DEBUG] 2007-02-05 23:02:40,621 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) giveMovie; found 7 >>>> [DEBUG] 2007-02-05 23:02:40,621 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) 512 -- .flv >>>> [DEBUG] 2007-02-05 23:02:40,622 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) found: 512 >>>> [DEBUG] 2007-02-05 23:02:40,622 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) 1024 -- .flv >>>> [DEBUG] 2007-02-05 23:02:40,622 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) found: 1024 >>>> [DEBUG] 2007-02-05 23:02:40,622 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) 33 -- .flv >>>> [DEBUG] 2007-02-05 23:02:40,622 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) found: 33 >>>> [DEBUG] 2007-02-05 23:02:40,622 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) 56 -- .flv >>>> [DEBUG] 2007-02-05 23:02:40,623 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) found: 56 >>>> [DEBUG] 2007-02-05 23:02:40,623 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) 256 -- .flv >>>> [DEBUG] 2007-02-05 23:02:40,623 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) found: 256 >>>> [DEBUG] 2007-02-05 23:02:40,623 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) 128 -- .flv >>>> [DEBUG] 2007-02-05 23:02:40,623 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) found: 128 >>>> [DEBUG] 2007-02-05 23:02:40,624 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) 64 -- .flv >>>> [DEBUG] 2007-02-05 23:02:40,624 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) found: 64 >>>> [DEBUG] 2007-02-05 23:02:40,760 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) Success, APPconnect from /62.45.13.69:1151 >>>> [ERROR] 2007-02-05 23:02:40,764 SocketAcceptorIoProcessor-0.0:( >>>> FLVReader.error ) Check for KeyFramesCache >>>> [DEBUG] 2007-02-05 23:02:40,808 accessCheckerThread:( >>>> accessChecker.debug ) accessChecker run >>>> [DEBUG] 2007-02-05 23:02:40,816 accessCheckerThread:( >>>> ipAccessChecker.debug ) ipAccessChecker run >>>> [DEBUG] 2007-02-05 23:02:40,992 Thread-25:( messageFetcher.debug ) >>>> Fetching message >>>> [ERROR] 2007-02-05 23:02:42,046 SocketAcceptorIoProcessor-0.0:( >>>> FLVReader.error ) Loaded KeyFramesCache for file >>>> /data/fcs/red5/_webapps/1euro50/streams/shar >>>> [DEBUG] 2007-02-05 23:02:42,047 SocketAcceptorIoProcessor-0.0:( >>>> flvPlayer.debug ) APPdisconnect. 81.68.67.83 >>>> [DEBUG] 2007-02-05 23:02:43,577 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) giveLastMessage >>>> [DEBUG] 2007-02-05 23:02:43,605 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) Success, APPconnect from /82.192.92.180:55136 >>>> [DEBUG] 2007-02-05 23:02:43,624 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) giveLastMessage >>>> [DEBUG] 2007-02-05 23:02:43,625 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) Success, APPconnect from /82.74.68.183:3902 >>>> [DEBUG] 2007-02-05 23:02:43,627 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) Success, APPconnect from /212.187.62.65:3287 >>>> [DEBUG] 2007-02-05 23:02:43,628 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) Success, APPconnect from /84.28.208.229:2588 >>>> [DEBUG] 2007-02-05 23:02:43,636 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) Success, APPconnect from /84.26.48.12:1542 >>>> [DEBUG] 2007-02-05 23:02:43,649 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) Success, APPconnect from /80.126.13.14:49991 >>>> [DEBUG] 2007-02-05 23:02:43,651 SocketAcceptorIoProcessor-0.0:( >>>> Application.debug ) giveLastMessage >>>> >>>> The first lines (flvPlayer.debug) are from my main application >>>> handler. >>>> The 'error' line (Check for KeyFramesCache) is patched by me in the >>>> Red5 >>>> FLVReader class, as far as i know, the same call serves the file. >>>> Please >>>> notice all debug calls come from the same thread >>>> "SocketAcceptorIoProcessor-0.0", even the "Application.debug" lines >>>> with >>>> "giveLastMessage" and the "APPconnect" messages, they're from a >>>> totally >>>> different application running on the same server. >>>> >>>> I think the 'freezing' problem is caused by the seek feature. Can it >>>> "hold" a thread for a while? It consumes a lot of CPU time (which is >>>> obvious though) but on a multiprocessor machine, the application >>>> runs on >>>> only 1 processor..... So all other calls/buffering-routines stall >>>> when a >>>> seek is performed, and seeking in a 300MB+ FLV file could take a >>>> while I >>>> think :) >>>> >>>> Can it also be a threading issue? >>>> I already played with the configuration files, changed the max threads >>>> variables, even tried switching from Jetty to TomCat, but it makes no >>>> difference. >>>> In debugmode I see 2 SocketAcceptor processes but in both (production >>>> and develop) environments all debug messages come from >>>> "SocketAcceptorIoProcessor-0.0"; for all active applications; for all >>>> connected clients. >>>> >>>> How can I take advantage of a multiprocessor system? >>>> Am I doing something wrong? >>>> >>>> Kind regards, >>>> >>>> Martin Schipper >>>> >>>> >>>> _______________________________________________ >>>> Red5 mailing list >>>> [email protected] >>>> http://osflash.org/mailman/listinfo/red5_osflash.org >>>> >>>> >>> _______________________________________________ >>> Red5 mailing list >>> [email protected] >>> http://osflash.org/mailman/listinfo/red5_osflash.org >>> >>> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Red5 mailing list >> [email protected] >> http://osflash.org/mailman/listinfo/red5_osflash.org >> >> > > > _______________________________________________ > Red5 mailing list > [email protected] > http://osflash.org/mailman/listinfo/red5_osflash.org > _______________________________________________ Red5 mailing list [email protected] http://osflash.org/mailman/listinfo/red5_osflash.org
