Probably in TomEE we do not yet remove all our scanning results and temporary boot stuff after booting up the container.
LieGrue, strub ----- Original Message ----- > From: "Howard W. Smith, Jr." <[email protected]> > To: [email protected] > Cc: > Sent: Thursday, 2 May 2013, 7:09 > Subject: Re: Discussing MyFaces, OpenWebBeans, and Atmosphere > > i can try that, but remember, i've been using myfaces 2.1.11 > 'before' > myfaces 2.1.11 was 'added' to tomee 1.6.0 snapshot. :) > > gotta say it...the recent change = owb 1.2 :) > > will try and report results, thanks. > > > > On Thu, May 2, 2013 at 1:07 AM, Romain Manni-Bucau > <[email protected]>wrote: > >> Hmm, maybe thats myfaces update. I have an app where starting using jsf >> (f5) simply make my mem x2. >> >> Can you check downgrading mf please? >> Le 2 mai 2013 07:03, "Howard W. Smith, Jr." > <[email protected]> a >> écrit : >> >> > Okay, I will have to try that, ASAP, thanks...and you're welcome. > :) >> > >> > On a tangent, I have had the following java memory/GC settings (at > least >> 1 >> > or 2 months now), >> > >> > -Xms1250m >> > -Xmx1250m >> > -XX:MaxPermSize=384m >> > -XX:+UseTLAB >> > -XX:+UseConcMarkSweepGC >> > -XX:+CMSClassUnloadingEnabled >> > >> > Before using tomee 1.6.0 snapshot (that has owb 1.2), I would open >> > jvisualvm on production server, monitor GC and memory used, and I > would >> see >> > memory used between 120m and 400m. >> > >> > Now, since I'm using tomee 1.6.0 snapshot (with owb 1.2), memory > levels >> > seem to be higher; on average, I think I'm seeing between 400m and > 600m. >> > >> > I have been using tomee 1.6.0 snapshot (with owb 1.2) in production > for 1 >> > or 2 days now. About 1 hour ago, I deployed a new WAR (with some code >> > changes of my own), and I did not do much in the app at all, just > logged >> > in, and logged out. so, an hour later and even now, I'm seeing > between >> 500m >> > and 600m. >> > >> > what is owb 1.2 doing, now, that could be causing higher memory > levels. I >> > will tell you that even when no users are connected to the server, I > do >> > have @Schedule methods that are triggered every 30 seconds (checking > the >> > value of some CDI @ApplicationScoped bean attributes/members) and > every 2 >> > minutes, checking an email server. >> > >> > Earlier (before owb 1.2), when no users connected to the app, TomEE > would >> > have memory used right around 200m (on average). that is why I set >> > Xms/Xmx1250m (per tomcat's Mark Thomas; 5 x 250m, since 250m is > least >> > amount of memory used..on average). >> > >> > bit of a background... I used tomee 1.6.0 snapshot (2013-03-27) all >> > throughout April 2013 until I recently started using tomee 1.6.0 > snapshot >> > (with owb 1.2). >> > >> > >> > >> > On Thu, May 2, 2013 at 12:38 AM, Romain Manni-Bucau >> > <[email protected]>wrote: >> > >> > > Thanks ;) >> > > >> > > About exceptions: start without breakpoints then put it in >> > > java.lang.Exception constructors then hit f5. It will be easier > IMO. >> > > Le 2 mai 2013 01:35, "Howard W. Smith, Jr." > <[email protected]> a >> > > écrit : >> > > >> > > > Mark, >> > > > >> > > > Per Romain's request, I thought I might change the > subject. see my >> > > > responses below. >> > > > >> > > > ---------- Forwarded message ---------- >> > > > > >> > > > > >> > > > >>a.) There should be no need to change anything for > you in your own >> > > code. >> > > > All the refactoring is just internally. >> > > > >> >> > > > >> >> > > > > >> > > > > >> > > > >sorry, don't understand. should be no need to change > anything in my >> > > code, >> > > > and then you say, 'refactoring is just internally'? >> > > > >> > > > >> > > > > The OWB-1.2 changes are purely owb internally. You > don't need to >> > change >> > > > anything in YOUR code ;) >> > > > >> > > > understood, thanks. >> > > > >> > > > >> > > > >b.) If you do performance testing, then please always > switch MyFaces >> > to >> > > > ProjectStage 'Production'. >> > > > >> >> > > > > >> > > > > >> > > > >done... i keep project to 'production'...always. > I learned that by >> the >> > > big >> > > > 'comment' outputted in server log when I started > using MyFaces (many >> > > months >> > > > ago). :) >> > > > >> > > > >> > > > > Nah, usually 'Development' is perfectly fine. > We do a lot of >> caching >> > > only >> > > > in Production, but it's disabled for > 'Development'. In Dev mode we >> e.g. >> > > > always read the xhtml pages from the files for each request > and build >> > up >> > > > the facelets tree info. Whereas in Production we only read > the xhtml >> > > once. >> > > > But then you would not be able to change your xhtml files on > the fly >> in >> > > dev >> > > > mode... >> > > > >> > > > Interesting. I will have to keep this in mind, and this > motivates me >> to >> > > > change project state to development and do some testing. > I'm even >> > > wondering >> > > > what will happen if I revert to MyFaces 2.1.10 with latest > tomee >> 1.6.0 >> > > > snapshot (without touching/removing owb 1.2 JARs), and a few > other >> > > > tomee/myfaces/atmosphere configurations. >> > > > >> > > > I will try to do this, ASAP, and report test results, here > as well. >> > > > >> > > > >c.) regarding atmosphere: you could use the tomcate > WebSocket stuff >> > > which >> > > > is more EE7 like already. >> > > > >> >> > > > > >> > > > > >> > > > >interesting... i have seen some on tomcat list ask about > tomcat >> > > websocket >> > > > stuff, and I have recognized that tomcat has did some > websocket >> changes >> > > in >> > > > tomcat 7.0.35 or 7.0.37 release (forgot which one, exactly). >> > > > > >> > > > > >> > > > >are you saying that I could replace atmosphere with > tomcat websocket >> > > > stuff? if so, wow... free myself of atmosphere > 'dependency'?!?! :) >> > > > >> > > > >> > > > > That was before I did read you actually use primefaces > push which >> > > really >> > > > needs atmosphere. >> > > > >> > > > okay. >> > > > >> > > > >> > > > >when I was using glassfish, I saw websocket/comet > samples in the >> past, >> > > but >> > > > thought it was 'easier' to use PrimeFaces Push (and > that was the >> first >> > > > reason why I started using tomee/tomcat7, since primefaces > push or >> > > > atmosphere needs a lot of work to work with glassfish). >> > > > > >> > > > > >> > > > > >> > > > >>d.) OWB does not yet support async-supported. But > having 1 element >> in >> > > the >> > > > servlet chain which doesnt set this flag makes the servlet > container >> > > switch >> > > > off that feature anyway. >> > > > >> >> > > > > >> > > > > >> > > > >hmm interesting... i am aware that servlet 3 has async > support; >> seems >> > as >> > > > though you are telling me that OWB is not-yet-fully >> > servlet-3-compliant, >> > > > but I'm not trying to say that too loudly, so please > feel free to >> > correct >> > > > me. :) >> > > > >> > > > >> > > > > OpenWebBeans IS fully servlet-3 compliant. But it does > not use the >> > > > async-spported feature yet. >> > > > >> > > > okay. >> > > > >> > > > >> > > > >> > > > > >> > > > >also, in response to you, I am not implicitly setting >> async-supported >> > > > anywhere in my web.xml. >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >There are 2 variables in the game >> > > > >>1.) tomee >> > > > >>2.) atmosphere >> > > > >> >> > > > >>if you switch back to an older tomee version: works >> > > > >> >> > > > > >> > > > > >> > > > >correct; from what I remember, an older version of tomee > (owb 1.1.8) >> > > works >> > > > with latest version of atmosphere >> > > > > >> > > > > >> > > > >if you keep newest tomee and only switch back atmosphere > to an older >> > > > version: works >> > > > >> >> > > > > >> > > > > >> > > > >correct; newest tomee works with older atmosphere >> > > > > >> > > > >only if you have both newest tomee and newest > atmosphere: broken >> > > > >> >> > > > > >> > > > > >> > > > >almost-correct. :) >> > > > > >> > > > > >> > > > >both atmosphere and tomee are telling me that this is > neither an >> issue >> > > > with atmosphere or tomee, so i don't want to say > 'broken'; the only >> > > > unwanted behavior is the 'new' atmosphere log line > that shows up in >> my >> > > > server/tomcat7-stderr/catalina log on every full page > refresh :) >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >>Oki, so now what does all the logs tell you? >> > > > > >> > > > > >> > > > >Per the test case at the following: >> > > > > >> > > > > >> > > > >https://github.com/smithh032772/PrimePushCounter.git >> > > > > >> > > > > >> > > > > >> > > > >the log shows the following whenever I press F5 key to > refresh page >> in >> > > > browser: >> > > > > >> > > > > >> > > > >Apr 30, 2013 4:59:15 PM > org.atmosphere.cpr.DefaultBroadcaster <init> >> > > > >INFO: /counter support Out Of Order Broadcast: false >> > > > >Apr 30, 2013 5:02:40 PM > org.atmosphere.cpr.DefaultBroadcaster <init> >> > > > >INFO: /counter support Out Of Order Broadcast: false >> > > > > >> > > > > >> > > > > >> > > > >Any Exceptions which got swallowed, etc? >> > > > >> >> > > > > >> > > > > >> > > > >very good question. to this day, i have not learned how > to recover >> > > > tomcat-swallowed exceptions. :) >> > > > >> > > > Start up your debugger and let it break on any exception. > Then >> exclude >> > > > stuff like java.io.* etc until you find something you which > looks >> > > curious. >> > > > >> > > > hmmm... i understand 'let it break on any > exception', but exclude >> stuff >> > > > like java.io.* ? >> > > > >> > > > >> > > > >i hope this response helps. >> > > > > >> > > > > >> > > > > >> > > > > >> > > > >> > > >> > >> >
