hebph001
(Philippe Hébert)
April 11, 2022, 12:38pm
1
Hi Elastic community,
I have a cloud cluster with 3 hot nodes. Stack monitoring data is showing me that 2 out of 3 are constantly under heavy load. CPU usage is nearly 100% all the time. I would like to know how can I track what activity is causing this and how can I balance the load more evenly accross my cluster before thinking about increasing the resources.
Thank you,
Philippe
spinscale
(Alexander Reelsen)
April 11, 2022, 1:42pm
2
hebph001
(Philippe Hébert)
April 11, 2022, 1:56pm
3
Thank you for your reply
This API produces a big ouput. Since I am really new to Elastic, I don't know where to start an more importantly, don't know how to interpret the results. Is there any documentation out there?
Thank you again!
Philippe
spinscale
(Alexander Reelsen)
April 12, 2022, 9:44am
4
Feel feel to put the data into a pastebin, happy to take a quick look.
It would also help if you tell a little more about your setup (Elasticsearch version, which operating system, hardwrare being used, specific setup) and what kind of load you are putting against the cluster.
hebph001
(Philippe Hébert)
April 12, 2022, 12:40pm
5
My organization and I have a 3 nodes Elastic Cloud cluster version 8.1 with 15gb or RAM and 450gb of disk. Our use case is to use Elasticsearch as a SIEM. We are currently in the phase of collecting all of our on premise instances. We have 154 Elastic agents to gather and send data to the cluster. Data retention is configured to be 30 days then it is deleted. We will need to keep data for a longer period of time in a near future.
Now here's the result of the node hot threads API for one of the busiest node:
Thanks!
100.0% [cpu=65.6%, other=34.4%] (500ms out of 500ms) cpu usage by thread 'elasticsearch[instance-0000000001][write][T#3]'
7/10 snapshots sharing following 23 elements
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
2/10 snapshots sharing following 30 elements
app//org.elasticsearch.index.mapper.ContentPath.pathAsText(ContentPath.java:59)
app//org.elasticsearch.index.mapper.DocumentParser.getMapper(DocumentParser.java:606)
app//org.elasticsearch.index.mapper.DocumentParser.getLeafMapper(DocumentParser.java:619)
app//org.elasticsearch.index.mapper.DocumentParser.parseValue(DocumentParser.java:506)
app//org.elasticsearch.index.mapper.DocumentParser.parseNonDynamicArray(DocumentParser.java:485)
app//org.elasticsearch.index.mapper.DocumentParser.parseArray(DocumentParser.java:428)
app//org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:284)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:260)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:354)
app//org.elasticsearch.index.mapper.DocumentParser.parseObject(DocumentParser.java:387)
app//org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:282)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:260)
app//org.elasticsearch.index.mapper.DocumentParser.internalParseDocument(DocumentParser.java:118)
app//org.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:80)
app//org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:81)
app//org.elasticsearch.index.shard.IndexShard.prepareIndex(IndexShard.java:998)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:947)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
unique snapshot
app//com.fasterxml.jackson.core.json.UTF8StreamJsonParser.getText(UTF8StreamJsonParser.java:294)
app//org.elasticsearch.xcontent.json.JsonXContentParser.text(JsonXContentParser.java:76)
app//org.elasticsearch.xcontent.support.AbstractXContentParser.textOrNull(AbstractXContentParser.java:249)
app//org.elasticsearch.xcontent.DelegatingXContentParser.textOrNull(DelegatingXContentParser.java:92)
app//org.elasticsearch.index.mapper.KeywordFieldMapper.parseCreateField(KeywordFieldMapper.java:765)
app//org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:228)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:356)
app//org.elasticsearch.index.mapper.DocumentParser.parseValue(DocumentParser.java:508)
app//org.elasticsearch.index.mapper.DocumentParser.parseNonDynamicArray(DocumentParser.java:485)
app//org.elasticsearch.index.mapper.DocumentParser.parseArray(DocumentParser.java:428)
app//org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:284)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:260)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:354)
app//org.elasticsearch.index.mapper.DocumentParser.parseObject(DocumentParser.java:387)
app//org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:282)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:260)
app//org.elasticsearch.index.mapper.DocumentParser.internalParseDocument(DocumentParser.java:118)
app//org.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:80)
app//org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:81)
app//org.elasticsearch.index.shard.IndexShard.prepareIndex(IndexShard.java:998)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:947)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
100.0% [cpu=62.9%, other=37.1%] (500ms out of 500ms) cpu usage by thread 'elasticsearch[instance-0000000001][write][T#1]'
2/10 snapshots sharing following 28 elements
app//org.apache.lucene.util.AttributeSource.clearAttributes(AttributeSource.java:274)
app//org.apache.lucene.document.Field$BinaryTokenStream.incrementToken(Field.java:515)
app//org.apache.lucene.index.IndexingChain$PerField.invert(IndexingChain.java:1142)
app//org.apache.lucene.index.IndexingChain.processField(IndexingChain.java:733)
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:620)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
3/10 snapshots sharing following 28 elements
app//org.apache.lucene.util.AttributeSource.endAttributes(AttributeSource.java:284)
app//org.apache.lucene.analysis.TokenStream.end(TokenStream.java:163)
app//org.apache.lucene.index.IndexingChain$PerField.invert(IndexingChain.java:1250)
app//org.apache.lucene.index.IndexingChain.processField(IndexingChain.java:733)
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:620)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
2/10 snapshots sharing following 25 elements
app//org.apache.lucene.index.IndexingChain.processField(IndexingChain.java:733)
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:620)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
2/10 snapshots sharing following 24 elements
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:620)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
unique snapshot
java.base@17.0.2/java.util.zip.Deflater.deflateBytesBytes(Native Method)
java.base@17.0.2/java.util.zip.Deflater.deflate(Deflater.java:586)
java.base@17.0.2/java.util.zip.Deflater.deflate(Deflater.java:465)
app//org.apache.lucene.codecs.lucene90.DeflateWithPresetDictCompressionMode$DeflateWithPresetDictCompressor.doCompress(DeflateWithPresetDictCompressionMode.java:188)
app//org.apache.lucene.codecs.lucene90.DeflateWithPresetDictCompressionMode$DeflateWithPresetDictCompressor.compress(DeflateWithPresetDictCompressionMode.java:218)
app//org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingStoredFieldsWriter.flush(Lucene90CompressingStoredFieldsWriter.java:260)
app//org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingStoredFieldsWriter.finishDocument(Lucene90CompressingStoredFieldsWriter.java:191)
app//org.apache.lucene.index.StoredFieldsConsumer.finishDocument(StoredFieldsConsumer.java:69)
app//org.apache.lucene.index.IndexingChain.finishStoredFields(IndexingChain.java:566)
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:632)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
hebph001
(Philippe Hébert)
April 12, 2022, 12:42pm
6
I had to truncate the output because it was too big to be posted all at once
100.0% [cpu=62.8%, other=37.2%] (500ms out of 500ms) cpu usage by thread 'elasticsearch[instance-0000000001][write][T#2]'
3/10 snapshots sharing following 25 elements
app//org.apache.lucene.index.IndexingChain.processField(IndexingChain.java:733)
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:620)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
2/10 snapshots sharing following 25 elements
app//org.apache.lucene.index.IndexingChain.processField(IndexingChain.java:723)
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:620)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
3/10 snapshots sharing following 33 elements
java.base@17.0.2/java.util.zip.Deflater.deflateBytesBytes(Native Method)
java.base@17.0.2/java.util.zip.Deflater.deflate(Deflater.java:586)
java.base@17.0.2/java.util.zip.Deflater.deflate(Deflater.java:465)
app//org.apache.lucene.codecs.lucene90.DeflateWithPresetDictCompressionMode$DeflateWithPresetDictCompressor.doCompress(DeflateWithPresetDictCompressionMode.java:188)
app//org.apache.lucene.codecs.lucene90.DeflateWithPresetDictCompressionMode$DeflateWithPresetDictCompressor.compress(DeflateWithPresetDictCompressionMode.java:218)
app//org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingStoredFieldsWriter.flush(Lucene90CompressingStoredFieldsWriter.java:260)
app//org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingStoredFieldsWriter.finishDocument(Lucene90CompressingStoredFieldsWriter.java:191)
app//org.apache.lucene.index.StoredFieldsConsumer.finishDocument(StoredFieldsConsumer.java:69)
app//org.apache.lucene.index.IndexingChain.finishStoredFields(IndexingChain.java:566)
app//org.apache.lucene.index.IndexingChain.processDocument(IndexingChain.java:632)
app//org.apache.lucene.index.DocumentsWriterPerThread.updateDocuments(DocumentsWriterPerThread.java:239)
app//org.apache.lucene.index.DocumentsWriter.updateDocuments(DocumentsWriter.java:432)
app//org.apache.lucene.index.IndexWriter.updateDocuments(IndexWriter.java:1530)
app//org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1815)
app//org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1468)
app//org.elasticsearch.index.engine.InternalEngine.addDocs(InternalEngine.java:1256)
app//org.elasticsearch.index.engine.InternalEngine.indexIntoLucene(InternalEngine.java:1192)
app//org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:995)
app//org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1040)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:973)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
2/10 snapshots sharing following 25 elements
app//org.elasticsearch.index.mapper.DocumentParser.parseArray(DocumentParser.java:428)
app//org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:284)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:260)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrField(DocumentParser.java:354)
app//org.elasticsearch.index.mapper.DocumentParser.parseObject(DocumentParser.java:387)
app//org.elasticsearch.index.mapper.DocumentParser.innerParseObject(DocumentParser.java:282)
app//org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:260)
app//org.elasticsearch.index.mapper.DocumentParser.internalParseDocument(DocumentParser.java:118)
app//org.elasticsearch.index.mapper.DocumentParser.parseDocument(DocumentParser.java:80)
app//org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:81)
app//org.elasticsearch.index.shard.IndexShard.prepareIndex(IndexShard.java:998)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:947)
app//org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:891)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:320)
app//org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:185)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:250)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:131)
app//org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:70)
app//org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:210)
app//org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:776)
app//org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base@17.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base@17.0.2/java.lang.Thread.run(Thread.java:833)
It looks like a lot of time is spent writing data. What kind of storage do you have? Is it local SSDs? What does disk I/O and iowait look like on the nodes?
hebph001
(Philippe Hébert)
April 12, 2022, 1:42pm
8
Hello Christian,
Thanks for helping me. Well since we're using Elastic Cloud hot nodes tier and don't have control over hardware, I guess it is fast SSDs ? How can I see Disk I/O metrics?
Philippe
Did not see you are using hot nodes in Elastic Cloud. Then disk performance might likely not be the issue.
hebph001
(Philippe Hébert)
April 12, 2022, 2:58pm
10
If massive data ingestion is the issue, I would like to know how can I identify which indices are putting the cluster down to its knees? What can I modify to better balance the shards (CPU of 1 node out of 3 seems fine) or maybe reduce the load before thinking of upgrading to the next hot node tier. Cost optimisation is a one of my organization's main concern. Is there any reference out there in terms of ingestion rate versus resources?
system
(system)
Closed
May 10, 2022, 2:59pm
11
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.