எலாஸ்டிக் சர்ச் செட் அதிகபட்ச நினைவக அளவு

Elastik Carc Cet Atikapatca Ninaivaka Alavu



'Elasticsearch உடன் பணிபுரியும் போது நினைவகம் ஒரு அத்தியாவசிய ஆனால் வரையறுக்கப்பட்ட வளமாகும். ஏனென்றால், கிடைக்கக்கூடிய ஒவ்வொரு நினைவகத்தையும் லூசீன் பயன்படுத்துவார். இருப்பினும், தவறாக உள்ளமைக்கப்படும் போது, ​​நினைவக அமைப்புகள் குறைந்த செயல்திறன் மற்றும் திறனற்ற நினைவக பயன்பாட்டிற்கு வழிவகுக்கும்.'

இந்த டுடோரியலில், எலாஸ்டிக் தேடலுடன் பணிபுரியும் போது அதிகபட்ச மற்றும் குறைந்தபட்ச JVM ஹீப் அளவு உள்ளமைவைக் காண்பிப்போம்.







தொடங்குவோம்.



ஹீப் மெமரி என்றால் என்ன?

எலாஸ்டிக் சர்ச்சின் சூழலில், ஹீப் மெமரி என்பது ஜாவா விர்ச்சுவல் மெஷினுக்கு எலாஸ்டிக் சர்ச் முனைக்குள் ஒதுக்கப்பட்ட மொத்த நினைவகத்தைக் குறிக்கிறது.



அடிப்படை அமைப்பின் மொத்த நினைவகம் மற்றும் முனையின் பங்கு ஆகியவற்றின் அடிப்படையில் எலாஸ்டிக் தேடல் இயல்புநிலையாக JVM ஹீப் அளவை அமைக்கும். இதன் பொருள் ஹீப் மெமரி அளவு ஒதுக்கீடு, இது முதன்மை முனை, தரவு, உட்செலுத்துதல், தரவு_குளிர் போன்றவற்றைப் பொறுத்து மாறுபடலாம்.





பெரும்பாலான உற்பத்தி சூழல்களுக்கு, குவியல் அளவை நிர்வகிக்க Elasticsearch ஐ அனுமதிப்பது பரிந்துரைக்கப்படுகிறது மற்றும் போதுமானதை விட அதிகமாக உள்ளது.

குறிப்பு : நீங்கள் டோக்கரில் எலாஸ்டிக் தேடலை இயக்குகிறீர்கள் என்றால், மொத்த ஹீப் நினைவகம் டாக்கர் கொள்கலனின் மொத்த அளவை அடிப்படையாகக் கொண்டது மற்றும் டோக்கரின் ஹோஸ்ட் அல்ல.



குறைந்தபட்ச மற்றும் அதிகபட்ச குவியல் அளவை உள்ளமைக்கிறது

குறைந்தபட்ச மற்றும் அதிகபட்ச குவியல் அளவை உள்ளமைக்க, நாம் Xms மற்றும் Xmx அளவுருக்களைப் பயன்படுத்தலாம். எலாஸ்டிக் சர்ச் ப்ராபிட்கள் அதிகபட்ச நினைவகத்தை மொத்த நினைவகத்தில் 50% க்கும் அதிகமாக அமைக்கவில்லை. ஏனென்றால், JVM Heap ஐத் தவிர, கோப்பு முறைமை கேச், நெட்வொர்க் கம்யூனிகேஷன் போன்ற பிற செயல்பாடுகளுக்கு Elasticsearch க்கு அதிக நினைவகம் தேவைப்படுகிறது. அதேபோல், மீதமுள்ள 50% நினைவகத்தில் ஒரு பகுதியை JVM பயன்படுத்தும்.

இரண்டாவதாக, xms மற்றும் xmx மதிப்புகளை அச்சச்சோவின் வாசலை விட அதிகமாக அமைக்க வேண்டாம். பாதுகாப்பான உள்ளமைவுக்கு, சில சிஸ்டங்களில் 26ஜிபி அல்லது 30ஜிபி என வரம்பிடவும்.

எலாஸ்டிக் தேடல் பதிவில் நீங்கள் நுழைவாயிலைச் சரிபார்க்கலாம்.

பூனை elasticsearch.log | grep 'பொருள் சுட்டிகள்'

காட்டப்பட்டுள்ளபடி நீங்கள் ஒரு பதிவைப் பார்க்க வேண்டும்:

[2022-08-19T20:01:50,275][INFO ][o.e.NodeEnvironment    ] [debian11] குவியல் அளவு [1.9gb], சுருக்கப்பட்ட சாதாரண பொருள் சுட்டிகள் [உண்மை]
[2022-08-19T20:08:07,207][INFO ][o.e.NodeEnvironment    ] [debian11] குவியல் அளவு [1.9gb], சுருக்கப்பட்ட சாதாரண பொருள் சுட்டிகள் [உண்மை]
[2022-08-19T20:36:47,244][INFO ][o.e.NodeEnvironment    ] [debian11] குவியல் அளவு [1.9gb], சுருக்கப்பட்ட சாதாரண பொருள் சுட்டிகள் [உண்மை]

xms மற்றும் xmx மதிப்புகளுக்கான முனைகளின் தகவல் API ஐயும் நீங்கள் வினவலாம்:

curl -X GET லோக்கல் ஹோஸ்ட்:9200/_nodes/_all/jvm?pretty

காட்டப்பட்டுள்ளபடி நீங்கள் ஒரு வெளியீட்டைக் காண வேண்டும்:

குறைந்தபட்ச மற்றும் அதிகபட்ச குவியல் அளவை அமைக்கவும்

JVM Heap Size இன் மதிப்புகளை மாற்ற, நீங்கள் /etc/elasticsearch/jvm.options.d கோப்பகத்தில் உள்ளமைவு கோப்பை சேர்க்க வேண்டும். இந்தக் கோப்பு .options நீட்டிப்புடன் முடிவடைய வேண்டும்.

உதாரணத்திற்கு:

$ sudo touch /etc/elasticsearch/jvm.options.d/heap.options

கோப்பை திருத்தவும்

$ sudo nano /etc/elasticsearch/jvm.options.d/heap.options

தேவையான குறைந்தபட்ச மற்றும் அதிகபட்ச ஹீப் நினைவக அளவைச் சேர்க்கவும்.

எடுத்துக்காட்டாக, கீழே உள்ள உள்ளீடு குறைந்தபட்ச மற்றும் அதிகபட்ச குவியல் அளவை 4ஜிபியாக உள்ளமைக்கிறது.

கோப்பைச் சேமித்து, மீள் தேடல் சேவையை மறுதொடக்கம் செய்யுங்கள்.

முடிவுரை

இந்த டுடோரியலில், நீங்கள் JVM Heap ஐ எலாஸ்டிக் தேடலின் சூழலில் கற்றுக்கொண்டீர்கள், எப்படி Elasticsearch JVM Heap ஐ உள்ளமைக்கிறது மற்றும் நீங்கள் குவியல் அளவை எவ்வாறு மாற்றலாம்.

வாசித்ததற்கு நன்றி!!