Hi guys,
I am looking at serving some very large files through thredds. I had
found through trial-and-error that on one particular server, somewhere
between 60Mb and 300Mb thredds stopped being able to start serving up
files before the client timed out.
Unfortunately, this machine services a number of people so I had to do
my testing elsewhere. I have a 579Mb NetCDF file on my desktop
machine, and tried doing a local test with this, installing my file
server and the thredds server on it. What I found was that the thredds
server was running out of heap space. Now, I know I can alter the
amount of heap space the JVM has available somehow, and that's what
I'll try next, but I don't know whether that's a reliable solution. I
don't really know how much memory thredds needs on top of the size of
the file it's trying to serve, and of course multiple incoming
requests might also affect this - I don't know how tomcat deals with
that kind of thing in terms of creating new JVM instances etc.
Here is the error from catalina.out:
DODServlet ERROR (anyExceptionHandler): java.lang.OutOfMemoryError:
Java heap space
requestState:
dataset: 'verylarge.nc'
suffix: 'dods'
CE: ''
compressOK: false
InitParameters:
maxAggDatasetsCached: '20'
maxNetcdfFilesCached: '100'
maxDODSDatasetsCached: '100'
displayName: 'THREDDS/DODS Aggregation/NetCDF/Catalog Server'
java.lang.OutOfMemoryError: Java heap space
So my question is: what's the best way to make a reliable server than
can serve these large files?
Cheers,
-Tennessee