Tomcat alternate for ODK Aggregate


Interested to know if there is any replacement/alternate of Tomcat server for running ODK aggregate. Has anyone tried anything successfully?


Alternatives to Tomcat do exist, but most are heavier than Tomcat. Rather than switch out Tomcat, I'd look at making changes to your infrastructure and tuning.

I have been thinking about deploying some load-balancer type infrastructure on AWS. However, the problem is that my form is poorly designed; it has 7 image questions in it with no size restrictions, and new cameras with 20+ megapix have destroyed my database, as Aggregate is not very well designed for storing image inside the database. This is hitting tomcat badly, when people try to submit forms simultaneously, or even if I try to open Aggregate and it starts loading crazy-sized images from database, everything gets jammed. That's why tomcat is becoming a bottleneck, and I am looking for some less-memory-consuming alternate.

A load balancer would likely work. That is you spin up a handful of big Tomcat servers in front handling the load, then those connect to a bigger database server. Some testing then tuning would be required.

Hey you can use image-resize with the parameter of max-pixels , in ODK . I am uplaoding an excel form as well as XML form.

image-resize.xlsx (10.7 KB)
image-resize.xml (847 Bytes)

These two will give you help with 20MP camera or more than that , so with the help of ODK max-pixels parameter you can take 2MP photo even if your are using a 48MP camera. More documentation found here.


Yes, I know about it already. However, I searched for this feature after my project form was downloaded by everyone in the field. So, have to bear their uploads for one iteration at least.


Depending on how the form was designed, it would be possible to make the change to the form and push this little change to the field staff with minimal challenges. Sounds like they connect to the server on regular basis.

Do you use Postgresql? Seem to have done some magic on my ballooning DB


1 Like

Yes, low internet connectivity in remote areas do not allow server connection frequently. Besides, the field workers downloaded the form in the training, and it's difficult to gather them again.

Using MySQL, but it's not the issue. Tomcat is. Tomcat is becoming unresponsive on anything above 300 simultaneous connections, and my normal traffic nowadays is 2000! :slight_smile: