Speedy Amazon EC2 Compile for Sakai

This is mostly my own notes in my attempt to find a quick developer / compile option for Sakai.

TL;DR – An EC2 c4.2xlarge with the right .bashrc settings is a very fast compile box for Sakai.

Methodology

Check out my Sakai scripts:

https://github.com/csev/sakai-scripts

Put in all the pre-requisites – make sure to run the qmv.sh script once to get the maven repo cache
warmed up before doing timing.

Base Line

My baseline is my own MacBook Pro with quad processor i7 2.8 Ghz, with 1TB SSD, and 16GB RAM. I played with the last line in the qmv.sh to change the number of threads in use using the “-T” options.

mvn -T 4 -e -Dmaven.test.skip=true -Dmaven.tomcat.home=$tomcatdir $goals

Compile time:

1 thread - 4:08
2 threads - 2:47
4 threads - 1:52

Testing on Amazon

AWS – c4.2xlarge, 15G RAM, 8 CPUs, 31 “ECU Units”, EBS

Setting the MAVEN and JAVA OPTS to -Xms4096m -Xmx4096m

Compile time:

4 threads 1:25

Setting the MAVEN and JAVA OPTS to -Xms8192m -Xmx8192m

Compile time:

6 threads 1:17
8 threads 1:18

For future testing we might look at less expensive per hour boxes but this certainly is fast enough for Sakai development at $0.40 per hour.