Hi All, We recently enabled the TLS with geode .
With TLS enabled , we see performance impact in geode. CPU consumption is increased around 30% after enabling the TLS. Is it normal degradation , observed with Geode working with TLS ? Geode Version : "1.14.3" openjdk version : "1.8.0_262" openssl version : "OpenSSL 1.0.2k-fips" PFA perf report dump Thanks Ankit Jain(TC) This email and the information contained herein is proprietary and confidential and subject to the Amdocs Email Terms of Service, which you may review at https://www.amdocs.com/about/email-terms-of-service <https://www.amdocs.com/about/email-terms-of-service>
# To display the perf.data header info, please use --header/--header-only options. # # # Total Lost Samples: 0 # # Samples: 11K of event 'cpu-clock' # Event count (approx.): 118030301850 # # Overhead Command Shared Object Symbol # ........ ............... ......................... ................................................................................................................................................ # 2.34% ServerConnectio perf-14812.map [.] counterMode_AESCrypt_Parallel | ---counterMode_AESCrypt_Parallel | |--83.88%--Lcom/sun/crypto/provider/GaloisCounterMode;::doLastBlock | | | |--63.76%--Lcom/sun/crypto/provider/GaloisCounterMode;::encryptFinal | | Lcom/sun/crypto/provider/CipherCore;::finalNoPadding | | Lcom/sun/crypto/provider/CipherCore;::fillOutputBuffer | | | | | |--93.84%--Lcom/sun/crypto/provider/CipherCore;::doFinal | | | Ljavax/crypto/CipherSpi;::bufferCrypt | | | Lsun/security/ssl/SSLCipher$T12GcmWriteCipherGenerator$GcmWriteCipher;::encrypt | | | Lsun/security/ssl/OutputRecord;::t10Encrypt | | | Lsun/security/ssl/SSLSocketOutputRecord;::deliver | | | Lsun/security/ssl/SSLSocketImpl$AppOutputStream;::write | | | Lorg/apache/geode/internal/cache/tier/sockets/Message;::sendBytes | | | Lorg/apache/geode/internal/cache/execute/ServerToClientFunctionResultSender65;::lastResult | | | Lorg/apache/geode/internal/cache/execute/PartitionedRegionFunctionResultSender;::lastResult | | | | | | | |--95.62%--XXXX;::execute | | | | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | | | | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | | | | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | | | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | | | Ljava/lang/Thread;::run | | | | call_stub | | | | JavaCalls::call_helper | | | | JavaCalls::call_virtual | | | | thread_entry | | | | JavaThread::thread_main_inner | | | | JavaThread::run | | | | _start_thread | | | | preRun | | | | start_thread | | | | | | | |--3.65%--XXXX;::execute | | | | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | | | | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | | | | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | | | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | | | Ljava/lang/Thread;::run | | | | call_stub | | | | JavaCalls::call_helper | | | | JavaCalls::call_virtual | | | | thread_entry | | | | JavaThread::thread_main_inner | | | | JavaThread::run | | | | _start_thread | | | | preRun | | | | start_thread | | | | | | | --0.73%--XXXX;::execute | | | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | | | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | | | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | | Ljava/lang/Thread;::run | | | call_stub | | | JavaCalls::call_helper | | | JavaCalls::call_virtual | | | thread_entry | | | JavaThread::thread_main_inner | | | JavaThread::run | | | _start_thread | | | preRun | | | start_thread | | | | | --6.16%--Lcom/sun/crypto/provider/CipherCore;::doFinal | | Ljavax/crypto/CipherSpi;::bufferCrypt | | Lsun/security/ssl/SSLCipher$T13GcmWriteCipherGenerator$GcmWriteCipher;::encrypt | | Lsun/security/ssl/OutputRecord;::t13Encrypt | | Lsun/security/ssl/SSLEngineOutputRecord;::encode | | Lsun/security/ssl/SSLEngineImpl;::encode | | Lsun/security/ssl/SSLEngineImpl;::writeRecord | | Lorg/apache/geode/internal/net/NioSslEngine;::wrap | | Lorg/apache/geode/internal/tcp/Connection;::writeFully | | Lorg/apache/geode/internal/tcp/Connection;::sendPreserialized | | Lorg/apache/geode/internal/tcp/MsgStreamer;::realFlush | | Lorg/apache/geode/distributed/internal/direct/DirectChannel;::sendToMany | | Lorg/apache/geode/distributed/internal/DistributionImpl;::directChannelSend | | Lorg/apache/geode/distributed/internal/DistributionImpl;::send | | Lorg/apache/geode/distributed/internal/ClusterDistributionManager;::sendOutgoing | | Lorg/apache/geode/internal/cache/DistributedCacheOperation;::_distribute | | Lorg/apache/geode/internal/cache/BucketRegion;::basicPutPart2 | | Lorg/apache/geode/internal/cache/AbstractRegionMap;::basicPut | | Lorg/apache/geode/internal/cache/BucketRegion;::virtualPut | | Lorg/apache/geode/internal/cache/PartitionedRegion;::putInBucket | | Lorg/apache/geode/internal/cache/PartitionedRegion;::virtualPut | | Lorg/apache/geode/internal/cache/LocalRegion;::validatedPut | | XXXX;::execute | | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | Ljava/lang/Thread;::run | | call_stub | | JavaCalls::call_helper | | JavaCalls::call_virtual | | thread_entry | | JavaThread::thread_main_inner | | JavaThread::run | | _start_thread | | preRun | | start_thread | | | --36.24%--Lcom/sun/crypto/provider/GaloisCounterMode;::decryptFinal | Lcom/sun/crypto/provider/CipherCore;::finalNoPadding | Lcom/sun/crypto/provider/CipherCore;::fillOutputBuffer | | | |--96.39%--Lcom/sun/crypto/provider/CipherCore;::doFinal | | Ljavax/crypto/CipherSpi;::bufferCrypt | | Lsun/security/ssl/SSLCipher$T12GcmReadCipherGenerator$GcmReadCipher;::decrypt | | Lsun/security/ssl/SSLSocketInputRecord;::decodeInputRecord | | Lsun/security/ssl/SSLSocketInputRecord;::decode | | Lsun/security/ssl/SSLTransport;::decode | | Lsun/security/ssl/SSLSocketImpl;::decode | | Lsun/security/ssl/SSLSocketImpl;::readApplicationRecord | | Lsun/security/ssl/SSLSocketImpl$AppInputStream;::read | | | | | |--95.00%--Lorg/apache/geode/internal/cache/tier/sockets/Message;::fetchHeader | | | Lorg/apache/geode/internal/cache/tier/sockets/Message;::readHeaderAndBody | | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::readRequest | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | | Ljava/lang/Thread;::run | | | call_stub | | | JavaCalls::call_helper | | | JavaCalls::call_virtual | | | thread_entry | | | JavaThread::thread_main_inner | | | JavaThread::run | | | _start_thread | | | preRun | | | start_thread | | | | | --5.00%--Lorg/apache/geode/internal/cache/tier/sockets/Message;::readPartChunk | | Lorg/apache/geode/internal/cache/tier/sockets/Message;::readPayloadFields | | Lorg/apache/geode/internal/cache/tier/sockets/Message;::readHeaderAndBody | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::readRequest | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | Ljava/lang/Thread;::run | | call_stub | | JavaCalls::call_helper | | JavaCalls::call_virtual | | thread_entry | | JavaThread::thread_main_inner | | JavaThread::run | | _start_thread | | preRun | | start_thread | | | --3.61%--Lcom/sun/crypto/provider/CipherCore;::doFinal | Ljavax/crypto/CipherSpi;::bufferCrypt | Lsun/security/ssl/SSLCipher$T13GcmReadCipherGenerator$GcmReadCipher;::decrypt | Lsun/security/ssl/SSLEngineInputRecord;::decodeInputRecord | Lsun/security/ssl/SSLTransport;::decode | Lsun/security/ssl/SSLEngineImpl;::decode | Lsun/security/ssl/SSLEngineImpl;::readRecord | Lorg/apache/geode/internal/net/NioSslEngine;::unwrap | Lorg/apache/geode/internal/net/NioSslEngine;::readAtLeast | Lorg/apache/geode/internal/tcp/MsgReader;::readAtLeast | Lorg/apache/geode/internal/tcp/MsgReader;::readHeader | Lorg/apache/geode/internal/tcp/Connection;::readAck | Lorg/apache/geode/distributed/internal/direct/DirectChannel;::sendToMany | Lorg/apache/geode/distributed/internal/DistributionImpl;::directChannelSend | Lorg/apache/geode/distributed/internal/DistributionImpl;::send | Lorg/apache/geode/distributed/internal/ClusterDistributionManager;::sendOutgoing | Lorg/apache/geode/internal/cache/DistributedCacheOperation;::_distribute | Lorg/apache/geode/internal/cache/BucketRegion;::basicPutPart2 | Lorg/apache/geode/internal/cache/AbstractRegionMap;::basicPut | Lorg/apache/geode/internal/cache/BucketRegion;::virtualPut | Lorg/apache/geode/internal/cache/PartitionedRegion;::putInBucket | Lorg/apache/geode/internal/cache/PartitionedRegion;::virtualPut | Lorg/apache/geode/internal/cache/LocalRegion;::validatedPut | XXXX;::execute | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | Ljava/lang/Thread;::run | call_stub | JavaCalls::call_helper | JavaCalls::call_virtual | thread_entry | JavaThread::thread_main_inner | JavaThread::run | _start_thread | preRun | start_thread | |--13.55%--Lcom/sun/crypto/provider/CipherCore;::update | Lcom/sun/crypto/provider/CipherCore;::update | Ljavax/crypto/CipherSpi;::bufferCrypt | Lsun/security/ssl/SSLCipher$T13GcmWriteCipherGenerator$GcmWriteCipher;::encrypt | Lsun/security/ssl/OutputRecord;::t13Encrypt | Lsun/security/ssl/SSLEngineOutputRecord;::encode | Lsun/security/ssl/SSLEngineImpl;::encode | Lsun/security/ssl/SSLEngineImpl;::writeRecord | Lorg/apache/geode/internal/net/NioSslEngine;::wrap | Lorg/apache/geode/internal/tcp/Connection;::writeFully | Lorg/apache/geode/internal/tcp/Connection;::sendPreserialized | Lorg/apache/geode/internal/tcp/MsgStreamer;::realFlush | Lorg/apache/geode/distributed/internal/direct/DirectChannel;::sendToMany | Lorg/apache/geode/distributed/internal/DistributionImpl;::directChannelSend | Lorg/apache/geode/distributed/internal/DistributionImpl;::send | Lorg/apache/geode/distributed/internal/ClusterDistributionManager;::sendOutgoing | Lorg/apache/geode/internal/cache/DistributedCacheOperation;::_distribute | Lorg/apache/geode/internal/cache/BucketRegion;::basicPutPart2 | Lorg/apache/geode/internal/cache/AbstractRegionMap;::basicPut | Lorg/apache/geode/internal/cache/BucketRegion;::virtualPut | Lorg/apache/geode/internal/cache/PartitionedRegion;::putInBucket | Lorg/apache/geode/internal/cache/PartitionedRegion;::virtualPut | Lorg/apache/geode/internal/cache/LocalRegion;::validatedPut | XXXX;::execute | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | Ljava/lang/Thread;::run | call_stub | JavaCalls::call_helper | JavaCalls::call_virtual | thread_entry | JavaThread::thread_main_inner | JavaThread::run | _start_thread | preRun | start_thread | --2.56%--Lcom/sun/crypto/provider/CipherCore;::finalNoPadding Lcom/sun/crypto/provider/CipherCore;::fillOutputBuffer | |--85.71%--Lcom/sun/crypto/provider/CipherCore;::doFinal | Ljavax/crypto/CipherSpi;::bufferCrypt | | | |--50.00%--Lsun/security/ssl/SSLCipher$T12GcmReadCipherGenerator$GcmReadCipher;::decrypt | | Lsun/security/ssl/SSLSocketInputRecord;::decodeInputRecord | | Lsun/security/ssl/SSLSocketInputRecord;::decode | | Lsun/security/ssl/SSLTransport;::decode | | Lsun/security/ssl/SSLSocketImpl;::decode | | Lsun/security/ssl/SSLSocketImpl;::readApplicationRecord | | Lsun/security/ssl/SSLSocketImpl$AppInputStream;::read | | Lorg/apache/geode/internal/cache/tier/sockets/Message;::fetchHeader | | Lorg/apache/geode/internal/cache/tier/sockets/Message;::readHeaderAndBody | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::readRequest | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | Ljava/lang/Thread;::run | | call_stub | | JavaCalls::call_helper | | JavaCalls::call_virtual | | thread_entry | | JavaThread::thread_main_inner | | JavaThread::run | | _start_thread | | preRun | | start_thread | | | --50.00%--Lsun/security/ssl/SSLCipher$T12GcmWriteCipherGenerator$GcmWriteCipher;::encrypt | Lsun/security/ssl/OutputRecord;::t10Encrypt | Lsun/security/ssl/SSLSocketOutputRecord;::deliver | Lsun/security/ssl/SSLSocketImpl$AppOutputStream;::write | | | |--66.67%--Lorg/apache/geode/internal/cache/execute/ServerToClientFunctionResultSender;::sendHeader | | Lorg/apache/geode/internal/cache/execute/ServerToClientFunctionResultSender65;::lastResult | | Lorg/apache/geode/internal/cache/execute/PartitionedRegionFunctionResultSender;::lastResult | | | | | |--50.00%--XXXX;::execute | | | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | | | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | | | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | | Ljava/lang/Thread;::run | | | call_stub | | | JavaCalls::call_helper | | | JavaCalls::call_virtual | | | thread_entry | | | JavaThread::thread_main_inner | | | JavaThread::run | | | _start_thread | | | preRun | | | start_thread | | | | | --50.00%--XXXX;::execute | | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | | Ljava/lang/Thread;::run | | call_stub | | JavaCalls::call_helper | | JavaCalls::call_virtual | | thread_entry | | JavaThread::thread_main_inner | | JavaThread::run | | _start_thread | | preRun | | start_thread | | | --33.33%--Lorg/apache/geode/internal/cache/tier/sockets/Message;::sendBytes | Lorg/apache/geode/internal/cache/execute/ServerToClientFunctionResultSender65;::lastResult | Lorg/apache/geode/internal/cache/execute/PartitionedRegionFunctionResultSender;::lastResult | XXXX;::execute | Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally | Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode | Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute | Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage | Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run | Ljava/util/concurrent/ThreadPoolExecutor;::runWorker | Ljava/lang/Thread;::run | call_stub | JavaCalls::call_helper | JavaCalls::call_virtual | thread_entry | JavaThread::thread_main_inner | JavaThread::run | _start_thread | preRun | start_thread | --14.29%--Lcom/sun/crypto/provider/CipherCore;::doFinal Ljavax/crypto/CipherSpi;::bufferCrypt Lsun/security/ssl/SSLCipher$T13GcmWriteCipherGenerator$GcmWriteCipher;::encrypt Lsun/security/ssl/OutputRecord;::t13Encrypt Lsun/security/ssl/SSLEngineOutputRecord;::encode Lsun/security/ssl/SSLEngineImpl;::encode Lsun/security/ssl/SSLEngineImpl;::writeRecord Lorg/apache/geode/internal/net/NioSslEngine;::wrap Lorg/apache/geode/internal/tcp/Connection;::writeFully Lorg/apache/geode/internal/tcp/Connection;::sendPreserialized Lorg/apache/geode/internal/tcp/MsgStreamer;::realFlush Lorg/apache/geode/distributed/internal/direct/DirectChannel;::sendToMany Lorg/apache/geode/distributed/internal/DistributionImpl;::directChannelSend Lorg/apache/geode/distributed/internal/DistributionImpl;::send Lorg/apache/geode/distributed/internal/ClusterDistributionManager;::sendOutgoing Lorg/apache/geode/internal/cache/DistributedCacheOperation;::_distribute Lorg/apache/geode/internal/cache/BucketRegion;::basicPutPart2 Lorg/apache/geode/internal/cache/AbstractRegionMap;::basicPut Lorg/apache/geode/internal/cache/BucketRegion;::virtualPut Lorg/apache/geode/internal/cache/PartitionedRegion;::putInBucket Lorg/apache/geode/internal/cache/PartitionedRegion;::virtualPut Lorg/apache/geode/internal/cache/LocalRegion;::validatedPut XXXX;::execute Lorg/apache/geode/internal/cache/execute/AbstractExecution;::executeFunctionLocally Lorg/apache/geode/internal/cache/PartitionedRegion;::executeOnSingleNode Lorg/apache/geode/internal/cache/tier/sockets/command/ExecuteRegionFunction66;::cmdExecute Lorg/apache/geode/internal/cache/tier/sockets/BaseCommand;::execute Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::doNormalMessage Lorg/apache/geode/internal/cache/tier/sockets/ServerConnection;::run Ljava/util/concurrent/ThreadPoolExecutor;::runWorker Ljava/lang/Thread;::run call_stub JavaCalls::call_helper JavaCalls::call_virtual thread_entry JavaThread::thread_main_inner JavaThread::run _start_thread preRun start_thread