Layer 7 Access Management

Expand all | Collapse all

Improve JCS Performance and Stability

  • 1.  Improve JCS Performance and Stability

    Posted 12-06-2018 12:44 PM

    Team,

     

    While performing peak-use-case testing, I was made aware that the embedded JVM for the IAMCS (aka JCS) was updated to x64.      This interested me, since we now can increase the default memory from max of 1GB to X GB.

     

    To determine if there was value in this process, I decided to update the MS Windows Registry (for the remote JCS/CCS) component, to both update the memory, JVM switches, and test with other JVM updates.

     

     

     

    • Testing observation with increase JCS memory and different JDK versions.

     

    1. No major different with using x64 bit release of embedded JDK (JDK 1.8.0_60_build27);  external JDK (1.8.0_192); or external JDK (11.0.1)
      1. Note: Update the JCE for the embedded JDK to use the unlimited encryption jar(s) provided by Oracle.
      2. Edited JVM options to remove JDK7 memory artifact (maxpermsize) & added in updated encryption cipher library (ECC) switch.
    2. Increase memory to  2 GB (min) and 8 GB (max) 
    1. Process:  Stress testing via dxsoak (50 threads) to IMPS service, to two (2) JCS servers, to the embedded CCS server (respectively), then to Active Directory.
    2. Observation: 
    3. Max memory used by JCS was 4 GB with less than 20% CPU utilization.
    4. Max memory used by CCS was 100 MB with less than 10% CPU utilization
    5. Microsoft Lsass Service (used for network communication for MS ADS), had less than 10% CPU utilization
    6.  Performance:   3677 mods / 60 seconds = 61 update/second.
    1. My prior testing with default of 1-2 GB RAM for max memory JCS was 30-40 updates/second.

     

     

     

     

    View of the im_jcs service with %CPU utilized while being stress tested.

     

     

    View of the stress test results using dxsoak command:

       = 60 updates/second.

     

     

     

    View of the number of open threads to the im_jcs service during stress testing.

     

     

    View of update to the memory settings (JvmMx = max memory), (JvmMs = initial memory), and update to the JVM Options;  Remove the JDK7 switch (maxpermsize) and added com.sun.net.ssl.enableECC=true Cipher Suite update).

       -  During testing with external JVMs, update the "Jvm" setting to point to the correct jvm.dll file.

     

     

    When testing with external JVM, update the Environment path to use this JDK first.

     

     

     

     

    Cheers,

     

    Alan



  • 2.  Re: Improve JCS Performance and Stability

    Posted 12-07-2018 12:43 AM

    Interesting...thanks for sharing.