Why do some sites use a container for the Jenkins server?

23 views
Skip to first unread message

Richard Otter

unread,
Sep 27, 2016, 4:03:30 PM9/27/16
to jenkins...@googlegroups.com
I'm untrained in web technology, so please read between the lines ...

Our site uses the built-in web server in the Jenkins.war file, (still at v1.651.3)

For years, we've been unhappy with the web interface's responsiveness when opening Job links. Moving around in the non-Job pages, like Manage Jenkins,nodes etc., is fast.
The server machine certainly uses lots of RAM (4 GB out of 8), but it's CPU utilization seems usually to be low.

Would running Jenkins in a "container" like TomCat help us?

Why do people use apps like TomCat?

Thanks!
Richard

Stephen Connolly

unread,
Sep 27, 2016, 4:17:20 PM9/27/16
to jenkins...@googlegroups.com
Most likely your JVM heap needs some tuning... you want the average heap utilisation to be ~30-60% of the -Xmx (and set the -Xms to the same as -Xmx)

On a 8Gb ram machine default ergonomics in the JVM probably are putting the heap max at 1G or 2G... my analysis of memory usage patterns suggest that 4g is a better start point for most people... then measure average heap usage (using visualvm or jconsole) and tune the heap up or down from there to get average at 30-60% of max.

Tomcat is a servlet container *just like* the embedded Jetty servlet container that you get when you run the war file directly,

There is no advantage in using tomcat and the only reason is if you have a corporate mandate or want to run another war based app along side... the problem with that is it makes tuning a single JVM for the needs of multiple apps very difficult.

* Stick with the embedded Jetty.

* Ensure you are not storing files on spinning rust. SSD is your friend for the Jenkins master file system

* Do not run builds on the master. They will steal CPU cycles. use remote build agents... plus it's more secure.

* Tune your JVM heap size... do not go mad. The defaults are mostly ok. You just need to: set -Xmx to the same value as -Xms; and ensure that average heap utilisation is between 30 and 60% of the allocated value... if less than 30% then you are wasting CPU managing too big a pool, take memory away from the JVM. If more than 60% then you are wasting CPU on GC, give it more memory
--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAB8_VGg3xAQbJs77z5pkYei4k1P_yOLxT%2BVoLRc63B%2BMU-cbTw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


--
Sent from my phone
Reply all
Reply to author
Forward
0 new messages