+ Reply to Thread
Results 1 to 2 of 2

Thread: Optimize configuration

  1. #1
    Junior Member
    Join Date
    Jun 2012
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Optimize configuration

    Do you have some advices on how to optimize configuration parameters and the threads settings on our installation?
    The server is running on a centOS with 16vCPU and 32GB RAM.
    This server is dedicated to ElectroServer.

    Thank you

  2. #2
    Administrator tcarr's Avatar
    Join Date
    Dec 2007
    Posts
    7,219
    Thanks
    80
    Thanked 1,087 Times in 1,076 Posts
    Most projects do not need to change the thread settings at all.

    The amount of RAM to allocate to ES5 depends highly on the project, and how much project specific extra memory is needed for each user, etc. You do want to use some kind of concurrent garbage collection.

    How to configure this depends on how you are starting ES5. If you are using the normal ./Start_ElectroServer_<version> then you will need to make changes in memory and command line parameters using the ES Admin's General Settings screen. If you are using ./Start_ElectroServer_<version>_SAFEMODE or a java -jar script or are running as a Linux daemon, then the changes go in your start script. Let me know which way you are starting ES5 and I can give you more details.

    I've seen a lot of success with this garbage collection scheme:
    Code:
    -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode
    but some users report others work better for them. You want to choose a GC that runs concurrently, continuously, because the default ones usually will wait until it takes a full second or two of GC and just pause all other processes while the GC runs - which will kill your ES5 performance. Even a 200ms pause will cause noticeable problems with ES5.

    Don't allocate the entire 32 GB of memory. If your project works fine with just a few users online using a few hundred Mb, then start with one or two GB of memory for production, and then monitor it until you can tell whether that is plenty or not.

    You may want to enable JMX monitoring.

    I assume that your project has database access. You will see better performance if you do the database access and any HTTP calls using a separate thread pool. See Threading in Plugins and the TwoStepLogin code example.
    Teresa Carrigan
    Senior Engineer
    Electrotank, Inc.

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts