I would do empirical benchmarks, but it's tricky on Amazon instances, my experience is that the actual performance can vary a lot over the course of a month. The problem is that these units don't do much accounting on I/O or memory bandwidth, so it all depends on what your neighbors are doing.

What you could do is setup JMX and observe the machine with visualvm (tool included with Java SE to monitor Java Virtual machines). If it's constantly doing garbage collection you need to give it more heap. If it doesn't, then keep Xmx where it is, or reduce it a bit. That would also give you a clue whether you need more RAM, or should get more CPU instead.

Once you've given it adequate heap (remember this can change depending on the number and types of requests), you can do the math and see if your data on disk fits into the leftover RAM. The numbers mentioned earlier (139 for buffer, 352 for cache) don't really tell me much, but it doesn't seem squeezed.

-Arne

On 11/27/10 3:35 AM, Chris Holmes wrote:
How much data is going to be served up? The advantage of more memory would be that your shapefile disk block would make it in to the OS disk cache, and then things would go quite fast. Of course once that happens then you'll definitely be CPU bound, so if most of your data will fit in the 7g of ram then the more cpus will be faster. Arne knows this stuff much better than I, and he's the one I learned from, but giving less explicit memory to java and postgis may help (or maybe it's smarter than that).

I guess the other thing to consider is how many concurrent users. Even with tiling I think you don't get more than 4 threads per user, so if you only have a few concurrent users than all the extra cpus won't help much, since geoserver's renderer doesn't use multiple cpus per thread.

On Fri, Nov 26, 2010 at 4:02 PM, Ariel Nunez <[email protected] <mailto:[email protected]>> wrote:

    On Fri, Nov 26, 2010 at 3:47 PM, Gabriel Roldán
    <[email protected] <mailto:[email protected]>> wrote:
    > looks like it's only using ~500MB, and 1G for the OS buffers.


    > How're you running tomcat/jetty wrt to heap allocation? Be sure
    to pass
    > -Xmx as appropriate to the java virtual machine and follow this
    where
    > applicable:
    > <http://docs.geoserver.org/stable/en/user/production/index.html>

    I have this in catalina.sh:
    JAVA_OPTS="$JAVA_OPTS -Xmx756m -XX:MaxPermSize=378m
    -XX:CompileCommandFile=/opt/tomcat/conf/hotspot_compiler"

    And logging is set to PRODUCTION, but I have not installed the native
    JAI libs yet.


    > I would go for the 7G RAM/20 cores instance. But that's gut feeling
    > since I really doubt geoserver is gonna need _that much_ memory and
    > think it would appreciate the extra cores.

    Yes, this is also what I would like to do. I guess I will give Tomcat
    around 4 gigs and Postgis 1.5 gigs (I need to host at least two
    GeoServer backends for two different GeoNodes)

    Ariel.


------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to