Chris,

will likely go with mod_jk, but I did notice that Jetty folks strongly
recommend mod_proxy (may be that their container works better with
mod_proxy)

I am not using a framework per se, one that I have written, so
definitely not something like Grails with Spring + Hibernate for
example.  Groovy itself is memory hungry, dynamic language features such
as closures, duck typing and runtime MOP come with a cost for sure. In
other words, not expecting to run on 128mb as you have been
attempting ;--)

I'll need to sort out DBCP, java singletons are nothing like php where a
singleton exists for lifetime of the request, vs. lifetime of the
application.

Thanks for the clarification on these issues!

Noah

On Wed, 2011-03-16 at 21:35 -0400, Christopher Schultz wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Noah,
> 
> On 3/16/2011 7:48 PM, Noah Cutler wrote:
> > the Tomcat Groovy app will do nothing but serve up dynamic content
> > (httpd will handle ssl as well), so whichever method (ajp or mod_proxy)
> > peforms the best/is-most-reliable, I'll go with.
> 
> I have a preference for mod_jk since it is more mature, has a separate
> release cycle, and has more configuration options than mod_proxy_ajp.
> I'm biased though since I've used mod_jk since before mod_proxy_ajp was
> available. I had never considered mod_proxy_http but given the options
> mod_jk has, I haven't re-considered it.
> 
> > Love that 128mb JVM, I am very much interested in lean & mean.  Coming
> > from LAMP stack where memory usage is minimal for non-enterprise
> > trafficked apps, the JVM seems a bit heavy handed, but power comes at a
> > cost (memory) it seems. I'll need to analyze existing apache logs and
> > see how many concurrent users we have on average, and then tweak Java -X
> > accordingly per Tomcat instance. Assume with low traffic apps that you
> > can effectively starve the JVM, giving it just enough memory to start
> > (plus a small cushion), which is probably what you are doing with the
> > 128mb JVM.
> 
> If you are using a framework like JGroovy, you are adding a somewhat
> thick layer on top of Java already... are you also using any other
> libraries that might be either caching a lot of data or building large
> object trees in memory?
> 
> > Speaking of, what are your basic -X params to pull this off?
> 
> Right now a simple "-Xms384M -Xmx384M". No special PermGen options, no
> GC options, no nuthin'.
> 
> > 1) low traffic app = non-pooled, connection per request
> >>> this is the single tomcat instance, many virtual hosts model (low
> > budget hosting)
> 
> I would always use a connection pool, even if the pool is shallow. We
> run with a mere 20 connections in production and serve hundreds of
> simultaneous users (not simultaneous requests, of course).
> 
> > 2) mid-to-high traffic app = pooled, connection per tomcat instance
> >>> application has dedicated tomcat instance; connection handle is
> > singleton, created on tomcat startup and shared by all users.
> 
> I would use a pool per webapp. That allows you to size each one
> appropriately for the load and one busy webapp won't starve the other
> webapps out of their connections.
> 
> > One thing I may not have mentioned is that each component will be
> > running in its own virtual machine; i.e. VM1 Apache/PHP; VM2 MySQL; VM3
> > Tomcat/Groovy.
> 
> Interesting, but not doesn't really change anything.
> 
> > Probably will not get same performance as a bare metal setup, but the
> > server has 2X 6-core 12mb cache CPU, 6X 146GB SCSI, and 16GB RAM, so I
> > should be able to allocate sufficient resources to each VM and get
> > decent performance -- either way, will be fun to find out ;--)
> 
> One would hope ;)
> 
> Good luck,
> - -chris
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
> 
> iEYEARECAAYFAk2BZWEACgkQ9CaO5/Lv0PCq0wCgnHkDm0aTMDNzvrj/Zazg5poi
> LzoAoLEa5viGxb0FbXkX41r1NIZ3tDWS
> =ES1m
> -----END PGP SIGNATURE-----
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to