Amit Agrawal created GEODE-8229:
-----------------------------------

             Summary: Experiencing Slowness in operations with any version 
greater than 1.8
                 Key: GEODE-8229
                 URL: https://issues.apache.org/jira/browse/GEODE-8229
             Project: Geode
          Issue Type: Bug
          Components: configuration
            Reporter: Amit Agrawal


Our company uses Geode services for some of our applications, we are making use 
of Geode Member group configurations as well for maintaining different regions.

We have been undergoing an effort of migrating our applications from Geode 
version 1.6 to the latest version 1.12.

We have seen dramatic performance decrease after the upgrade, if we use the 
older parameters for the server and locator startup scripts, and things work 
fine when we remove those parameters.

We are now planning to take the route of understanding the parameters (earlier 
used) and available, to determine the most optimal configurations for the 
server and locator to get the best out of the new Geode version.

I was wondering if someone has any best practices or recommendations to follow 
for this task.

Below are the configurations for the Geode locator and server startup scripts 
for old and new versions.
----
h2. Locator startup command

*---Old configurations* ( works great with Geode 1.6 version but not with any 
version after Geode 1.8)

 

{{gfsh start locator --locators=$locators_str 
--name=${EC2_HOSTNAME}.aws.compnaynamedigital.net --initial-heap=2G 
--max-heap=2G --dir=/opt/compnayname/geode/locator 
--J=-Dlog4j.configurationFile=/opt/compnayname/geode/log4j2-locator.xml 
--J=-DCLUSTER=${ECS_CLUSTER} 
--J='-javaagent:/opt/compnayname/geode/jmxtrans-agent-1.2.6.jar=/opt/compnayname/geode/jmxtrans-agent-locator.xml'
 --J=-Dgemfire.distributed-system-id=${DISTRIBUTED_SYSTEM_ID} 
--J=-Dgemfire.member-timeout=30000 --J=-Dgemfire.max-num-reconnect-tries=0 
--J=-Dgemfire.jmx-manager=true --J=-Dgemfire.jmx-manager-start=true 
--J=-Dgemfire.jmx-manager-port=1099 --J=-Dgemfire.http-service-port=0 
--J=-Dgemfire.log-level=info --J=-Dgemfire.log-file-size-limit=10 
--J=-Dgemfire.log-disk-space-limit=10 
--J=-Dgemfire.disable-auto-reconnect=true}}

*---New configuration* (works great with all versions)

 

{{gfsh start locator --locators=$locators_str 
--name=${EC2_HOSTNAME}.aws.compnaynamedigital.net --J=-Xmx2048m 
--dir=/opt/compnayname/geode/locator 
--J=-Dlog4j.configurationFile=/opt/compnayname/geode/log4j2-locator.xml 
--J='-javaagent:/opt/compnayname/geode/jmxtrans-agent-1.2.6.jar=/opt/compnayname/geode/jmxtrans-agent-locator.xml'}}
----
h2. Server Startup command

*---Old configurations* ( works great with Geode 1.6 version but not with any 
version after Geode 1.8)

 

{{gfsh start server --locators=$locators_str 
--name=${EC2_HOSTNAME}.aws.compnaynamedigital.net 
--initial-heap=${GEODE_INIT_HEAP} --max-heap=${GEODE_MAX_HEAP} 
--group=${SERVER_GROUP} --dir=/opt/compnayname/geode/server 
--classpath=/opt/compnayname/geode/services-geode.jar 
--J=-Dlog4j.configurationFile=/opt/compnayname/geode/log4j2-server.xml 
--J=-DCLUSTER=${ECS_CLUSTER} 
--J='-javaagent:/opt/compnayname/geode/jmxtrans-agent-1.2.6.jar=/opt/compnayname/geode/jmxtrans-agent-server.xml'
 --J=-Dgemfire.distributed-system-id=${DISTRIBUTED_SYSTEM_ID} 
--J=-Dgemfire.member-timeout=30000 --J=-Dgemfire.max-num-reconnect-tries=0 
--J=-Dgemfire.socket-buffer-size=16777215 
--J=-Dgemfire.off-heap-memory-size=${GEODE_OFF_HEAP} --J=-XX:+UseParNewGC 
--J=-XX:+UseConcMarkSweepGC --J=-XX:CMSInitiatingOccupancyFraction=60 
--eviction-heap-percentage=70 --critical-heap-percentage=90 
--J=-Dgemfire.http-service-port=0 --J=-Dgemfire.log-level=info 
--J=-Dgemfire.log-file-size-limit=10 --J=-Dgemfire.log-disk-space-limit=10 
--J=-Dgemfire.disable-auto-reconnect=true ${ADDTL_GEODE_SERVER_OPTS}}}

*---New configuration* (works great with all versions)

 

{{gfsh start server --locators=$locators_str 
--name=${EC2_HOSTNAME}.aws.compnaynamedigital.net --J=-Xmx${GEODE_MAX_HEAP}  
--group=${SERVER_GROUP} --dir=/opt/compnayname/geode/server 
--classpath=/opt/compnayname/geode/services-geode.jar 
--J=-Dlog4j.configurationFile=/opt/compnayname/geode/log4j2-server.xml 
--J='-javaagent:/opt/compnayname/geode/jmxtrans-agent-1.2.6.jar=/opt/compnayname/geode/jmxtrans-agent-server.xml'}}
----
h2. Test Environment Details

We are using the exact same environment (read AWS) for testing the old and new 
configurations and performing the same test to measure the response time. We 
are using 3 Geode locators and 3 Geode servers for the different member groups.

The only difference is the Geode version

We are actually doing a count operation (we have written a count function to 
execute on Geode regions to count the records existing in the downloaded data 
which is actually data sketches ([https://datasketches.apache.org/])). This 
count operation on the same data in the same testing environment is giving a 
drastically slow response with the old configuration using any Geode version 
beyond 1.8

Please let me know if more information is required and I will be glad to 
provide more details.

Any information on this will be appreciated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to