diff --git a/bin/enricher-start.sh b/bin/enricher-start.sh index 0e3c5f3..68bfd98 100755 --- a/bin/enricher-start.sh +++ b/bin/enricher-start.sh @@ -14,4 +14,6 @@ do CLASSPATH=${CLASSPATH}:${file} done +[ -z "$JVM_OPTIONS" ] && JVM_OPTIONS="-Djdk.nio.maxCachedBufferSize=262144 -Xmx30m -Xms30m -XX:MaxDirectMemorySize=15m -XX:MaxMetaspaceSize=30m -XX:SurvivorRatio=6 -Xss512k -XX:ReservedCodeCacheSize=15m -XX:NewSize=15m" + exec java ${JVM_OPTIONS} -cp ${CLASSPATH} io.wizzie.enricher.Enricher $1 diff --git a/docker/build/Dockerfile b/docker/build/Dockerfile index af047aa..7cf7fbf 100644 --- a/docker/build/Dockerfile +++ b/docker/build/Dockerfile @@ -28,7 +28,18 @@ ENV METRIC_ENABLE=true \ BOOTSTRAP_KAFKA_TOPICS=[\"__enricher_bootstrap\"] \ LOG_LEVEL=info \ GENERAL_LOG_LEVEL=info \ - JVM_OPTIONS="-Xmx512m -Xms512m" + JVM_OPTIONS="-Djdk.nio.maxCachedBufferSize=262144 -Xmx30m -Xms30m -XX:MaxDirectMemorySize=15m -XX:MaxMetaspaceSize=30m -XX:SurvivorRatio=6 -Xss512k -XX:ReservedCodeCacheSize=15m -XX:NewSize=15m " \ + MALLOC_ARENA_MAX=1 \ + PRODUCER_BUFFER_MEMORY=102400 \ + CONSUMER_FETCH_MAX_BYTES=102400 \ + CONSUMER_MAX_POLL_RECORDS=50 \ + CONSUMER_FETCH_MAX_WAIT_MS=500 \ + CONSUMER_SEND_BUFFER_BYTES=131072 \ + CONSUMER_RECEIVE_BUFFER_BYTES=65536 \ + PRODUCER_SEND_BUFFER_BYTES=131072 \ + PRODUCER_RECEIVE_BUFFER_BYTES=32768 \ + BUFFERED_RECORDS_PER_PARTITION=500 + CMD exec /bin/enricher-start.sh diff --git a/docker/build/config_env.json b/docker/build/config_env.json index 61fd476..c686bc7 100644 --- a/docker/build/config_env.json +++ b/docker/build/config_env.json @@ -13,5 +13,14 @@ "max.output.kafka.topics": ${MAX_OUTPUT_KAFKA_TOPICS}, "bootstrap.kafka.topics": ${BOOTSTRAP_KAFKA_TOPICS}, "global.topics": ${GLOBAL_TOPICS}, - "bypass.null.keys": ${BYPASS_NULL_KEYS} + "bypass.null.keys": ${BYPASS_NULL_KEYS}, + "producer.buffer.memory": ${PRODUCER_BUFFER_MEMORY}, + "consumer.fetch.max.bytes": ${CONSUMER_FETCH_MAX_BYTES}, + "consumer.max.poll.records": ${CONSUMER_MAX_POLL_RECORDS}, + "consumer.fetch.max.wait.ms": ${CONSUMER_FETCH_MAX_WAIT_MS}, + "consumer.send.buffer.bytes": ${CONSUMER_SEND_BUFFER_BYTES}, + "consumer.receive.buffer.bytes": ${CONSUMER_RECEIVE_BUFFER_BYTES}, + "producer.send.buffer.bytes": ${PRODUCER_SEND_BUFFER_BYTES}, + "producer.receive.buffer.bytes": ${PRODUCER_RECEIVE_BUFFER_BYTES}, + "buffered.records.per.partition": ${BUFFERED_RECORDS_PER_PARTITION} }