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)