I believe the higher CPU usage is caused by this line

CachedEvent item = queue.poll(100, TimeUnit.MICROSECONDS);
I'm going to change it
CachedEvent item = queue.poll(100, TimeUnit.MILLISECONDS);
and test


On Tue, Mar 18, 2014 at 4:39 AM, seba.wag...@gmail.com <
seba.wag...@gmail.com> wrote:

> One test that I would like to perform would be to use a pure red5 server
> instance and use one of the sample applications and simply stream a Video
> stream to it using the ScreenSharing Codec (for instance by simply pointing
> our Screensharing app to send to this webapp).
> I would guess it still hits the 100% CPU idle on the red5 process.
> That would proof that it has really nothing todo with the code that what we
> do inside of OpenMeetings.
> And we have an reproducible simple use-case.
> We could use that to go to the red5 list and to also investigate further
> which red5 version are suitable for us.
>
> Sebastian
>
>
> 2014-03-18 10:24 GMT+13:00 seba.wag...@gmail.com <seba.wag...@gmail.com>:
>
> > "I can confirm higher server CPU usage on recording, will try to find the
> > reason."
> > Glad you could reproduce it. I have not seen this behavior in past red5
> > versions. I think the reason is somewhere inside of the Red5 API in the
> way
> > it processes the video packets. Cause even if you comment out the
> > ScreenListeners to attach to the stream, the red5 process does still hit
> > the CPU.
> >
> > When switching to the latest Red5 release I could see that the CPU impact
> > was not so big anymore. However there was still one.
> >
> > "[INFO] [NioProcessor-4] org.red5.server.stream.codec.ScreenVideo -
> > Allocating memory for 748 compressed blocks.
> > I believe this is caused by creating CachedEvent and copy byte buffers"
> >  I don't think so. Even when I had the StreamListeners commented out and
> > the CachedEvent is never used, I think I could see this event in the log.
> > It is an internal Red5 element. And somehow I think it has something todo
> > how red5 internally processes the video stream when it is incoming to
> make
> > it available as a stream where somebody can subscribe to.
> > However to be investigated.
> >
> > Sebastian
> >
> >
> >
> > 2014-03-17 16:43 GMT+13:00 Maxim Solodovnik <solomax...@gmail.com>:
> >
> > I can confirm higher server CPU usage on recording, will try to find the
> >> reason.
> >>
> >>
> >> On Mon, Mar 17, 2014 at 8:54 AM, Maxim Solodovnik <solomax...@gmail.com
> >> >wrote:
> >>
> >> > They have moved to git less than a month ago :)
> >> > I was going to update our build to use EGit but had no time for this
> :((
> >> > I'll check the EGit (or will ask it's developers) if it can
> clone/update
> >> > to the specific git revision.
> >> >
> >> > Tags will work as long as we will stay on the release :) Additionally
> we
> >> > can fork their repo and stay on the revision we need, but I would
> avoid
> >> > this if possible.
> >> >
> >> >
> >> > On Mon, Mar 17, 2014 at 4:31 AM, seba.wag...@gmail.com <
> >> > seba.wag...@gmail.com> wrote:
> >> >
> >> >> What concerns me most is currently the red5 server process cpu while
> >> >> recording.
> >> >> "5) red5 version was more or less up to date in the trunk (4756),"
> >> >> Trunk is doing a Git checkout, so our old system using red5 revision
> >> >> numbers is not applicable anymore.
> >> >> I think the build.xml should be changed so that it does not checkout
> >> HEAD
> >> >> of https://github.com/Red5/red5-server.git, instead it should
> >> checkout a
> >> >> tag. I will ask the red5-devs to create a tag. I wonder why they did
> >> not
> >> >> do
> >> >> that in case they do a release or major milestone.
> >> >>
> >> >> Sebastian
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> 2014-03-17 0:16 GMT+13:00 Maxim Solodovnik <solomax...@gmail.com>:
> >> >>
> >> >> > Detailed answers:
> >> >> >
> >> >> > 1) there is now a FPS per second changer. How does that incorporate
> >> with
> >> >> > the recordings produced?
> >> >> > Video frames are now being captured using constant delay timer task
> >> >> (with
> >> >> > the FPS based delay)
> >> >> > If none frames are ready to be sent, "no_change" frame is sended
> >> >> >
> >> >> > 2)  Is the audio and the video in sync no matter what FPS I choose?
> >> >> > I believe so, Vasiliy has tested it and found no issues (if I'm not
> >> >> > mistaken), additional testing might be required
> >> >> >
> >> >> > 3) Did anybody monitor the red5 server process CPU while doing a
> >> >> > screen-sharing
> >> >> > recording?
> >> >> > No, we can perform such testing
> >> >> >
> >> >> > 4)  CPU usage jumps to 100% whenever I start recording.
> >> >> > I can also see lots of statements similar to this in the log
> output:
> >> >> > [INFO] [NioProcessor-4] org.red5.server.stream.codec.ScreenVideo -
> >> >> > Allocating memory for 748 compressed blocks.
> >> >> > I believe this is caused by creating CachedEvent and copy byte
> >> buffers
> >> >> >
> >> >> > 5) red5 version was more or less up to date in the trunk (4756),
> >> >> currently
> >> >> > trunk is updated to the latest git version (need to be additionaly
> >> >> > tested/fixed)
> >> >> >    a) client and server versions should be fixed (or we will have
> >> build
> >> >> > broken or unstable one day)
> >> >> >    b) screen sharing is broken (need to be investigated/fixed)
> >> >> >    c) up to r4756 red5 server was unstable while video is published
> >> this
> >> >> > should be tested more carefully
> >> >> >
> >> >> > 6) I think there is also a need to do it because partially some
> >> >> ressources
> >> >> > are no more available in the SVN repository
> >> >> > We have all necessary resources in our repocitory (just in case)
> >> >> >
> >> >> > 7) We could also consider downloading red5 server/client from
> Jenkins
> >> >> > I don't think it is good idea since we don't need HEAD version all
> >> the
> >> >> time
> >> >> > I'm trying to rewrite our build to be maven based (not very
> >> successful
> >> >> so
> >> >> > far) so I guess things will change a lot if this step will be
> >> >> implemented.
> >> >> > Until then I would leave the build as it is now
> >> >> >
> >> >> > 8) My red5 CPU load is also fine as long as I don't record
> something.
> >> >> > I'll try to double check on my machines
> >> >> >
> >> >> >
> >> >> >
> >> >> > On Sun, Mar 16, 2014 at 5:06 PM, seba.wag...@gmail.com <
> >> >> > seba.wag...@gmail.com> wrote:
> >> >> >
> >> >> > > My red5 CPU load is also fine as long as I don't record
> something.
> >> >> > >
> >> >> > > Thanks,
> >> >> > > Sebastian
> >> >> > > On 16 Mar 2014 19:38, "Maxim Solodovnik" <solomax...@gmail.com>
> >> >> wrote:
> >> >> > >
> >> >> > > > trunk is building red5 using maven already
> >> >> > > > I'll review the code and merge compilation from the trunk.
> >> >> > > >
> >> >> > > > red5 was not updated in 3.0.x branch since video calls were
> >> broken
> >> >> > (still
> >> >> > > > broken in trunk, will check the release)
> >> >> > > >
> >> >> > > > I have not monitored server CPU, but it seems to be ~1% on my
> >> >> machine
> >> >> > > >
> >> >> > > > Will double check and provide detailed answers to all of your
> >> >> questions
> >> >> > > > later today :)
> >> >> > > >
> >> >> > > >
> >> >> > > > On Sun, Mar 16, 2014 at 12:53 PM, seba.wag...@gmail.com <
> >> >> > > > seba.wag...@gmail.com> wrote:
> >> >> > > >
> >> >> > > > > Btw: We could also consider downloading red5 server/client
> from
> >> >> > > Jenkins:
> >> >> > > > >
> >> >> > > > >
> >> >> > > >
> >> >> > >
> >> >> >
> >> >>
> >>
> https://builds.apache.org/view/M-R/view/OpenMeetings/job/Red5-server/lastSuccessfulBuild/artifact/target/red5-server-1.0.2-M1-server.zip
> >> >> > > > >
> >> >> > > > > Although integrating Git and Maven build into ANT is also
> >> >> possible.
> >> >> > > > >
> >> >> > > > > What is the preference ?
> >> >> > > > >
> >> >> > > > > Sebastian
> >> >> > > > >
> >> >> > > > >
> >> >> > > > > 2014-03-16 18:51 GMT+13:00 seba.wag...@gmail.com <
> >> >> > > seba.wag...@gmail.com
> >> >> > > > >:
> >> >> > > > >
> >> >> > > > > >  http://svn.apache.org/r1577984 does fix to do a Git
> >> checkout
> >> >> > using
> >> >> > > > the
> >> >> > > > > > latest code from their repository and for the client and
> >> server.
> >> >> > > > > > The folder structure is slightly different, needs some
> >> further
> >> >> > > > > adjustments.
> >> >> > > > > > Also I think some of the patches (Tomcat7 patch) is no more
> >> >> > required
> >> >> > > as
> >> >> > > > > > the latest red5 is already using Tomcat 7.
> >> >> > > > > >
> >> >> > > > > > I have created a ticket to capture the progress:
> >> >> > > > > > https://issues.apache.org/jira/browse/OPENMEETINGS-950
> >> >> > > > > > It will require some more work and review before this piece
> >> of
> >> >> work
> >> >> > > is
> >> >> > > > > > ready to be merged back to any of the other branches.
> >> >> > > > > >
> >> >> > > > > > However I think it might be useful for our CPU issues and
> >> moving
> >> >> > > > forward.
> >> >> > > > > > Getting rid of the Tomcat7 patches and SVN-kit checkout
> stuff
> >> >> seems
> >> >> > > to
> >> >> > > > > make
> >> >> > > > > > our life also a little bit easier.
> >> >> > > > > >
> >> >> > > > > > Sebastian
> >> >> > > > > >
> >> >> > > > > >
> >> >> > > > > > 2014-03-16 17:19 GMT+13:00 seba.wag...@gmail.com <
> >> >> > > > seba.wag...@gmail.com
> >> >> > > > > >:
> >> >> > > > > >
> >> >> > > > > > I think there is also a need to do it because partially
> some
> >> >> > > ressources
> >> >> > > > > >> are no more available in the SVN repository:
> >> >> > > > > >> http://red5.googlecode.com/svn/java/client/readme.txt
> >> >> > > > > >>
> >> >> > > > > >>
> >> >> > > > > >> 2014-03-16 15:25 GMT+13:00 seba.wag...@gmail.com <
> >> >> > > > seba.wag...@gmail.com
> >> >> > > > > >:
> >> >> > > > > >>
> >> >> > > > > >> I also tried updating to the latest release of Red5 (1.0.2
> >> >> seems
> >> >> > to
> >> >> > > be
> >> >> > > > > >>> just released).
> >> >> > > > > >>> I was more or less successful.
> >> >> > > > > >>>
> >> >> > > > > >>> When using red5 in its latest version the CPU usage when
> >> >> doing a
> >> >> > > > screen
> >> >> > > > > >>> sharing of the red5 server side process is a lot less.
> >> >> > > > > >>>
> >> >> > > > > >>> I can see that there are a couple of issues updating to
> the
> >> >> > latest
> >> >> > > > red5
> >> >> > > > > >>> versions. However letting them too much out of sync was
> >> always
> >> >> > > > > difficult in
> >> >> > > > > >>> the past as there are regularly changes that you need to
> >> >> > duplicate
> >> >> > > in
> >> >> > > > > the
> >> >> > > > > >>> OpenMeetings API/Configuration files et cetera. And of
> >> course
> >> >> > > > > regression
> >> >> > > > > >>> testing is a pain.
> >> >> > > > > >>> However we rely on the improvements of the red5 server
> API.
> >> >> > > > > >>>
> >> >> > > > > >>> What is the current status of the red5 version? Our
> version
> >> >> r4393
> >> >> > > is
> >> >> > > > > >>> from 07/2012 (
> >> >> > https://code.google.com/p/red5/source/detail?r=4393)
> >> >> > > > :)
> >> >> > > > > >>> We should make a move I think. There seems to be maybe a
> >> good
> >> >> > point
> >> >> > > > now
> >> >> > > > > >>> when there is a new stable release to review a migration
> to
> >> >> the
> >> >> > > > latest
> >> >> > > > > >>> version.
> >> >> > > > > >>>
> >> >> > > > > >>> What do you think?
> >> >> > > > > >>> What are the current show stoppers from upgrading to the
> >> >> latest
> >> >> > > red5
> >> >> > > > > >>> version?
> >> >> > > > > >>> I can see a couple of issues when upgrading, but it seems
> >> >> there
> >> >> > is
> >> >> > > no
> >> >> > > > > >>> major incompatibility between OpenMeetings and later Red5
> >> >> > versions.
> >> >> > > > > Spring
> >> >> > > > > >>> is now 4.0 in red5. And some minor changes in the
> >> >> red5-web.xml.
> >> >> > > > > >>> And it seems like the .upload servlet is not correctly
> >> >> > initialized.
> >> >> > > > > >>> I can share my upgraded OpenMeetings instance if anybody
> is
> >> >> > > > interested.
> >> >> > > > > >>>
> >> >> > > > > >>> Sebastian
> >> >> > > > > >>>
> >> >> > > > > >>>
> >> >> > > > > >>>
> >> >> > > > > >>>
> >> >> > > > > >>>
> >> >> > > > > >>> 2014-03-16 14:28 GMT+13:00 seba.wag...@gmail.com <
> >> >> > > > > seba.wag...@gmail.com>
> >> >> > > > > >>> :
> >> >> > > > > >>>
> >> >> > > > > >>> Regarding the Red5 CPU usage: I did a couple of tests. It
> >> does
> >> >> > not
> >> >> > > > seem
> >> >> > > > > >>>> to be like previously a writer problem (writer too slow
> to
> >> >> write
> >> >> > > > > packets to
> >> >> > > > > >>>> disk). Even if I comment out the stream listeners so
> that
> >> >> > nothing
> >> >> > > > > will be
> >> >> > > > > >>>> written to disk the CPU usage jumps to 100% whenever I
> >> start
> >> >> > > > > recording.
> >> >> > > > > >>>> I can also see lots of statements similar to this in the
> >> log
> >> >> > > output:
> >> >> > > > > >>>> [INFO] [NioProcessor-4]
> >> >> > org.red5.server.stream.codec.ScreenVideo -
> >> >> > > > > >>>> Allocating memory for 748 compressed blocks.
> >> >> > > > > >>>> [INFO] [NioProcessor-4]
> >> >> > org.red5.server.stream.codec.ScreenVideo -
> >> >> > > > > >>>> Allocating memory for 1305 compressed blocks.
> >> >> > > > > >>>>
> >> >> > > > > >>>> I have not seen this kind of logging output in past
> >> versions
> >> >> of
> >> >> > > > red5.
> >> >> > > > > >>>>
> >> >> > > > > >>>> Sebastian
> >> >> > > > > >>>>
> >> >> > > > > >>>>
> >> >> > > > > >>>>
> >> >> > > > > >>>>
> >> >> > > > > >>>> 2014-03-16 12:44 GMT+13:00 seba.wag...@gmail.com <
> >> >> > > > > seba.wag...@gmail.com
> >> >> > > > > >>>> >:
> >> >> > > > > >>>>
> >> >> > > > > >>>> Hi,
> >> >> > > > > >>>>>
> >> >> > > > > >>>>> there is now a FPS per second changer. How does that
> >> >> > incorporate
> >> >> > > > with
> >> >> > > > > >>>>> the recordings produced? Is the audio and the video in
> >> sync
> >> >> no
> >> >> > > > > matter what
> >> >> > > > > >>>>> FPS I choose?
> >> >> > > > > >>>>>
> >> >> > > > > >>>>> Did anybody monitor the red5 server process CPU while
> >> doing
> >> >> a
> >> >> > > > > >>>>> screen-sharing recording? I can still see the CPU jump
> to
> >> >> 100%
> >> >> > of
> >> >> > > > the
> >> >> > > > > >>>>> server process if I start a recording.
> >> >> > > > > >>>>>
> >> >> > > > > >>>>> It would be really good to have a demo server instead
> of
> >> >> doing
> >> >> > > this
> >> >> > > > > >>>>> local verification.
> >> >> > > > > >>>>>
> >> >> > > > > >>>>> Thanks,
> >> >> > > > > >>>>> Sebastian
> >> >> > > > > >>>>> --
> >> >> > > > > >>>>> Sebastian Wagner
> >> >> > > > > >>>>> https://twitter.com/#!/dead_lock
> >> >> > > > > >>>>> http://www.webbase-design.de
> >> >> > > > > >>>>> http://www.wagner-sebastian.com
> >> >> > > > > >>>>> seba.wag...@gmail.com
> >> >> > > > > >>>>>
> >> >> > > > > >>>>
> >> >> > > > > >>>>
> >> >> > > > > >>>>
> >> >> > > > > >>>> --
> >> >> > > > > >>>> Sebastian Wagner
> >> >> > > > > >>>> https://twitter.com/#!/dead_lock
> >> >> > > > > >>>> http://www.webbase-design.de
> >> >> > > > > >>>> http://www.wagner-sebastian.com
> >> >> > > > > >>>> seba.wag...@gmail.com
> >> >> > > > > >>>>
> >> >> > > > > >>>
> >> >> > > > > >>>
> >> >> > > > > >>>
> >> >> > > > > >>> --
> >> >> > > > > >>> Sebastian Wagner
> >> >> > > > > >>> https://twitter.com/#!/dead_lock
> >> >> > > > > >>> http://www.webbase-design.de
> >> >> > > > > >>> http://www.wagner-sebastian.com
> >> >> > > > > >>> seba.wag...@gmail.com
> >> >> > > > > >>>
> >> >> > > > > >>
> >> >> > > > > >>
> >> >> > > > > >>
> >> >> > > > > >> --
> >> >> > > > > >> Sebastian Wagner
> >> >> > > > > >> https://twitter.com/#!/dead_lock
> >> >> > > > > >> http://www.webbase-design.de
> >> >> > > > > >> http://www.wagner-sebastian.com
> >> >> > > > > >> seba.wag...@gmail.com
> >> >> > > > > >>
> >> >> > > > > >
> >> >> > > > > >
> >> >> > > > > >
> >> >> > > > > > --
> >> >> > > > > > Sebastian Wagner
> >> >> > > > > > https://twitter.com/#!/dead_lock
> >> >> > > > > > http://www.webbase-design.de
> >> >> > > > > > http://www.wagner-sebastian.com
> >> >> > > > > > seba.wag...@gmail.com
> >> >> > > > > >
> >> >> > > > >
> >> >> > > > >
> >> >> > > > >
> >> >> > > > > --
> >> >> > > > > Sebastian Wagner
> >> >> > > > > https://twitter.com/#!/dead_lock
> >> >> > > > > http://www.webbase-design.de
> >> >> > > > > http://www.wagner-sebastian.com
> >> >> > > > > seba.wag...@gmail.com
> >> >> > > > >
> >> >> > > >
> >> >> > > >
> >> >> > > >
> >> >> > > > --
> >> >> > > > WBR
> >> >> > > > Maxim aka solomax
> >> >> > > >
> >> >> > >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > WBR
> >> >> > Maxim aka solomax
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Sebastian Wagner
> >> >> https://twitter.com/#!/dead_lock
> >> >> http://www.webbase-design.de
> >> >> http://www.wagner-sebastian.com
> >> >> seba.wag...@gmail.com
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > WBR
> >> > Maxim aka solomax
> >> >
> >>
> >>
> >>
> >> --
> >> WBR
> >> Maxim aka solomax
> >>
> >
> >
> >
> > --
> > Sebastian Wagner
> > https://twitter.com/#!/dead_lock
> > http://www.webbase-design.de
> > http://www.wagner-sebastian.com
> > seba.wag...@gmail.com
> >
>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wag...@gmail.com
>



-- 
WBR
Maxim aka solomax

Reply via email to