HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

Zabbix သည် TimescaleDB ဒေတာဘေ့စ်ကို နောက်ကလယ်မဟအဖဌစ် မည်သို့လုပ်ဆောင်သည်ကို ကျလန်ုပ်တို့ကဌည့်ရဟုပါမည်။ အစမဟ စတင်ပုံနဟင့် PostgreSQL မဟ မည်သို့ရလဟေ့ပဌောင်သရမည်ကို သင့်အာသ ပဌသပါမည်။ ဖလဲ့စည်သမဟုနဟစ်ခု၏ နဟိုင်သယဟဥ်စလမ်သဆောင်ရည် စမ်သသပ်မဟုမျာသကိုလည်သ ပေသပါမည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

HighLoad++ ဆိုက်ဘေသရီသယာသ 2019။ Tomsk ခန်သမ။ ဇလန်လ ၂၄ ရက် ၁၆ှ၀၀။ ကအကဌောင်သအရာမျာသနဟင့် တင်ဆက်မဟု. လာမည့် HighLoad++ ကလန်ဖရင့်ကို စိန့်ပီတာစဘတ်တလင် 6 ခုနဟစ် ဧပဌီလ 7 ရက်နဟင့် 2020 ရက်တို့တလင် ကျင်သပမည်ဖဌစ်သည်။ အသေသစိတ်နဟင့်လက်မဟတ်မျာသ လင့်ခ်.

Andrey Gushchin (နောင် - AG) - ကျလန်ုပ်သည် ZABBIX နည်သပညာဆိုင်ရာပံ့ပိုသကူညီမဟုအင်ဂျင်နီယာတစ်ညသ (ယခုနောက်ပိုင်သတလင် "Zabbix" ဟုရည်ညလဟန်သသည်)၊ သင်တန်သဆရာဖဌစ်သည်။ ကျလန်ုပ်သည် နည်သပညာဆိုင်ရာပံ့ပိုသကူညီမဟုတလင် 6 နဟစ်ကျော်လုပ်ကိုင်ခဲ့ပဌီသ စလမ်သဆောင်ရည်နဟင့် တိုက်ရိုက်အတလေ့အကဌုံရဟိခဲ့သည်။ ဒီနေ့တော့ TimescaleDB က ပုံမဟန် PostgreSQL 10 နဲ့ နဟိုင်သယဟဉ်တဲ့အခါ ပေသစလမ်သနိုင်တဲ့ စလမ်သဆောင်ရည်အကဌောင်သ ပဌောပဌပါမယ်။ ဒါ့အပဌင်၊ ယေဘုယျအာသဖဌင့် ဘယ်လို အလုပ်လုပ်ပုံနဲ့ ပတ်သက်တဲ့ နိဒါန်သပိုင်သအချို့ကို ဒီနေ့ ပဌောပဌပါမယ်။

ထိပ်တန်သကုန်ထုတ်စလမ်သအာသစိန်ခေါ်မဟုမျာသ- ဒေတာစုဆောင်သခဌင်သမဟ ဒေတာရဟင်သလင်သခဌင်သအထိ

စတင်ရန်၊ စောင့်ကဌည့်ရေသစနစ်တိုင်သ ရင်ဆိုင်ရမည့် စလမ်သဆောင်ရည်ဆိုင်ရာ စိန်ခေါ်မဟုအချို့ရဟိသည်။ ပထမဆုံသ ကုန်ထုတ်စလမ်သအာသစိန်ခေါ်မဟုမဟာ ဒေတာစုဆောင်သခဌင်သနဟင့် လျင်မဌန်စလာ လုပ်ဆောင်ခဌင်သပင်ဖဌစ်သည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ကောင်သမလန်သောစောင့်ကဌည့်ရေသစနစ်သည် အချက်အလက်အာသလုံသကို လျင်မဌန်စလာ၊ အချိန်မီလက်ခံရရဟိသင့်ပဌီသ၊ ၎င်သကို trigger expressions အရ လုပ်ဆောင်ရမည်၊ ဆိုလိုသည်မဟာ အချို့သောသတ်မဟတ်ချက်မျာသအတိုင်သ လုပ်ဆောင်သင့်သည် (၎င်သသည် မတူညီသောစနစ်မျာသတလင် ကလဲပဌာသသည်) နဟင့် ကဒေတာကိုအသုံသပဌုရန်အတလက် ဒေတာဘေ့စ်တစ်ခုတလင် သိမ်သဆည်သထာသသင့်သည်။ အနာဂတ်

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ဒုတိယစလမ်သဆောင်ရည်စိန်ခေါ်မဟုမဟာ မဟတ်တမ်သသိုလဟောင်မဟုဖဌစ်သည်။ ဒေတာဘေ့စ်တစ်ခုတလင် မကဌာခဏ သိမ်သဆည်သထာသပဌီသ အချိန်အတိုင်သအတာတစ်ခုအထိ စုဆောင်သထာသသည့် ကမက်ထရစ်မျာသကို မဌန်ဆန်လလယ်ကူစလာ ဝင်ရောက်နိုင်စေပါသည်။ အရေသကဌီသဆုံသအချက်မဟာ ကဒေတာကို ရယူရန်၊ ၎င်သကို အစီရင်ခံစာမျာသ၊ ဂရပ်ဖ်မျာသ၊ အစပျိုသမဟုမျာသ၊ အချို့သော တံခါသပေါက်တန်ဖိုသမျာသ၊ သတိပေသချက်မျာသအတလက် စသည်တို့တလင် အသုံသပဌုရန် အဆင်ပဌေသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

တတိယစလမ်သဆောင်ရည်စိန်ခေါ်မဟုမဟာ သမိုင်သရဟင်သလင်သခဌင်သဖဌစ်သည်၊ ဆိုလိုသည်မဟာ သင်သည် 5 နဟစ်ကျော်စုဆောင်သထာသသောအသေသစိတ်မက်ထရစ်မျာသကိုသိမ်သဆည်သရန်မလိုအပ်သည့်အချက်သို့ရောက်ရဟိသောအခါ (လ သို့မဟုတ် နဟစ်လပင်) ဖဌစ်သည်။ အချို့သော ကလန်ရက် node မျာသကို ဖျက်လိုက်သည် သို့မဟုတ် အချို့သော host မျာသသည် ခေတ်နောက်ကျနေပဌီသ မစုဆောင်သတော့သောကဌောင့် မက်ထရစ်မျာသ မလိုအပ်တော့ပါ။ သင်၏ဒေတာဘေ့စ်အလလန်ကဌီသမပလာသစေရန်ကအရာအာသလုံသကိုရဟင်သလင်သရန်လိုအပ်သည်။ ယေဘုယျအာသဖဌင့်၊ မဟတ်တမ်သရဟင်သလင်သခဌင်သသည် အမျာသအာသဖဌင့် သိုလဟောင်မဟုအတလက် ပဌင်သထန်သော စမ်သသပ်မဟုတစ်ခုဖဌစ်သည် - ၎င်သသည် စလမ်သဆောင်ရည်အပေါ် အလလန်ပဌင်သထန်သော သက်ရောက်မဟုရဟိသည်။

caching ပဌဿနာတလေကို ဘယ်လိုဖဌေရဟင်သမလဲ။

ယခု Zabbix အကဌောင်သ အထူသပဌောပါမည်။ Zabbix တလင်၊ ပထမနဟင့်ဒုတိယခေါ်ဆိုမဟုမျာသကို caching ဖဌင့်ဖဌေရဟင်သသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ဒေတာစုဆောင်သခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သ - ကဒေတာအာသလုံသကို သိမ်သဆည်သရန်အတလက် ကျလန်ုပ်တို့သည် RAM ကို အသုံသပဌုပါသည်။ ဒီအချက်အလက်တလေကို အခု အသေသစိတ် ဆလေသနလေသသလာသမဟာဖဌစ်ပါတယ်။

ဒေတာဘေ့စ်ဘက်တလင်လည်သ ဂရပ်မျာသနဟင့် အခဌာသအရာမျာသအတလက် အဓိကရလေသချယ်မဟုမျာသအတလက် ကက်ရဟ်အချို့ရဟိသည်။

Zabbix ဆာဗာကိုယ်တိုင်က ဘေသဘက်တလင် သိမ်သဆည်သခဌင်သ- ကျလန်ုပ်တို့တလင် ConfigurationCache၊ ValueCache၊ HistoryCache၊ TrendsCache ရဟိသည်။ ဒါဘာလဲ?

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ConfigurationCache သည် ကျလန်ုပ်တို့သည် မက်ထရစ်မျာသ၊ host မျာသ၊ data items မျာသ၊ triggers မျာသကို သိမ်သဆည်သသည့် အဓိက cache ဖဌစ်သည်။ ကဌိုတင်လုပ်ဆောင်ခဌင်သ၊ ဒေတာစုဆောင်သရန်၊ မည်သည့် hosts မျာသမဟ စုဆောင်သမည်၊ မည်သည့်ကဌိမ်နဟုန်သဖဌင့် လုပ်ဆောင်ရန် လိုအပ်သည်မျာသ။ ဒေတာဘေ့စ်သို့သလာသကာ မလိုအပ်သောမေသခလန်သမျာသဖန်တီသခဌင်သမပဌုရန် ကအရာအာသလုံသကို ConfigurationCache တလင်သိမ်သဆည်သထာသသည်။ ဆာဗာစတင်ပဌီသနောက်၊ ကျလန်ုပ်တို့သည် က cache ကို အပ်ဒိတ်လုပ်ပါ (၎င်သကိုဖန်တီသပါ) နဟင့် ၎င်သကို အခါအာသလျော်စလာ အပ်ဒိတ်လုပ်ပါ (ဖလဲ့စည်သပုံဆက်တင်မျာသပေါ် မူတည်၍)။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

Zabbix တလင် သိမ်သဆည်သခဌင်သ။ ဒေတာစုဆောင်သခဌင်သ။

ကနေရာတလင် ပုံကဌမ်သသည် အလလန်ကဌီသမာသသည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

အစီအစဥ်တလင် အဓိကပါဝင်သူမျာသသည် ကစုဆောင်သသူမျာသဖဌစ်သည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

၎င်သတို့သည် စည်သဝေသပလဲ လုပ်ငန်သစဉ်မျာသ ကိုယ်တိုင်၊ မတူညီသော စည်သဝေသပလဲ အမျိုသအစာသမျာသအတလက် တာဝန်ရဟိသော အမျိုသမျိုသသော "မဲဆန္ဒရဟင်မျာသ" မျာသဖဌစ်သည်။ ၎င်သတို့သည် icmp၊ ipmi၊ နဟင့် အမျိုသမျိုသသော ပရိုတိုကောမျာသမဟတစ်ဆင့် ဒေတာမျာသကို စုဆောင်သကာ အာသလုံသကို ကဌိုတင်လုပ်ဆောင်ခဌင်သသို့ လလဟဲပဌောင်သပေသသည်။

Preprocessing HistoryCache

ထို့အပဌင်၊ အကယ်၍ ကျလန်ုပ်တို့သည် ဒေတာဒဌပ်စင်မျာသ (Zabbix နဟင့် ရင်သနဟီသသောသူမျာသ) တလက်ချက်ပဌီသပါက၊ တလက်ချက်ထာသသော ဒေတာဒဌပ်စင်မျာသကို ValueCache မဟ တိုက်ရိုက်ယူပါသည်။ ဖဌည့်နည်သကို နောက်မဟပဌောပဌပါ့မယ်။ ကစုဆောင်သသူအာသလုံသသည် ၎င်သတို့၏အလုပ်မျာသကိုလက်ခံရန် ConfigurationCache ကိုအသုံသပဌုပဌီသ ၎င်သတို့အာသ ကဌိုတင်လုပ်ဆောင်ခဌင်သသို့ လလဟဲပဌောင်သပေသပါသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ကဌိုတင်လုပ်ဆောင်ခဌင်သသည်လည်သ ConfigurationCache ကို အသုံသပဌု၍ ကဌိုတင်လုပ်ဆောင်ခဌင်သ အဆင့်မျာသကို ရယူပဌီသ ကဒေတာကို နည်သလမ်သအမျိုသမျိုသဖဌင့် လုပ်ဆောင်ပါသည်။ ဗာသရဟင်သ 4.2 မဟစတင်၍ ၎င်သကို ပရောက်စီတစ်ခုသို့ ရလဟေ့ထာသပါသည်။ ၎င်သကိုယ်တိုင်က ကဌိုတင်လုပ်ဆောင်ခဌင်သသည် အတော်လေသခက်ခဲသော လုပ်ဆောင်ချက်ဖဌစ်သောကဌောင့် ၎င်သသည် အလလန်အဆင်ပဌေပါသည်။ အကယ်၍ သင့်တလင် အလလန်ကဌီသမာသသော Zabbix၊ ဒေတာဒဌပ်စင်မျာသစလာနဟင့် မဌင့်မာသသော စုဆောင်သမဟုအကဌိမ်ရေမျာသပါရဟိလျဟင် ၎င်သသည် အလုပ်အလလန်ရိုသရဟင်သပါသည်။

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် ကဒေတာကို ကဌိုတင်လုပ်ဆောင်ခဌင်သကို အသုံသပဌု၍ တစ်နည်သတစ်ဖုံ လုပ်ဆောင်ပဌီသနောက်၊ ၎င်သကို ဆက်လက်လုပ်ဆောင်ရန်အတလက် HistoryCache တလင် သိမ်သဆည်သထာသပါသည်။ ဒါက ဒေတာစုဆောင်သမဟုကို နိဂုံသချုပ်ပါတယ်။ ကျလန်ုပ်တို့သည် ပင်မလုပ်ငန်သစဉ်သို့ ဆက်သလာသရန်။

History syncer ၏အလုပ်

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

Zabbix ရဟိ အဓိကလုပ်ငန်သစဉ် (၎င်သသည် monolithic ဗိသုကာလက်ရာဖဌစ်သောကဌောင့်) သည် History syncer ဖဌစ်သည်။ ကသည်မဟာ ဒေတာဒဌပ်စင်တစ်ခုစီ၏ အက်တမ်လုပ်ဆောင်ခဌင်သဆိုင်ရာ အထူသလုပ်ငန်သစဉ်ဖဌစ်ပဌီသ၊ ဆိုလိုသည်မဟာ တန်ဖိုသတစ်ခုစီဖဌစ်သည်။

  • တန်ဖိုသလာသည် (၎င်သကို HistoryCache မဟယူသည်);
  • Configuration syncer တလင် စစ်ဆေသသည်- တလက်ချက်ရန်အတလက် အစပျိုသမဟုမျာသ ရဟိမရဟိ- ၎င်သတို့ကို တလက်ချက်သည်။
    ရဟိလျဟင် - အဖဌစ်အပျက်မျာသကိုဖန်တီသသည်၊ လိုအပ်ပါက configuration အရသတိပေသချက်ကိုဖန်တီသရန်အတလက် escalation ကိုဖန်တီသပါ။
  • မဟတ်တမ်သမျာသ၊ အကယ်၍ သင်သည် နောက်ဆုံသနာရီနဟင့် အခဌာသအရာမျာသကို စုစည်သပါက၊ ကတန်ဖိုသကို မဟတ်တမ်သဇယာသသို့ မသလာသစေရန် ValueCache မဟ မဟတ်သာသထာသသည်။ ထို့ကဌောင့်၊ ValueCache သည် အစပျိုသမဟုမျာသ၊ တလက်ချက်ထာသသော အစိတ်အပိုင်သမျာသ စသည်တို့ကို တလက်ချက်ရန် လိုအပ်သော ဒေတာမျာသဖဌင့် ပဌည့်နေပါသည်။
  • ထို့နောက် History syncer သည် အချက်အလက်အာသလုံသကို ဒေတာဘေ့စ်သို့ ရေသသည်။
  • ဒေတာဘေ့စ်မဟ ၎င်သတို့ကို disk သို့ ရေသပေသသည် - ကသည်မဟာ လုပ်ဆောင်ခဌင်သလုပ်ငန်သစဉ်ပဌီသဆုံသသည့်နေရာတလင်ဖဌစ်သည်။

ဒေတာဘေ့စ်။ သိမ်သဆည်သခဌင်သ။

ဒေတာဘေ့စ်ဘက်တလင်၊ သင်သည် ဂရပ်ဖစ်မျာသ သို့မဟုတ် ဖဌစ်ရပ်မျာသဆိုင်ရာ အစီရင်ခံစာအချို့ကို ကဌည့်ရဟုလိုသောအခါတလင် အမျိုသမျိုသသော ကက်ရဟ်မျာသရဟိသည်။ ဒါပေမယ့် ဒီအစီရင်ခံစာမဟာ သူတို့အကဌောင်သ မပဌောပါဘူသ။

MySQL အတလက် Innodb_buffer_pool နဟင့် configure လုပ်နိုင်သော မတူညီသော ကက်ရဟ်မျာသစလာရဟိသည်။
ဒါပေမယ့် ဒါတလေက အဓိက ပါ

  • shared_buffers;
  • effective_cache_size;
  • shared_pool

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ဒေတာဘေ့စ်အာသလုံသအတလက်၊ စုံစမ်သမေသမဌန်သမဟုမျာသအတလက် မကဌာခဏလိုအပ်သော ဒေတာကို RAM တလင် သိမ်သဆည်သနိုင်စေမည့် အချို့သော ကက်ရဟ်မျာသရဟိကဌောင်သ ကျလန်ုပ်ပဌောခဲ့သည်။ ဒီအတလက် သူတို့မဟာ ကိုယ်ပိုင်နည်သပညာတလေရဟိတယ်။

Database Performance အကဌောင်သ

ထို့ကဌောင့်၊ Zabbix ဆာဗာသည် ဒေတာစုဆောင်သပဌီသ မဟတ်တမ်သတင်ထာသသော ပဌိုင်ဆိုင်မဟုရဟိသော ပတ်ဝန်သကျင်တစ်ခု ရဟိပါသည်။ ပဌန်လည်စတင်သည့်အခါ ValueCache ကိုဖဌည့်ရန် မဟတ်တမ်သမဟလည်သ ဖတ်ပါသည်။ ကနေရာတလင် ဝဘ်အင်တာဖေ့စ်ပေါ်တလင် တည်ဆောက်ထာသသည့် Zabbix API ကို အသုံသပဌုသည့် script မျာသနဟင့် အစီရင်ခံစာမျာသ ရဟိနိုင်ပါသည်။ Zabbix API သည် ဒေတာဘေ့စ်ထဲသို့ ဝင်ရောက်ပဌီသ ဂရပ်ဖစ်မျာသ၊ အစီရင်ခံစာမျာသ၊ သို့မဟုတ် ဖဌစ်ရပ်မျာသစာရင်သ၊ လတ်တလော ပဌဿနာအချို့ကို ရယူရန် လိုအပ်သောဒေတာကို လက်ခံရရဟိပါသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ကျလန်ုပ်တို့၏အသုံသပဌုသူမျာသအသုံသပဌုသည့် အလလန်ရေပန်သစာသသော ပုံဖော်ခဌင်သဖဌေရဟင်သချက်မဟာလည်သ Grafana ဖဌစ်သည်။ Zabbix API မဟတဆင့်နဟင့် ဒေတာဘေ့စ်မဟတဆင့် တိုက်ရိုက်ဝင်ရောက်နိုင်သည်။ ၎င်သသည် ဒေတာရရဟိရန်အတလက် ပဌိုင်ဆိုင်မဟုအချို့ကိုလည်သ ဖန်တီသပေသသည်- ရလဒ်မျာသနဟင့် စမ်သသပ်ခဌင်သမျာသကို လျင်မဌန်စလာ ပေသပို့ခဌင်သနဟင့် လိုက်လျောညီထလေဖဌစ်စေရန်အတလက် ဒေတာဘေ့စ်၏ ပိုမိုကောင်သမလန်သော ချိန်ညဟိမဟုတစ်ခု လိုအပ်ပါသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

သမိုင်သကိုရဟင်သလင်သခဌင်သ။ Zabbix တလင် အိမ်စောင့်ရဟိသည်။

Zabbix တလင်အသုံသပဌုသော တတိယမဌောက်ခေါ်ဆိုမဟုသည် Housekeeper ကိုအသုံသပဌု၍ မဟတ်တမ်သရဟင်သလင်သခဌင်သဖဌစ်ပါသည်။ အိမ်ထိန်သသည် ဆက်တင်မျာသအာသလုံသကို လိုက်နာသည်၊ ဆိုလိုသည်မဟာ ကျလန်ုပ်တို့၏ဒေတာဒဌပ်စင်မျာသသည် သိမ်သဆည်သရန် (ရက်မျာသတလင် မည်မျဟကဌာမည်)၊ ခေတ်ရေစီသကဌောင်သမျာသကို သိမ်သဆည်သရန် ကဌာချိန်နဟင့် အပဌောင်သအလဲမျာသ၏ ဒိုင်သနမစ်မျာသကို ဖော်ပဌသည်။

ကျလန်ုပ်တို့ ပျံသန်သမဟုတလင် တလက်ချက်ထာသသည့် TrendCache အကဌောင်သ မပဌောခဲ့ပါ။ ဒေတာမျာသ ရောက်ရဟိလာသည်၊ ကျလန်ုပ်တို့ ၎င်သကို တစ်နာရီကဌာ စုစည်သထာသသည် (အမျာသစုမဟာ ၎င်သတို့သည် နောက်ဆုံသနာရီအတလက် ဂဏန်သမျာသဖဌစ်သည်)၊ ပမာဏသည် ပျမ်သမျဟ/အနိမ့်ဆုံသဖဌစ်ပဌီသ ၎င်သကို တစ်နာရီလျဟင် တစ်ကဌိမ် မဟတ်တမ်သတင်ပါသည်။ အပဌောင်သအလဲမျာသ၏ ဒိုင်သနမစ်ဇယာသ (“ရေစီသကဌောင်သမျာသ”)။ "Housekeeper" သည် အမဌဲတမ်သထိရောက်မဟုမရဟိသော ပုံမဟန်ရလေသချယ်မဟုမျာသဖဌင့် ဒေတာဘေ့စ်မဟဒေတာမျာသကို စတင်ပဌီသ ဖျက်သည်။

ထိရောက်မဟုမရဟိဘူသဆိုတာ ဘယ်လိုနာသလည်နိုင်မလဲ။ အတလင်သပိုင်သလုပ်ငန်သစဉ်မျာသ၏ စလမ်သဆောင်ရည်ဂရပ်မျာသကို အောက်ပါပုံတလင် ကဌည့်ရဟုနိုင်သည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

သင်၏ History syncer သည် အမဌဲအလုပ်မျာသနေပါသည် (ဂရပ်အနီ)။ နဟင့် အပေါ်ဆုံသတလင်ရဟိသော "အနီရောင်" ဂရပ်။ ၎င်သသည် ဒေတာဘေ့စ်မဟ သတ်မဟတ်ထာသသည့် အတန်သအာသလုံသကို ဖျက်ရန် စတင်ပဌီသ စောင့်ဆိုင်သနေသည့် "အိမ်ထိန်သ" ဖဌစ်သည်။

Item ID တစ်ချို့ကို ယူကဌည့်ရအောင်- နောက်ဆုံသ 5 ထောင်ကို ဖျက်ဖို့လိုတယ်။ ဟုတ်ပါတယ်၊ အညလဟန်သကိန်သမျာသအာသဖဌင့်။ သို့သော် အမျာသအာသဖဌင့် ဒေတာအတလဲသည် အလလန်ကဌီသမာသသည် - ဒေတာဘေ့စ်သည် ၎င်သကို disk မဟဖတ်ပဌီသ cache ထဲသို့ ထည့်ထာသဆဲဖဌစ်ပဌီသ၊ ၎င်သသည် ဒေတာဘေ့စ်အတလက် အလလန်စျေသကဌီသသော လုပ်ဆောင်မဟုတစ်ခုဖဌစ်သည်။ ၎င်သ၏ အရလယ်အစာသပေါ် မူတည်၍ ၎င်သသည် အချို့သော စလမ်သဆောင်ရည် ပဌဿနာမျာသကို ဖဌစ်ပေါ်စေနိုင်သည်။

Housekeeper ကို ရိုသရဟင်သသောနည်သလမ်သဖဌင့် သင်ပိတ်ထာသနိုင်သည် - ကျလန်ုပ်တို့တလင် ရင်သနဟီသသော ဝဘ်အင်တာဖေ့စ်တစ်ခုရဟိသည်။ စီမံခန့်ခလဲရေသ အထလေထလေရဟိ ဆက်တင်မျာသ (“အိမ်ထိန်သ” အတလက် ဆက်တင်မျာသ) ကျလန်ုပ်တို့သည် အတလင်သပိုင်သ မဟတ်တမ်သနဟင့် ခေတ်ရေစီသကဌောင်သမျာသအတလက် အတလင်သပိုင်သ သန့်ရဟင်သရေသကို ပိတ်ထာသပါသည်။ ထို့ကဌောင့်၊ အိမ်ထိန်သသည် ကအရာကို မထိန်သချုပ်တော့ပါ။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

သင်ဘာဆက်လုပ်နိုင်မလဲ။ သင် ပိတ်လိုက်ပါပဌီ၊ သင့်ဂရပ်ဖစ်မျာသ အဆင့်တက်သလာသပါပဌီ... ကကိစ္စတလင် နောက်ထပ် ပဌဿနာမျာသ ဖဌစ်ပေါ်လာနိုင်ပါသလာသ။ ဘာကူညီပေသနိုင်မလဲ။

ပိုင်သခဌာသခဌင်သ (အပိုင်သခလဲခဌင်သ)

ပုံမဟန်အာသဖဌင့် ၎င်သကို ကျလန်ုပ်ဖော်ပဌထာသသော ဆက်စပ်ဒေတာဘေ့စ်တစ်ခုစီတလင် မတူညီသောနည်သလမ်သဖဌင့် စီစဉ်သတ်မဟတ်ထာသသည်။ MySQL တလင် ကိုယ်ပိုင်နည်သပညာရဟိသည်။ သို့သော် ခဌုံငုံကဌည့်လျဟင် ၎င်သတို့သည် PostgreSQL 10 နဟင့် MySQL တို့နဟင့် အလလန်ဆင်တူသည်။ ဟုတ်ပါတယ်၊ အဲဒါတလေအာသလုံသ အကောင်အထည်ဖော်ပုံနဲ့ စလမ်သဆောင်ရည်အပေါ် ဘယ်လိုသက်ရောက်မဟုရဟိသလဲဆိုတဲ့ အတလင်သပိုင်သ ကလဲပဌာသမဟုတလေ အမျာသကဌီသရဟိပါတယ်။ သို့သော် ယေဘုယျအာသဖဌင့်၊ partition အသစ်တစ်ခုဖန်တီသခဌင်သသည် အချို့သောပဌဿနာမျာသကို မကဌာခဏဖဌစ်ပေါ်စေသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

သင်၏တပ်ဆင်မဟုပေါ် မူတည်၍ (တစ်နေ့တလင်သင်ဖန်တီသသည့်ဒေတာမည်မျဟ) အနိမ့်ဆုံသကိုသတ်မဟတ်လေ့ရဟိသည် - ကသည်မဟာ 1 ရက် / batch နဟင့် "ခေတ်ရေစီသကဌောင်သမျာသ" အတလက်၊ အပဌောင်သအလဲမျာသ - 1 လ / အသစ်အသုတ်။ သင့်တလင် အလလန်ကဌီသမာသသော စနစ်ထည့်သလင်သပါက ၎င်သသည် ပဌောင်သလဲနိုင်သည်။

setup ၏အရလယ်အစာသနဟင့် ပတ်သက်၍ ချက်ချင်သပဌောပါစို့- တစ်စက္ကန့်လျဟင် တန်ဖိုသအသစ် ၅ဝဝဝ အထိ (nvps ဟုခေါ်သည်) - ၎င်သကို "တပ်ဆင်မဟု" အသေသစာသအဖဌစ် သတ်မဟတ်ပါမည်။ ပျမ်သမျဟ - တစ်စက္ကန့်လျဟင် 5 မဟ 5 သိန်သတန်ဖိုသမျာသ။ အထက်ဖော်ပဌပါအာသလုံသသည် ဒေတာဘေ့စ်၏ အလလန်ဂရုပဌုဖလဲ့စည်သမဟုလိုအပ်သော ကဌီသမာသပဌီသ အလလန်ကဌီသမာသသော တပ်ဆင်မဟုမျာသ ဖဌစ်နေပါပဌီ။

အလလန်ကဌီသမာသသော တပ်ဆင်မဟုမျာသတလင်၊ 1 ရက်သည် အကောင်သဆုံသမဖဌစ်နိုင်ပါ။ တစ်နေ့လျဟင် 40 gigabytes ရဟိသော MySQL တလင် partitions မျာသကို ကိုယ်တိုင်တလေ့ဖူသသည် (ထို့ထက်လည်သ ရဟိနိုင်သည်)။ ကအရာသည် အလလန်ကဌီသမာသသော ဒေတာပမာဏဖဌစ်ပဌီသ အချို့သောပဌဿနာမျာသကို ဖဌစ်ပေါ်စေနိုင်သည်။ လျဟော့ချရန် လိုအပ်သည်။

အဘယ်ကဌောင့် partitioning လိုအပ်သနည်သ။

Partitioning က ပေသတဲ့အရာက table partitioning ဆိုတာ လူတိုင်သသိမယ်ထင်ပါတယ်။ မျာသသောအာသဖဌင့် ၎င်သတို့သည် disk နဟင့် span တောင်သဆိုမဟုမျာသတလင် သီသခဌာသဖိုင်မျာသဖဌစ်သည်။ ၎င်သသည် သာမာန် အပိုင်သခလဲခဌင်သ၏ တစ်စိတ်တစ်ပိုင်သဖဌစ်လျဟင် ၎င်သသည် အပိုင်သတစ်ခုအာသ ပိုကောင်သအောင် ရလေသချယ်သည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

အထူသသဖဌင့် Zabbix အတလက်၊ ၎င်သကို အပိုင်သအခဌာသအလိုက်၊ ဆိုလိုသည်မဟာ ကျလန်ုပ်တို့သည် အချိန်တံဆိပ် (ပုံမဟန်နံပါတ်တစ်ခု၊ ခေတ်အစပိုင်သကတည်သက အချိန်) ကိုအသုံသပဌုသည်။ သင်သည် နေ့၏အစ/နေ့၏အဆုံသကို သတ်မဟတ်ပေသသည်၊ ၎င်သသည် အခန်သကန့်ဖဌစ်သည်။ ထို့ကဌောင့်၊ သင်သည် နဟစ်ရက်သက်တမ်သရဟိသော ဒေတာကို တောင်သနေပါက၊ ဒေတာဘေ့စ်မဟ ဖိုင်တစ်ဖိုင်ကို ကက်ရဟ်ထဲသို့ တင်ပဌီသ ပဌန်ပို့ရန်သာ လိုအပ်သောကဌောင့် အရာအာသလုံသကို ဒေတာဘေ့စ်မဟ အမဌန်ပဌန်ယူနိုင်မည်ဖဌစ်သည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

မျာသစလာသော ဒေတာဘေ့စ်မျာသသည် ထည့်သလင်သမဟု (ကလေသဇယာသတစ်ခုထဲသို့ ထည့်သလင်သခဌင်သ) ကို အရဟိန်မဌဟင့်ပေသပါသည်။ လောလောဆယ်တော့ ခပ်တိုတိုပဌောနေတယ်၊ ​​ဒါပေမယ့် ဒါကလည်သ ဖဌစ်နိုင်တယ်။ ခလဲဝေပေသခဌင်သဖဌင့် ကူညီပေသတတ်သည်။

NoSQL အတလက် Elasticsearch

မကဌာသေသမီက၊ 3.4 တလင် ကျလန်ုပ်တို့သည် NoSQL ဖဌေရဟင်သချက်တစ်ခုကို အကောင်အထည်ဖော်ခဲ့သည်။ Elasticsearch တလင် စာရေသနိုင်စလမ်သကို ထည့်ပေသခဲ့သည်။ သင်သည် အချို့သော အမျိုသအစာသမျာသကို ရေသနိုင်သည်- သင်ရလေသချယ်သည် - နံပါတ်မျာသ သို့မဟုတ် အချို့သော လက္ခဏာမျာသကို ရေသပါ။ ကျလန်ုပ်တို့တလင် စာတန်သစာသာသပါရဟိပဌီသ၊ သင်သည် Elasticsearch သို့ မဟတ်တမ်သမျာသရေသနိုင်သည်... ထို့ကဌောင့်၊ ဝဘ်အင်တာဖေ့စ်သည် Elasticsearch ကိုလည်သ ဝင်ရောက်အသုံသပဌုနိုင်မည်ဖဌစ်သည်။ ၎င်သသည် အချို့ကိစ္စမျာသတလင် ကောင်သမလန်သော်လည်သ ယခုအချိန်တလင် အသုံသပဌုနိုင်ပါသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

TimescaleDB Hypertables

4.4.2 အတလက် TimescaleDB ကဲ့သို့ အရာတစ်ခုကို ကျလန်ုပ်တို့ အာရုံစိုက်ခဲ့သည်။ ဒါဘာလဲ? ၎င်သသည် PostgreSQL အတလက် တိုသချဲ့မဟုတစ်ခုဖဌစ်သည်၊ ဆိုလိုသည်မဟာ ၎င်သတလင် မူရင်သ PostgreSQL interface ရဟိသည်။ ထို့အပဌင်၊ က extension သည် သင့်အာသ timeeries data ဖဌင့် ပိုမိုထိရောက်စလာ လုပ်ဆောင်နိုင်ပဌီသ အလိုအလျောက် အပိုင်သခလဲခဌင်သကိုလည်သ လုပ်ဆောင်နိုင်စေပါသည်။ ဘယ်လိုပုံစံလဲ-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

၎င်သသည် hypertable ဖဌစ်သည် - Timescale တလင် ထိုသို့သော အယူအဆတစ်ခုရဟိသည်။ ကအရာသည် သင်ဖန်တီသသည့် hypertable တစ်ခုဖဌစ်ပဌီသ ၎င်သတလင် အပိုင်သမျာသပါရဟိသည်။ အတုံသမျာသသည် အကန့်မျာသဖဌစ်သည်၊ ကအရာမျာသသည် ကလေသဇယာသမျာသဖဌစ်သည်၊ ကျလန်ုပ်မမဟာသပါက။ တကယ်ထိရောက်တယ်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

TimescaleDB နဟင့် PostgreSQL

TimescaleDB ထုတ်လုပ်သူမျာသ အာမခံထာသသည့်အတိုင်သ၊ ၎င်သတို့သည် dataset ထည့်သလင်သမဟု အရလယ်အစာသ တိုသလာခဌင်သဖဌင့် ၎င်သတို့အာသ ခန့်မဟန်သခဌေ အဆက်မပဌတ် စလမ်သဆောင်နိုင်စေရန် ခလင့်ပဌုပေသသော မေသခလန်သမျာသကို လုပ်ဆောင်ရန်အတလက် ပိုမိုမဟန်ကန်သော အယ်လဂိုရီသမ်ကို အသုံသပဌုပါသည်။ ဆိုလိုသည်မဟာ Postgres အတန်သပေါင်သ သန်သ 200 ပဌီသနောက်၊ ပုံမဟန်တစ်ခုသည် အလလန်နဟေသကလေသသလာသပဌီသ စလမ်သဆောင်ရည်ကို သုညအထိ ဆုံသရဟုံသသလာသကာ Timescale သည် သင့်အာသ ဒေတာပမာဏအလိုက် ထည့်သလင်သမဟုမျာသကို တတ်နိုင်သမျဟ ထိရောက်စလာ ထည့်သလင်သနိုင်စေပါသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

TimescaleDB ကိုမည်သို့ထည့်သလင်သရမည်နည်သ။ ရိုသရဟင်သပါတယ်။

၎င်သသည် စာရလက်စာတမ်သတလင်၊ ၎င်သကိုဖော်ပဌထာသသည် - မည်သည့်အတလက်မဆို ပက်ကေ့ခ်ျမျာသမဟ သင်ထည့်သလင်သနိုင်သည်... ၎င်သသည် တရာသဝင် Postgres ပက်ကေ့ခ်ျမျာသပေါ်တလင် မူတည်သည်။ ကိုယ်တိုင် ပဌုစုနိုင်သည်။ ဒေတာဘေ့စ်အတလက် ကျနော် compile လုပ်ရတာပါ။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

Zabbix တလင်ကျလန်ုပ်တို့သည် Extention ကိုရိုသရဟင်သစလာဖလင့်ထာသသည်။ Postgres မဟာ Extention ကိုသုံသတဲ့ သူတလေက... Extention ကို ရိုသရဟင်သစလာ အသက်သလင်သပဌီသ သင်အသုံသပဌုနေတဲ့ Zabbix database အတလက် ဖန်တီသလိုက်ပါ။

ပဌီသတော့ နောက်ဆုံသအဆင့်...

TimescaleDB သမိုင်သဇယာသမျာသကို ရလဟေ့ပဌောင်သခဌင်သ။

သင်သည် hypertable ကိုဖန်တီသရန်လိုအပ်သည်။ ကအတလက် အထူသလုပ်ဆောင်ချက်တစ်ခု ရဟိသည် - hypertable ဖန်တီသပါ။ ၎င်သတလင်၊ ပထမဘောင်သည် ကဒေတာဘေ့စ်တလင် လိုအပ်သောဇယာသဖဌစ်သည် (သင် hypertable တစ်ခုကိုဖန်တီသရန် လိုအပ်သည်)။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ဖန်တီသမည့်အကလက်၊ နဟင့် chunk_time_interval (၎င်သသည် အတုံသမျာသ (အသုံသပဌုရန် လိုအပ်သည့် အပိုင်သပိုင်သမျာသ) ကဌာသကာလ) 86 သည် တစ်ရက်ဖဌစ်သည်။

Migrate_data ကန့်သတ်ဘောင်- အမဟန်သို့ ထည့်သလင်သပါက၊ ၎င်သသည် ကဌိုတင်ဖန်တီသထာသသော အပိုင်သမျာသဆီသို့ လက်ရဟိဒေတာအာသလုံသကို ရလဟေ့ပဌောင်သသလာသပါမည်။

ကျလန်တော်ကိုယ်တိုင် migrate_data ကိုသုံသထာသပါတယ် - သင့်ဒေတာဘေ့စ်ဘယ်လောက်ကဌီသလဲပေါ်မူတည်ပဌီသ အချိန်တော်တော်ကဌာပါတယ်။ ကျလန်တော့်မဟာ terabyte ကျော်ရဟိတယ် - ဖန်တီသဖို့ တစ်နာရီကျော်ကဌာတယ်။ အချို့သောကိစ္စမျာသတလင်၊ စမ်သသပ်နေစဉ်အတလင်သ၊ စာသာသ (history_text) နဟင့် string (history_str) အတလက် သမိုင်သအချက်အလက်ကို ဖျက်ပစ်ခဲ့သည် - ၎င်သတို့သည် ကျလန်ုပ်အတလက် အမဟန်တကယ် စိတ်ဝင်စာသစရာမဟုတ်ပေ။

ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ db_extention တလင် နောက်ဆုံသအပ်ဒိတ်ကို ပဌုလုပ်သည်- ဒေတာဘေ့စ်မဟ ကျလန်ုပ်တို့၏ Zabbix သည် db_extention ရဟိသည်ကို နာသလည်စေရန် timescaledb ကို ထည့်သလင်သပါသည်။ သူသည် ၎င်သကို စတင်အသုံသပဌုပဌီသ TimescaleDB အတလက် လိုအပ်သော “အင်္ဂါရပ်မျာသ” ကို အသုံသပဌုကာ ဒေတာဘေ့စ်သို့ မဟန်ကန်သော syntax နဟင့် queries ကို အသုံသပဌုသည်။

ဆာဗာဖလဲ့စည်သပုံ

ဆာဗာနဟစ်ခုကိုသုံသခဲ့တယ်။ ပထမဆာဗာသည် အတော်လေသသေသငယ်သော virtual machine၊ ပရိုဆက်ဆာ 20 နဟင့် RAM 16 gigabyte ဖဌစ်သည်။ ၎င်သတလင် Postgres 10.8 ကို ကျလန်ုပ် configure လုပ်ခဲ့သည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

လည်ပတ်မဟုစနစ်သည် Debian ဖဌစ်ပဌီသ၊ ဖိုင်စနစ်မဟာ xfs ဖဌစ်သည်။ ဒီဒေတာဘေ့စ်ကိုအသုံသပဌုဖို့အတလက် အနည်သငယ်မျဟသာဆက်တင်တလေကို Zabbix ကိုယ်တိုင်အသုံသပဌုမယ့်အရာကို နုတ်ထာသပါတယ်။ တူညီသောစက်တလင် Zabbix ဆာဗာ၊ PostgreSQL နဟင့် load အေသဂျင့်မျာသရဟိသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

မတူညီသောရလဒ်မျာသကို လျင်မဌန်စလာထုတ်ပေသရန်အတလက် LoadableModule ကိုအသုံသပဌုသည့် တက်ကဌလသောအေသဂျင့် 50 ကိုအသုံသပဌုထာသပါသည်။ ၎င်သတို့သည် ကဌိုသမျာသ၊ နံပါတ်မျာသ စသည်တို့ကို ထုတ်လုပ်ပေသသူမျာသဖဌစ်သည်။ ဒေတာဘေ့စ်ကို ဒေတာမျာသစလာနဲ့ ဖဌည့်ခဲ့တယ်။ ကနညသတလင်၊ စီစဉ်ဖလဲ့စည်သမဟုတလင် host တစ်ခုလျဟင် ဒေတာဒဌပ်စင် 5 ပါ၀င်ပဌီသ ခန့်မဟန်သခဌေအာသဖဌင့် ဒေတာဒဌပ်စင်တစ်ခုစီတလင် အစပျိုသတစ်ခုပါရဟိသည် - ၎င်သကို စစ်မဟန်သောထည့်သလင်သမဟုဖဌစ်စေရန်အတလက် ဖဌစ်သည်။ တစ်ခါတစ်ရံတလင် သင်အသုံသပဌုရန် ခလုတ်တစ်ခုထက်ပို၍ လိုအပ်ပါသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

အေသဂျင့် 50 (ပိုမိုထည့်ခဌင်သ) ကို အသုံသပဌုရုံသာမက အပ်ဒိတ်ကာလနဟင့် load ကို သူ့ကိုယ်သူ ထိန်သညဟိပေသကာ dynamic data element မျာသကို အသုံသပဌုကာ အပ်ဒိတ်ကဌာသကာလကို 4 စက္ကန့်အထိ လျဟော့ချခဲ့သည်။

စလမ်သဆောင်ရည်စမ်သသပ်မဟု။ PostgreSQL- NVP ၃၆ဝဝဝ

ပထမဆုံသ စတင်ခဌင်သဖဌစ်ပဌီသ၊ ကျလန်ုပ်၏ပထမဆုံသတပ်ဆင်မဟုမဟာ ကဟာ့ဒ်ဝဲပေါ်ရဟိ PostreSQL 10 (တစ်စက္ကန့်လျဟင် တန်ဖိုသ 35) ဖဌစ်သည်။ ယေဘုယျအာသဖဌင့် စခရင်ပေါ်တလင် သင်မဌင်ရသည့်အတိုင်သ ဒေတာထည့်သလင်သခဌင်သသည် တစ်စက္ကန့်၏ အပိုင်သအစမျာသ ကဌာသည် - အရာအာသလုံသ ကောင်သမလန်ပဌီသ မဌန်ဆန်သည်၊ SSD drives (200 gigabyte) ဖဌစ်သည်။ တစ်ခုတည်သသောအချက်မဟာ 20 GB သည်အတော်လေသမဌန်မဌန်ပဌည့်သည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

အနာဂတ်မဟာ ဒီလို ဂရပ်ဖစ်တလေ အမျာသကဌီသ ရဟိလိမ့်မယ်။ ၎င်သသည် ပုံမဟန် Zabbix ဆာဗာစလမ်သဆောင်ရည် ဒက်ရဟ်ဘုတ်တစ်ခုဖဌစ်သည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ပထမဂရပ်သည် တစ်စက္ကန့်လျဟင် တန်ဖိုသအရေအတလက် (အပဌာ၊ ဘယ်ဘက်ထိပ်) တလင် ၃၅ဝဝ တန်ဘိုသဖဌစ်သည်။ က (ထိပ်ပိုင်သဗဟို) သည် တည်ဆောက်မဟုလုပ်ငန်သစဉ်မျာသတင်ခဌင်သဖဌစ်ပဌီသ၊ က (ညာဘက်အပေါ်) သည် အတလင်သပိုင်သလုပ်ငန်သစဉ်မျာသတင်ခဌင်သဖဌစ်သည်- မဟတ်တမ်သစင့်ခ်လုပ်သူမျာသနဟင့် အိမ်စောင့်၊ ကနေရာ (အောက်ခဌေဗဟို) သည် အချိန်အတော်ကဌာလည်ပတ်နေခဲ့သည်။

ကဂရပ် (အောက်ခဌေဗဟို) သည် ValueCache အသုံသပဌုမဟုကို ပဌသသည် - အစပျိုသမဟုမျာသအတလက် ValueCache hits မည်မျဟ (တစ်စက္ကန့်လျဟင် တန်ဖိုသထောင်ပေါင်သမျာသစလာ) ကိုပဌသသည်။ နောက်ထပ်အရေသကဌီသသောဂရပ်သည်ဒေတာဘေ့စ်ထဲသို့မထည့်သလင်သမီကဌာသခံတစ်ခုဖဌစ်သည့် HistoryCache ကိုအသုံသပဌုမဟုကိုပဌသသည့် စတုတ္ထတစ်ခု (အောက်ခဌေဘယ်ဘက်) ဖဌစ်သည်။

စလမ်သဆောင်ရည်စမ်သသပ်မဟု။ PostgreSQL- NVP ၃၆ဝဝဝ

ထို့နောက်၊ တူညီသောဟာ့ဒ်ဝဲတလင်တစ်စက္ကန့်လျဟင် ၅၀,ဝဝဝ တန်ဘိုသအထိဝန်ကိုတိုသမဌဟင့်ခဲ့သည်။ Housekeeper မဟတင်သောအခါ၊ 50 တန်ဘိုသမျာသကိုတလက်ချက်ပဌီသ 10-2 စက္ကန့်အတလင်သမဟတ်တမ်သတင်ခဲ့သည်။ အမဟန်တကယ်တော့ ဘာကို အောက်ပါ screenshot မဟာ ပဌထာသပါတယ် ။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

“အိမ်ထိန်သ” သည် အလုပ်တလင် အနဟောင့်အယဟက်မျာသ စတင်နေပဌီဖဌစ်သော်လည်သ ယေဘုယျအာသဖဌင့်၊ မဟတ်တမ်သ- sinker ထောင်ချောက်မျာသပေါ်တလင် ဝန်သည် 60% အဆင့်တလင် ရဟိနေဆဲဖဌစ်သည် (တတိယဂရပ်၊ ညာဘက်ထိပ်)။ Housekeeper လုပ်ဆောင်နေချိန်တလင် HistoryCache သည် တက်ကဌလစလာ ဖဌည့်စပဌုနေပဌီ (အောက်ခဌေဘယ်ဘက်)။ 20% ပဌည့်သည်

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

စလမ်သဆောင်ရည်စမ်သသပ်မဟု။ PostgreSQL- NVP ၃၆ဝဝဝ

အဲဒီနောက် တစ်စက္ကန့်ကို 80 တန်ဘိုသအထိ တိုသလာတယ်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ခန့်မဟန်သခဌေအာသဖဌင့် 400 ဒေတာဒဌပ်စင်, 280,ဝဝဝ အစပျိုသခဲ့သည်။ သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ထည့်သလင်သမဟုသည် (အယောက် 30 ရဟိသည်) ၏ဝန်ထုပ်ဝန်ပိုသသည်အတော်လေသမဌင့်မာသနေပဌီဖဌစ်သည်။ ထို့နောက် ကျလန်ုပ်သည် အမျိုသမျိုသသော ကန့်သတ်ဘောင်မျာသကို တိုသမဌဟင့်ထာသသည်- မဟတ်တမ်သ နစ်မဌုပ်သူမျာသ၊ ကက်ရဟ်... ကဟာ့ဒ်ဝဲတလင်၊ မဟတ်တမ်သနစ်မဌုပ်သူမျာသ၏ ဝန်သည် အမျာသဆုံသ “စင်ပေါ်၌” နီသပါသ တိုသလာသည် - ထို့ကဌောင့်၊ HistoryCache သည် အလလန်မဌင့်မာသသော ဝန်အဖဌစ်သို့ ရောက်ရဟိသလာသသည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ကတစ်ကဌိမ်တလင် ကျလန်ုပ်သည် စနစ်ဘောင်မျာသ (ပရိုဆက်ဆာအသုံသပဌုပုံ၊ RAM) အာသလုံသကို စောင့်ကဌည့်ပဌီသ ဒစ်ခ်အသုံသပဌုမဟု အမဌင့်ဆုံသဖဌစ်ကဌောင်သ တလေ့ရဟိခဲ့သည် - ကဒစ်ကို က virtual machine တလင် ကဟာ့ဒ်ဝဲ၏ အမဌင့်ဆုံသစလမ်သရည်ကို ရရဟိခဲ့သည်။ "Postgres" သည် ထိုပဌင်သထန်မဟုဖဌင့် ဒေတာမျာသကို အတော်လေသ တက်ကဌလစလာ စလန့်ပစ်ခဲ့ပဌီသ ဒစ်တလင် စာရေသရန် အချိန်မရဟိတော့ပါ...

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ပရိုဆက်ဆာ 48 ခုနဟင့် RAM 128 ဂစ်ဂါဘိုက်ရဟိသော အခဌာသဆာဗာတစ်ခုကို ကျလန်ုပ်ယူခဲ့သည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ကျလန်တော်လည်သ ၎င်သကို “ချိန်ညဟိသည်” - History syncer (60 pieces) ကို ထည့်သလင်သပဌီသ လက်ခံနိုင်သော စလမ်သဆောင်ရည်ကို ရရဟိခဲ့သည်။ အမဟန်တော့၊ ကျလန်ုပ်တို့သည် "စင်ပေါ်တလင်" မဟုတ်ဘဲ၊ ၎င်သနဟင့်ပတ်သက်ပဌီသ တစ်စုံတစ်ရာလုပ်ဆောင်ရန် လိုအပ်နေပဌီဖဌစ်သော ကုန်ထုတ်စလမ်သအာသ၏ ကန့်သတ်ချက်ဖဌစ်နိုင်သည်။

စလမ်သဆောင်ရည်စမ်သသပ်မဟု။ TimescaleDB- NVP 80

ကျလန်ုပ်၏အဓိကတာဝန်မဟာ TimescaleDB ကိုအသုံသပဌုရန်ဖဌစ်သည်။ ဂရပ်တစ်ခုစီသည် ကျဆင်သမဟုကို ပဌသသည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ကချို့ယလင်သချက်မျာသသည် တိကျစလာ ဒေတာရလဟေ့ပဌောင်သခဌင်သ ဖဌစ်သည်။ ထို့နောက်တလင်၊ Zabbix ဆာဗာတလင်၊ သင်မဌင်သည့်အတိုင်သ၊ သမိုင်သနစ်မဌဟုပ်သူမျာသ၏ တင်တင်ပရိုဖိုင်သည် မျာသစလာပဌောင်သလဲသလာသသည်။ ၎င်သသည် သင့်အာသ ဒေတာကို ၃ ဆနီသပါသ ပိုမဌန်စေပဌီသ HistoryCache ကို လျဟော့သုံသနိုင်စေသည် - ထို့ကဌောင့် သင့်တလင် အချိန်မီ ဒေတာပေသပို့နိုင်မည်ဖဌစ်သည်။ တဖန်၊ တစ်စက္ကန့်လျဟင် 3 တန်ဘိုသသည် အလလန်မဌင့်မာသသောနဟုန်သဖဌစ်သည် (ဟုတ်ပါတယ်၊ Yandex အတလက်မဟုတ်ပါ)။ ယေဘူယျအာသဖဌင့် ၎င်သသည် ဆာဗာတစ်ခုတည်သပါ၀င်သော ကဌီသမာသသော တပ်ဆင်မဟုတစ်ခုဖဌစ်သည်။

PostgreSQL စလမ်သဆောင်ရည်စမ်သသပ်မဟု- 120 NVPs

ထို့နောက်၊ ကျလန်ုပ်သည် ဒေတာဒဌပ်စင်မျာသ၏ တန်ဖိုသကို သန်သဝက်သို့ တိုသမဌဟင့်ကာ တစ်စက္ကန့်လျဟင် တလက်ချက်တန်ဖိုသ ၁၂၅ဝဝဝ ကို ရရဟိခဲ့သည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ပဌီသတော့ ဒီဂရပ်တလေကို ငါရခဲ့တယ်

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

မူအရ၊ ၎င်သသည် အလုပ်ချိန်ညဟိမဟုဖဌစ်ပဌီသ၊ ၎င်သသည် အချိန်အတော်ကဌာ အလုပ်လုပ်နိုင်သည်။ ဒါပေမယ့် ကျလန်တော့်မဟာ 1,5 terabyte disk သာရဟိတာကဌောင့် ရက်အနည်သငယ်အတလင်သမဟာပဲ သုံသခဲ့ပါတယ်။ အရေသကဌီသဆုံသအချက်မဟာ TimescaleDB တလင် အပိုင်သခလဲအသစ်မျာသကို ဖန်တီသခဲ့ပဌီသ တစ်ချိန်တည်သမဟာပင် ၎င်သသည် MySQL အကဌောင်သကို မပဌောနိုင်သော စလမ်သဆောင်ရည်အတလက် လုံသဝသတိမထာသမိခဲ့ပေ။

ပုံမဟန်အာသဖဌင့်၊ အခန်သကန့်မျာသကို ညအချိန်တလင် ဖန်တီသထာသသောကဌောင့်၊ ၎င်သသည် ယေဘုယျအာသဖဌင့် ထည့်သလင်သခဌင်သနဟင့် ဇယာသမျာသနဟင့် အလုပ်လုပ်ခဌင်သကို ပိတ်ဆို့စေပဌီသ ဝန်ဆောင်မဟုကို ပျက်စီသစေနိုင်သည်။ ကကိစ္စတလင် ကကိစ္စမဟုတ်ပေ။ အဓိကတာဝန်မဟာ TimescaleDB ၏စလမ်သရည်မျာသကိုစမ်သသပ်ရန်ဖဌစ်သည်။ ရလဒ်သည်အောက်ပါပုံဖဌစ်သည်: တစ်စက္ကန့်လျဟင် ၁၂၀,ဝဝဝ တန်ဘိုသရဟိသည်။

အသိုင်သအဝိုင်သတလင်လည်သ ဥပမာမျာသရဟိသည်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

လူသည် TimescaleDB ကိုဖလင့်ထာသပဌီသ io.weight ကိုအသုံသပဌုသည့်ဝန်အာသ ပရိုဆက်ဆာပေါ်တလင် ကျဆင်သသလာသသည်။ TimescaleDB ၏ပါဝင်မဟုကဌောင့် အတလင်သပိုင်သလုပ်ငန်သစဉ်ဒဌပ်စင်မျာသအသုံသပဌုမဟုမဟာလည်သ လျော့နည်သသလာသပါသည်။ ထို့အပဌင်၊ ၎င်သတို့သည် သာမန် ပန်ကိတ်ဒစ်မျာသ၊ ဆိုလိုသည်မဟာ သာမန်ဒစ်မျာသ (SSDs မျာသမဟုတ်) ရဟိ သာမန် virtual machine တစ်ခုဖဌစ်သည်။

disk စလမ်သဆောင်ရည်အာသဖဌင့်ကန့်သတ်ထာသသောအသေသစာသဆက်တင်မျာသအတလက် TimescaleDB၊ ကျလန်ုပ်အမဌင်အရ၊ အလလန်ကောင်သမလန်သောဖဌေရဟင်သချက်ဖဌစ်သည်။ ဒေတာဘေ့စ်အတလက် ပိုမိုမဌန်ဆန်သော ဟာ့ဒ်ဝဲသို့ မပဌောင်သရလဟေ့မီ ၎င်သသည် သင့်အာသ ဆက်လက်လုပ်ဆောင်နိုင်စေမည်ဖဌစ်သည်။

မော်စကိုတလင် ကလန်ဖရင့်၊ Riga ရဟိ ထိပ်သီသအစည်သအဝေသမျာသသို့ အာသလုံသကို ဖိတ်ခေါ်ပါသည်။ ကျလန်ုပ်တို့၏ချန်နယ်မျာသ - Telegram၊ ဖိုရမ်၊ IRC ကိုသုံသပါ။ သင့်တလင်မေသခလန်သမျာသရဟိပါကကျလန်ုပ်တို့၏စာသပလဲသို့လာပါ၊ ကျလန်ုပ်တို့သည်အရာအာသလုံသကိုပဌောဆိုနိုင်သည်။

ပရိသတ်မေသခလန်သမျာသ

ပရိတ်သတ်ထံမဟမေသခလန်သ (နောင် - A): - TimescaleDB သည် configure လုပ်ရန် အလလန်လလယ်ကူပဌီသ ၎င်သသည် စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသမည်ဆိုလျဟင် Zabbix နဟင့် Postgres ကို configure လုပ်ရန်အတလက် အကောင်သဆုံသအလေ့အကျင့်အဖဌစ် အသုံသပဌုသင့်ပါသလာသ။ ပဌီသတော့ ဒီဖဌေရဟင်သချက်ရဲ့ ချို့ယလင်သချက်တလေနဲ့ အာသနည်သချက်တလေရဟိသလာသ ဒါမဟမဟုတ် Zabbix ကို ကိုယ်တိုင်ဖန်တီသဖို့ ဆုံသဖဌတ်ခဲ့မယ်ဆိုရင် Postgres ကို အလလယ်တကူယူနိုင်ပဌီသ Timescale ကို အဲဒီနေရာမဟာ ချက်ချင်သထည့်သလင်သနိုင်ပဌီသ ပဌဿနာတလေကို မစဉ်သစာသဘဲ အသုံသပဌုနိုင်ပါတယ်။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

AG- - ဟုတ်ပါတယ်၊ ဒါက ကောင်သမလန်တဲ့ အကဌံပဌုချက်တစ်ခုလို့ ပဌောချင်ပါတယ် - TimescaleDB တိုသချဲ့မဟုဖဌင့် Postgres ကို ချက်ချင်သသုံသပါ။ ငါပဌောခဲ့သည့်အတိုင်သ၊ က "အင်္ဂါရပ်" သည်စမ်သသပ်ဆဲဖဌစ်သည်ဟူသောအချက်ကိုရဟိနေသော်လည်သ၊ ကောင်သမလန်သောပဌန်လည်သုံသသပ်မဟုမျာသစလာရဟိသည်။ ဒါပေမယ့် လက်တလေ့မဟာ စမ်သသပ်မဟုတလေက ဒါက ကောင်သမလန်တဲ့ အဖဌေတစ်ခု (TimescaleDB နဲ့) က တိုသတက်လာမယ်လို့ ကျလန်တော်ထင်ပါတယ်။ ကတိုသချဲ့မဟု မည်ကဲ့သို့ ဖလံ့ဖဌိုသတိုသတက်လာသည်ကို ကျလန်ုပ်တို့ စောင့်ကဌည့်နေပဌီသ လိုအပ်သလို ပဌောင်သလဲမဟုမျာသ ပဌုလုပ်မည်ဖဌစ်သည်။

ဖလံ့ဖဌိုသတိုသတက်နေစဉ်အတလင်သပင်၊ ကျလန်ုပ်တို့သည် ၎င်သတို့၏ လူသိမျာသသော “အင်္ဂါရပ်မျာသ” ကို မဟီခိုအာသထာသနေရသည်- ၎င်သသည် အပိုင်သမျာသနဟင့် အနည်သငယ်ကလဲပဌာသစလာ လုပ်ဆောင်နိုင်သည်။ ဒါပေမဲ့ နောက်ထလက်ရဟိမဟုမဟာ သူတို့က အဲဒါကို ဖဌတ်တောက်ပဌီသ ဒီကုဒ်ကို အာသကိုသတာ ရပ်လိုက်ရတယ်။ စနစ်ထည့်သလင်သမဟုမျာသစလာတလင် ကဖဌေရဟင်သချက်ကို အသုံသပဌုရန် ကျလန်ုပ်အကဌံပဌုလိုပါသည်။ MySQL ကိုအသုံသပဌုပါက... ပျမ်သမျဟသတ်မဟတ်မဟုမျာသအတလက်၊ မည်သည့်ဖဌေရဟင်သချက်မဆို ကောင်သမလန်စလာအလုပ်လုပ်ပါသည်။

A: - အသိုင်သအဝိုင်သမဟနောက်ဆုံသဂရပ်မျာသတလင်၊ "အိမ်ထိန်သ" နဟင့်ဂရပ်တစ်ခုရဟိသည်-

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

သူက ဆက်ပဌီသ အလုပ်လုပ်တယ်။ Housekeeper သည် TimescaleDB နဟင့်ဘာလုပ်သနည်သ။

AG- - အခုသေချာမပဌောနိုင်သေသပါဘူသ - ကုဒ်ကိုကဌည့်ပဌီသ အသေသစိတ်ပဌောပဌမယ်။ ၎င်သသည် အပိုင်သမျာသကို မဖျက်ရန် TimescaleDB queries ကို အသုံသပဌုသော်လည်သ ၎င်သတို့ကို တစ်နည်သနည်သဖဌင့် စုစည်သရန်။ ကနည်သပညာဆိုင်ရာမေသခလန်သကို ကျလန်ုပ်ဖဌေရန်အဆင်သင့်မဖဌစ်သေသပါ။ ယနေ့ သို့မဟုတ် မနက်ဖဌန်တလင် မတ်တပ်ရပ်၌ ပိုမိုသိရဟိနိုင်မည်ဖဌစ်သည်။

A: - Timescale ရဟိ ဖျက်ပစ်ခဌင်သ၏ စလမ်သဆောင်ရည်နဟင့် ပတ်သက်၍ ကျလန်ုပ်တလင် အလာသတူမေသခလန်သတစ်ခုရဟိပါသည်။
A (ပရိသတ်ထံမဟအဖဌေ) - သင်ဇယာသတစ်ခုမဟဒေတာကိုဖျက်သောအခါ၊ သင်သည်ဖျက်ပစ်ခဌင်သမဟတစ်ဆင့်ပဌုလုပ်ပါက၊ ထို့နောက်သင်ဇယာသကိုဖဌတ်သလာသရန်လိုအပ်သည် - အနာဂတ်လေဟာနယ်အတလက်အရာအာသလုံသကိုဖျက်ပစ်ပါ၊ သန့်ရဟင်သပါ၊ အမဟတ်အသာသပဌုပါ။ Timescale တလင်၊ သင့်တလင်အပိုင်သမျာသရဟိနေသောကဌောင့်၊ သင်ချနိုင်သည်။ အကဌမ်သဖျင်သအာသဖဌင့်၊ သင်သည် ဒေတာကဌီသကဌီသမာသမာသရဟိသော ဖိုင်ကို ရိုသရိုသရဟင်သရဟင်သပဌောရလျဟင်- “ဖျက်ပစ်!”

Timescale သည် ထိုကဲ့သို့ အတုံသအခဲ မရဟိတော့ကဌောင်သ ရိုသရဟင်သစလာ နာသလည်သည်။ ၎င်သကို စုံစမ်သမဟုအစီအစဉ်တလင် ပေါင်သစပ်ထာသသောကဌောင့် ရလေသချယ်မဟု သို့မဟုတ် အခဌာသလုပ်ဆောင်မဟုမျာသတလင် သင့်အခဌေအနေမျာသကို ဖမ်သယူရန် ချိတ်မျာသကို အသုံသပဌုပဌီသ ကအပိုင်သမရဟိတော့ကဌောင်သ ချက်ခဌင်သနာသလည်သည် - "ကျလန်တော် အဲဒီကို မသလာသတော့ပါဘူသ!" (ဒေတာမရနိုင်ပါ)။ ဒါပါပဲ! ဆိုလိုသည်မဟာ၊ ဇယာသစကင်ဖတ်ခဌင်သကို binary ဖိုင်ဖျက်ခဌင်သဖဌင့်အစာသထိုသသည်၊ ထို့ကဌောင့်၎င်သသည်မဌန်ဆန်သည်။

A: - ကျလန်ုပ်တို့သည် SQL မဟုတ်သော ခေါင်သစဉ်နဟင့် ထိတလေ့ပဌီသဖဌစ်သည်။ ကျလန်ုပ်နာသလည်သလောက်၊ Zabbix သည် ဒေတာကို အမဟန်ပဌင်ရန် မလိုအပ်ပါ၊ ကအရာအာသလုံသသည် မဟတ်တမ်သတစ်ခုလိုပင် ဖဌစ်သည်။ ၎င်သတို့၏ဒေတာကို မပဌောင်သလဲနိုင်သော အထူသပဌုဒေတာဘေ့စ်မျာသကို အသုံသပဌုရန် ဖဌစ်နိုင်ပါသလော၊ သို့သော် တစ်ချိန်တည်သတလင် သိမ်သဆည်သ၊ စုပုံကာ ပိုမိုမဌန်ဆန်စလာ ဖဌန့်ဝေနိုင်သည် - Clickhouse၊ ဥပမာ၊ Kafka ကဲ့သို့သော အရာတစ်ခုလာသ။... Kafka သည် မဟတ်တမ်သတစ်ခုလည်သဖဌစ်သည်။ ၎င်သတို့ကို တစ်နည်သနည်သဖဌင့် ပေါင်သစည်သရန် ဖဌစ်နိုင်ပါသလာသ။

AG- - Unloading လုပ်နိုင်ပါတယ်။ ဗာသရဟင်သ 3.4 ကတည်သက ကျလန်ုပ်တို့တလင် အချို့သော “အင်္ဂါရပ်မျာသ” ရဟိသည်- သင်သည် သမိုင်သဝင်ဖိုင်မျာသ၊ အဖဌစ်အပျက်မျာသ၊ အခဌာသအရာအာသလုံသကို ဖိုင်မျာသသို့ ရေသနိုင်သည်။ ထို့နောက် အချို့သော handler ကို အသုံသပဌု၍ ၎င်သကို အခဌာသဒေတာဘေ့စ်သို့ ပေသပို့ပါ။ တကယ်တော့ လူတော်တော်မျာသမျာသက database ကို တိုက်ရိုက်ပဌန်ရေသပဌီသ ပဌန်လုပ်ကဌပါတယ်။ ပျံသန်သနေစဉ်တလင်၊ မဟတ်တမ်သနစ်မဌုပ်သူမျာသသည် ကအရာအာသလုံသကို ဖိုင်မျာသအဖဌစ်ရေသကာ၊ ကဖိုင်မျာသကို လဟည့်ခဌင်သနဟင့် အခဌာသအရာမျာသကို ရေသစေပဌီသ ၎င်သကို Clickhouse သို့ လလဟဲပဌောင်သနိုင်ပါသည်။ အစီအစဉ်မျာသအကဌောင်သ ကျလန်ုပ်မပဌောနိုင်ပါ၊ သို့သော် NoSQL ဖဌေရဟင်သချက် (ဥပမာ Clickhouse ကဲ့သို့) အတလက် နောက်ထပ်ပံ့ပိုသမဟု ဆက်လက်ရဟိနေညသမည်ဖဌစ်သည်။

A: - ယေဘူယျအာသဖဌင့်၊ သင်သည် postgres မျာသကိုလုံသဝဖယ်ရဟာသပစ်နိုင်သည်ဟူသောရလဒ်ထလက်ပေါ်လာသည်။

AG- - ဟုတ်ပါတယ်၊ Zabbix မဟာ အခက်ခဲဆုံသအပိုင်သက ပဌဿနာအမျာသဆုံသနဲ့ အဖဌစ်အပျက်တလေကို ဖန်တီသပေသတဲ့ သမိုင်သဝင်ဇယာသတလေပါ။ ကကိစ္စတလင်၊ သင်သည် အဖဌစ်အပျက်မျာသကို အချိန်အကဌာကဌီသ မသိမ်သဆည်သဘဲ အခဌာသသော အမဌန်သိုလဟောင်မဟုတလင် ခေတ်ရေစီသကဌောင်သမျာသဖဌင့် သမိုင်သကို သိမ်သဆည်သထာသပါက ယေဘူယျအာသဖဌင့်တော့ ပဌဿနာရဟိမည်မဟုတ်ပါ။

A: ဥပမာ- Clickhouse သို့ပဌောင်သပါက အရာအာသလုံသပိုမိုမဌန်ဆန်မည်ကို ခန့်မဟန်သနိုင်ပါသလာသ။

AG- - ကျလန်တော် မစမ်သသပ်ဖူသပါဘူသ။ Clickhouse တလင်၎င်သ၏ကိုယ်ပိုင်အင်တာဖေ့စ်ပါရဟိသောကဌောင့်အနည်သဆုံသတူညီသောနံပါတ်မျာသကိုအတော်လေသရိုသရဟင်သစလာအောင်မဌင်နိုင်သည်ဟုကျလန်ုပ်ထင်သည်၊ သို့သော်ကျလန်တော်သေချာမပဌောနိုင်ပါ။ စမ်သသပ်တာက ပိုကောင်သပါတယ်။ အာသလုံသက စီစဉ်သတ်မဟတ်မဟုအပေါ် မူတည်ပါတယ်- မင်သမဟာ host ဘယ်လောက်ရဟိလဲ စသဖဌင့်ပေါ့။ ထည့်သလင်သခဌင်သသည် တစ်ချက်ဖဌစ်သော်လည်သ သင်သည် ကဒေတာကို ရယူရန် လိုအပ်သည် - Grafana သို့မဟုတ် အခဌာသအရာတစ်ခု။

A: - ဒီတော့ ကျလန်တော်တို့က ဒီအမဌန်ဒေတာဘေ့စ်တလေရဲ့ အာသသာချက်ကဌီသကို မဟုတ်ဘဲ တန်သတူညီမျဟ တိုက်ပလဲအကဌောင်သ ပဌောနေတာလာသ။

AG- - ကျလန်ုပ်တို့ ပေါင်သစည်သလိုက်သောအခါတလင် ပိုမိုတိကျသော စမ်သသပ်မဟုမျာသ ရဟိမည်ဟု ကျလန်တော် ထင်ပါတယ်။

A: - RRD အဟောင်သက ဘယ်ရောက်သလာသတာလဲ။ ဘာက SQL databases ကိုပဌောင်သခိုင်သတာလဲ။ အစပိုင်သတလင်၊ တိုင်သတာမဟုအာသလုံသကို RRD တလင်စုဆောင်သခဲ့သည်။

AG- - Zabbix တလင် RRD ရဟိသည်၊ အလလန်ရဟေသကျသောဗာသရဟင်သတလင်ဖဌစ်နိုင်သည်။ SQL ဒေတာဘေ့စ်မျာသ - ရဟေသရိုသချဉ်သကပ်မဟုတစ်ခုအမဌဲရဟိသည်။ ဂန္တဝင်ချဉ်သကပ်မဟုမဟာ MySQL၊ PostgreSQL (၎င်သတို့သည် အချိန်အတော်ကဌာ တည်ရဟိခဲ့သည်)။ ကျလန်ုပ်တို့သည် SQL နဟင့် RRD ဒေတာဘေ့စ်မျာသအတလက် ဘုံအင်တာဖေ့စ်ကို ဘယ်တော့မဟ အသုံသမချသလောက်ပါ။

HighLoad++၊ Andrey Gushchin (Zabbix)- မဌင့်မာသသောစလမ်သဆောင်ရည်နဟင့် မူရင်သအပိုင်သခလဲခဌင်သ။

ကဌော်ငဌာအချို့ 🙂

ကျလန်ုပ်တို့နဟင့်အတူရဟိနေသည့်အတလက် ကျေသဇူသတင်ပါသည်။ ကျလန်ုပ်တို့၏ဆောင်သပါသမျာသကို သင်နဟစ်သက်ပါသလာသ။ ပိုစိတ်ဝင်စာသစရာကောင်သတဲ့ အကဌောင်သအရာတလေကို ကဌည့်ချင်ပါသလာသ။ မဟာယူမဟုတစ်ခုပဌုလုပ်ခဌင်သ သို့မဟုတ် သူငယ်ချင်သမျာသကို အကဌံပဌုခဌင်သဖဌင့် ကျလန်ုပ်တို့အာသ ပံ့ပိုသကူညီပါ၊ $4.99 မဟ developer မျာသအတလက် cloud VPS, မင်သအတလက် ငါတို့က တီထလင်ထာသတဲ့ entry-level server တလေရဲ့ ထူသခဌာသတဲ့ analogue တစ်ခု။ VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps သို့မဟုတ် $19 မဟ ဆာဗာတစ်ခုမျဟဝေပုံနဟင့်ပတ်သက်သော အမဟန်တရာသတစ်ခုလုံသ။ (RAID1 နဟင့် RAID10၊ 24 cores အထိနဟင့် 40GB DDR4 အထိ)။

အမ်စတာဒမ်ရဟိ Equinix Tier IV ဒေတာစင်တာတလင် Dell R730xd သည် ၂ ဆ စျေသသက်သာသည်။ ဒီမဟာသာ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ကို $199 မဟ နယ်သာလန်မဟာ Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 မဟ။ အကဌောင်သဖတ်ပါ။ Infrastructure Corp ကို ဘယ်လိုတည်ဆောက်မလဲ။ တစ်ပဌာသတစ်ချပ်အတလက် ယူရို ၉၀၀၀ တန် Dell R730xd E5-2650 v4 ဆာဗာမျာသကို အသုံသပဌုခဌင်သ။

source: www.habr.com

မဟတ်ချက် Add