Under load, it is terribly inefficient to fork to system to spin up a new JVM for each FITS call. It is bad enough to crash several increasingly large AWS VMs that we have been testing out. It imposes a huge scaling cost on attempting to get parallelism.
A more appropriate architecture would put the edu.harvard.hul.ois.fits.Fits class in memory once and service multiple requests from the same JVM, exactly what https://github.com/harvard-lts/FITSservlet does. Hydra::Derivatives should support (and likely recommend) the servlet architecture.
Under load, it is terribly inefficient to fork to system to spin up a new JVM for each FITS call. It is bad enough to crash several increasingly large AWS VMs that we have been testing out. It imposes a huge scaling cost on attempting to get parallelism.
A more appropriate architecture would put the
edu.harvard.hul.ois.fits.Fits
class in memory once and service multiple requests from the same JVM, exactly what https://github.com/harvard-lts/FITSservlet does.Hydra::Derivatives
should support (and likely recommend) the servlet architecture.Requires #124