Ciao Mathieu, two things: -1- By default we do not use that multithreading switch, so it should not impact your requests -2- In newer version of the plugin we are making that thread pool configurable
Question, which are the values for the mosaic parameters that you are using? Ciao, Simone. ------------------------------------------------------- Ing. Simone Giannecchini GeoSolutions S.A.S. Founder - Software Engineer Via Carignoni 51 55041 Camaiore (LU) Italy phone: +39 0584983027 fax: +39 0584983027 mob: +39 333 8128928 http://www.geo-solutions.it http://geo-solutions.blogspot.com/ http://www.linkedin.com/in/simonegiannecchini http://twitter.com/simogeo ------------------------------------------------------- On Tue, Jun 15, 2010 at 5:39 PM, Mathieu Lavoie <mathieu.lav...@valtus.com> wrote: > Hi, > > I'm running a Jmeter test that send some WMS requests to Geoserver to > investigate a performance issue we encounter while deploying our app. I can > see that the time to respond is really slowing down for more than 5 users. > > Looking at the threads usage using JVisualVM, I've found that the number of > threads used by the ImageMosaicReader was not adjusted to reach the > maximumPoolSize. > > I've done some tests by increasing the corePoolSize value to a higher value > and, in my case, the average time to process a WMS request is faster. > > An average of 2852ms with corePoolSize=8 threads compare to 3885ms with > corePoolSixe=4 with 15 users doing 10 calls each. > > We're running Geoserver 2.0.2 on a 2 Quad-Core server with 32GB RAM, so our > server can handle more threads. > > Unfortunately, the corePoolSize and maximumPoolSize value are hard coded in > the ImageMosaicReader class and since the ThreadPoolExecutor is using a > LinkedBlockingQueue, the maximumPoolSize is not used. In other word, the > number of useful threads is 4: > > > public final class ImageMosaicReader extends AbstractGridCoverage2DReader > implements GridCoverageReader { > > /** Logger. */ > private final static Logger LOGGER = > org.geotools.util.logging.Logging.getLogger(ImageMosaicReader.class); > > final static ExecutorService multiThreadedLoader= new > ThreadPoolExecutor(4,8,30,TimeUnit.SECONDS,new > LinkedBlockingQueue<Runnable>()); > > Is there a particular reason to have those values hard coded? > > Is there any chance that a future version includes a way to customize those > values either by the Geoserver UI or a properties file? > > And in the mean time, is there another possible workaround other than > recompiling the gt-imagemosaic jar. > > > Thank you > > > > ------------------------------------------------------------------------------ > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > _______________________________________________ > Geoserver-devel mailing list > Geoserver-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-devel > ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Geoserver-devel mailing list Geoserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-devel