GreenSense: Infrastructure upgrades... deployment test speed improvements

1 view
Skip to first unread message

John CC

unread,
Sep 2, 2019, 10:49:04 PM9/2/19
to sensorica-ecg, SENSORICA
I'm in the process of upgrading the GreenSense infrastructure and I figured it would be worth showing some of the significant improvements which demonstrate why I wanted implement these upgrades.

I swapped from an Odroid XU3 as my dev workstation to an Odroid N2. That freed up the XU3 to be used as the dev staging garden computer (replacing the OPi Zero) where the GreenSense system is automatically installed to after every GreenSense Index dev branch update.
These tests also need to be run after every plug and play update, every MQTT bridge update, and every UI controller app update.

The XU3 has a much faster processor and 4 times the RAM, but even more importantly it uses an eMMC card which is much faster than the sd card in the OPi Zero.
Quite often it's the storage which is the bottleneck. But the other improved specs likely also helped.

To show the speed improvement I've attached 2 screenshots. One running a full deployment/installation to the OPi Zero with sd card for storage, and the other running pretty much exactly the same deployment/installation to the XU3 with eMMC card for storage.

Deploying to the OPi Zero:
deploytoopizero.png

Deploying to the XU3:
deploytoxu3.png

The stages of interest are the "Deploy" and "Deploy Update" stages at this point, because they're the stages the XU3 has an impact on. They test installation and update procedures.

Notice with the OPi Zero the times were:
Deploy: Greater than 7 mins
Update: Greater than 5mins

And with the XU3 the times were:
Deploy: Less than 5 mins
Update: 3 mins 32 sec or lower

Now a few minutes doesn't sound like much but when I have run these tests thousands of times that couple of minutes adds up to hours, and eventually adds up to days of time wasted waiting for these tests to run.

If we consider the time saving per test is at least 3 mins. Multiply that by 1000 (I've run this test cycle at least that many times probably many more considering the test server got reinstalled a few times), divide by 60 (to convert minutes into hours), and that's at least 50 hours wasted just waiting (if my maths is correct). So yes.... this upgrade was definitely worth it.
Those numbers are somewhat conservative so in reality it's probably been even more time than that I've wasted just waiting for the tests to run.

Even though the systems are pretty stable so I don't need to run tests quite so often anymore, if a bug is reported it means I can fix the bug and roll it out faster because I don't need to wait as long for tests to run.

Now on to completing the rest of the infrastructure upgrades. Including upgrading the test server itself from an Odroid XU3 with eMMC card for storage, to an Odroid HC1 with SSD hard drive for storage. That will hopefully make the "Build" and "Test" stages run faster reducing test times even more.

Cheers,
John
Reply all
Reply to author
Forward
0 new messages