သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ

မင်္ဂလာပါ

ကျလန်ုပ်၏ရဟာဖလေတလေ့ရဟိချက်- တလေသခေါ်မဟု၊ စမ်သသပ်မဟုနဟင့် အမဟာသတို့၏ အသီသအပလင့်မျာသကို မျဟဝေရန် ဆုံသဖဌတ်ခဲ့သည်။
ယေဘုယျအာသဖဌင့်၊ ကသည်မဟာ ရဟာဖလေတလေ့ရဟိမဟုမဟုတ်ပါ၊ ဟုတ်ပါတယ် - ကအရာအာသလုံသကို DBMS တလင် အတိအကျ မလိုအပ်ဘဲ မည်သည့်စနစ်၏ ကိန်သဂဏန်သအချက်အလက်မျာသကို ပဌုပဌင်ခဌင်သနဟင့် ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သမျာသတလင် ပါဝင်နေသူမျာသအတလက် ကအရာအာသလုံသကို အချိန်အတော်ကဌာ သိထာသသင့်ပါသည်။
ဟုတ်တယ်၊ သူတို့ သိတယ်၊ သူတို့ သုတေသနနဲ့ ပတ်သက်တဲ့ စိတ်ဝင်စာသစရာ ဆောင်သပါသတလေ ရေသတယ်၊ နမူနာ (UPD.: မဟတ်ချက်မျာသတလင် သူတို့သည် အလလန်စိတ်ဝင်စာသဖလယ်ကောင်သသော ပရောဂျက်တစ်ခုကို ထောက်ပဌခဲ့သည်။ ottertune )
အခဌာသတစ်ဖက်တလင်၊ အိုင်တီကျလမ်သကျင်သူမျာသ၊ DBA တို့တလင် အင်တာနက်ပေါ်တလင် ကချဉ်သကပ်နည်သကို ကျယ်ကျယ်ပဌန့်ပဌန့်ဖော်ပဌခဌင်သ သို့မဟုတ် ဖဌန့်ဝေခဌင်သမျိုသ ကျလန်ုပ်မတလေ့ပါ။

ဆိုတော့ ပလိုင့်။

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

ကလုပ်ငန်သအကဌောင်သကို သိရဟိသည်- ၎င်သသည် အဘယ်အရာ၊ ကလုပ်ငန်သ၏ အရည်အသလေသကို တိုင်သတာသည်၊ ကအရည်အသလေသကို တိုင်သတာခဌင်သအတလက် စံသတ်မဟတ်ချက်ကာသ အဘယ်နည်သ။

၎င်သသည် ပိုမိုသိရဟိပဌီသ နာသလည်မဟုနည်သသည်ဟုလည်သ ယူဆကဌပါစို့- ကဝန်ဆောင်မဟုစနစ်တလင် အလုပ်မည်ကဲ့သို့လုပ်ဆောင်သည် (သို့မဟုတ်) အတိအကျဖဌစ်သည်။

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

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

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

ကောင်သပဌီ။ ဒါက အမဌဲတမ်သလိုလို ဖဌစ်နေပါတယ်။

မင်သဒီမဟာ ဘာလုပ်နိုင်မလဲ။

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

အဲဒါတလေ။ ၎င်သ၏ configuration parameters မျာသအတလက် သီသခဌာသတန်ဖိုသမျာသ သတ်မဟတ်ပုံစံဖဌင့် စနစ်အာသ ပုံစံတစ်မျိုသမျိုသ ပေသပါ။

ကကိရိယာ-အသုံသဝင်မဟု၊ load generator ကို အသုံသပဌု၍ ၎င်သတလင် စမ်သသပ်မဟုတစ်ခုအာသ အသုံသချပါ။
တန်ဖိုသ - တုံ့ပဌန်မဟု သို့မဟုတ် စနစ်အရည်အသလေသ၏ မက်ထရစ်ကိုကဌည့်ပါ။

ဒုတိယအတလေသသည် ကအချိန်သည် အလလန်ရဟည်လျာသသည်ဟု ကောက်ချက်ချနိုင်သည်။

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

ကောင်သပဌီ၊ ကသည်မဟာ သင်နာသလည်နိုင်၊ မဟတ်သာသနိုင်သောအရာဖဌစ်သည်။

ဝန်ဆောင်မဟုစနစ် ဆက်တင်မျာသ၏ တန်ဖိုသမျာသ ဘောင်မျာသတလင် အချို့သော တန်ဖိုသမျာသ၏ အစီအစဥ်အဖဌစ် vector တစ်ခု ရဟိနေကဌောင်သ သင်တလေ့ရဟိနိုင်သည်။

ထိုသို့သော vector တစ်ခုစီ၊ အခဌာသအရာမျာသသည် တူညီနေသည် (က vector ကဌောင့် မထိခိုက်သော) သည် စမ်သသပ်မဟုတစ်ခုအောက်တလင် စနစ်၏လုပ်ဆောင်မဟုအရည်အသလေသကို ညလဟန်ပဌသည့် မက်ထရစ်၏ လုံသဝတိကျသောတန်ဖိုသနဟင့် သက်ဆိုင်ပါသည်။

ဆိုလိုသည်မဟာ

system configuration vector ကို သရုပ်ဖော်ကဌပါစို့ သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သဘယ်မဟာ သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ; ဘယ်မဟာလဲ။ သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ — စနစ်ဖလဲ့စည်သပုံဆိုင်ရာ ကန့်သတ်ချက်မျာသ အရေအတလက်၊ ကကန့်သတ်ချက်မျာသ မည်မျဟရဟိသည်။

၎င်သနဟင့်သက်ဆိုင်သော မက်ထရစ်၏တန်ဖိုသ သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ အဲဒါကို အမဟတ်အသာသပဌုကဌပါစို့
သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သထို့နောက် function တစ်ခုရပါသည် သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ

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

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

  1. အဓိပ္ပာယ်မဟာ - လက်ဖဌင့် ကုဒ်ကို လျဟော့နိုင်စေရန်။
  2. ၎င်သသည်အလုပ်လုပ်ရန်၊ i.e. extremum (တစ်ခုရဟိလျဟင်) တလေ့သည်၊ ကောင်သပဌီ၊ အနည်သဆုံသ coordinate ဆင်သသက်ခဌင်သထက် ပိုမဌန်သည်။

ပထမအချက်မဟာ ထိုသို့သော algorithms မျာသကို အကောင်အထည် ဖော်ထာသပဌီသဖဌစ်သည့် အချို့သော ပတ်၀န်သကျင်ဆီသို့ ကဌည့်ရန် လိုအပ်ပဌီသ အချို့သော ပုံစံဖဌင့် ကုဒ်တလင် အသုံသပဌုရန် အသင့်ဖဌစ်နေပဌီ ဖဌစ်ကဌောင်သ အရိပ်အမဌလက် ပဌောကဌာသခဲ့သည်။
အင်သ ငါသိတယ်။ python О cran-r

ဒုတိယအချက်မဟာ algorithms မျာသကိုယ်တိုင်၊ ၎င်သတို့ဘာဖဌစ်သနည်သ၊ ၎င်သတို့၏ လိုအပ်ချက်မျာသနဟင့် အလုပ်၏အင်္ဂါရပ်မျာသအကဌောင်သ ဖတ်ရန် လိုအပ်ပါသည်။

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

သို့မဟုတ် ၎င်သတို့ကို algorithm ၏ရလဒ်မျာသမဟ ရယူနိုင်သည်။

ထည့်သလင်သမဟုအခဌေအနေမျာသပေါ်တလင် မျာသစလာမူတည်ပါသည်။

ဥပမာအာသဖဌင့်၊ အကဌောင်သတစ်ခုခုကဌောင့် သင်သည် ရလဒ်ပိုမဌန်ရန် လိုအပ်ပါက၊ သင်သည် gradient descent algorithms ဆီသို့ ကဌည့်ရဟုပဌီသ ၎င်သတို့ထဲမဟ တစ်ခုကို ရလေသချယ်ရန် လိုအပ်ပါသည်။

ဒါမဟမဟုတ် အချိန်က သိပ်အရေသမကဌီသဘူသဆိုရင် ဥပမာ၊ မျိုသရိုသဗီဇဆိုင်ရာ အယ်လဂိုရီသမ်လိုမျိုသ stochastic optimization နည်သလမ်သတလေကို သုံသနိုင်ပါတယ်။

ငါသည်ကချဉ်သကပ်မဟု၏အလုပ်အာသထည့်သလင်သစဉ်သစာသရန်အဆိုပဌုသည်၊ နောက်တစ်ခုတလင်၊ မျိုသရိုသဗီဇဆိုင်ရာ algorithm ကိုအသုံသပဌု၍ စနစ်ဖလဲ့စည်သမဟုပုံစံကိုရလေသချယ်ခဌင်သ၊ ဓါတ်ခလဲခန်သအလုပ်။

မူရင်သ-

  1. ဝန်ဆောင်မဟုစနစ်အဖဌစ် ရဟိပါစေ- oracle xe 18c
  2. အရောင်သအ၀ယ်လုပ်ဆောင်မဟုနဟင့် ပန်သတိုင်ကို ဆောင်ရလက်ပေသပါစေ- ဒေတာဘေ့စ်ခလဲ၏ အမဌင့်ဆုံသဖဌစ်နိုင်သော ဖဌတ်သန်သမဟုအာသ ရယူရန်၊ ငလေပေသငလေယူ/စက္ကန့်အတလင်သ။
  3. ငလေပေသငလေယူမျာသသည် ဒေတာဖဌင့်လုပ်ဆောင်ခဌင်သ၏ သဘောသဘာဝနဟင့် အလုပ်၏အခဌေအနေတလင် အလလန်ကလဲပဌာသနိုင်သည်။
    ကအရာမျာသသည် ဇယာသဒေတာ အမျာသအပဌာသကို မလုပ်ဆောင်နိုင်သော ငလေပေသငလေယူမျာသဖဌစ်ကဌောင်သ သဘောတူကဌပါစို့။
    ပဌန်လုပ်ခဌင်သထက် ဒေတာမျာသကို ပဌန်လုပ်ခဌင်သထက် ပိုမျာသသော undo data မျာသကို မထုတ်ပေသဘဲ အတန်သမျာသနဟင့် စာသပလဲကဌီသမျာသ၏ ရာခိုင်နဟုန်သမျာသစလာကို မလုပ်ဆောင်နိုင်သောကဌောင့်ဖဌစ်သည်။

ကဇယာသပေါ်ရဟိ အညလဟန်သအနည်သငယ်ဖဌင့် အနည်သအမျာသထက် ကဌီသမာသသော ဇယာသတစ်ခုတလင် အတန်သတစ်တန်သကို ပဌောင်သလဲသည့် အရောင်သအဝယ်မျာသဖဌစ်သည်။

ကအခဌေအနေတလင်- ငလေပေသငလေယူလုပ်ဆောင်ခဌင်သအတလက် ဒေတာဘေ့စ်ခလဲ၏ ကုန်ထုတ်စလမ်သအာသကို redox ဒေတာဘေ့စ်မဟ လုပ်ဆောင်ခဌင်သအရည်အသလေသဖဌင့် ကဌိုတင်စာရင်သသလင်သခဌင်သဖဌင့် ဆုံသဖဌတ်မည်ဖဌစ်သည်။

ရဟင်သလင်သချက် - subdb ဆက်တင်မျာသအကဌောင်သ အတိအကျပဌောလျဟင်။

အဘယ်ကဌောင့်ဆိုသော်၊ ယေဘူယျအခဌေအနေတလင်၊ ဥပမာအာသဖဌင့်၊ အသုံသပဌုသူသည် tabular data နဟင့်/သို့မဟုတ် tabular model ဖဌင့်အသုံသပဌုသူ၏ဒီဇိုင်သကဌောင့် SQL sessions မျာသကဌာသတလင် ငလေပေသငလေယူသော့ခတ်မဟုမျာသရဟိနိုင်သည်။

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

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

  1. ဒေတာဘေ့စ်သို့တင်ပဌသော SQL command မျာသ၏ 100% သည် DML command မျာသဖဌစ်ကဌောင်သ အတိအကျယူဆကဌပါစို့။
    စမ်သသပ်မဟုမျာသတလင် အသုံသပဌုသူ၏ လက္ခဏာရပ်မျာသသည် ဒေတာဘေ့စ်ခလဲနဟင့် အတူတူအလုပ်လုပ်ပါစေ။
    ဆိုလိုသည်မဟာ- skl sessions အရေအတလက်၊ tabular data၊ skl sessions မျာသသည် ၎င်သတို့နဟင့် မည်သို့အလုပ်လုပ်ပုံ။
  2. Subd တလင်အလုပ်လုပ်သည်။ FORCE LOGGING, ARCHIVELOG မလမ်သမံမဟုမျာသ။ လက်အောက်ခံအဆင့်တလင် Flashback-ဒေတာဘေ့စ်မုဒ်ကို ပိတ်ထာသသည်။
  3. မဟတ်တမ်သမျာသကို ပဌန်လုပ်ပါ- သီသခဌာသ “ဒစ်ခ်” ပေါ်တလင် သီသခဌာသ ဖိုင်စနစ်တစ်ခုတလင် တည်ရဟိသည်;
    ဒေတာဘေ့စ်၏ ကျန်အစိတ်အပိုင်သမျာသ- သီသခဌာသ ဖိုင်စနစ်၊ သီသခဌာသ “ဒစ်ခ်” တလင်၊

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

SQL> select status||' '||name from v$controlfile;
 /db/u14/oradata/XE/control01.ctl
SQL> select GROUP#||' '||MEMBER from v$logfile;
1 /db/u02/oradata/XE/redo01_01.log
2 /db/u02/oradata/XE/redo02_01.log
SQL> select FILE_ID||' '||TABLESPACE_NAME||' '||round(BYTES/1024/1024,2)||' '||FILE_NAME as col from dba_data_files;
4 UNDOTBS1 2208 /db/u14/oradata/XE/undotbs1_01.dbf
2 SLOB 128 /db/u14/oradata/XE/slob01.dbf
7 USERS 5 /db/u14/oradata/XE/users01.dbf
1 SYSTEM 860 /db/u14/oradata/XE/system01.dbf
3 SYSAUX 550 /db/u14/oradata/XE/sysaux01.dbf
5 MONITOR 128 /db/u14/oradata/XE/monitor.dbf
SQL> !cat /proc/mounts | egrep "/db/u[0-2]"
/dev/vda1 /db/u14 ext4 rw,noatime,nodiratime,data=ordered 0 0
/dev/mapper/vgsys-ora_redo /db/u02 xfs rw,noatime,nodiratime,attr2,nobarrier,inode64,logbsize=256k,noquota 0 0

အစပိုင်သတလင် ကဝန်ထုပ်ဝန်ပိုသအခဌေအနေအောက်တလင် ကျလန်ုပ်သည် ငလေပေသငလေယူ subd ကို အသုံသပဌုလိုပါသည်။ SLOB-ရဟိမဟာပေါ့။
၎င်သတလင် အလလန်ကောင်သမလန်သော အင်္ဂါရပ်တစ်ခုပါရဟိသည်၊ စာရေသသူကို ကိုသကာသဖော်ပဌပါမည်။

SLOB ၏ အဓိကအချက်မဟာ "SLOB နည်သလမ်သ" ဖဌစ်သည်။ SLOB နည်သလမ်သသည် ပလပ်ဖောင်သမျာသကို စမ်သသပ်ရန် ရည်ရလယ်သည်။
လျဟောက်လလဟာတင်ခဌင်သမရဟိဘဲ။ အမဌင့်ဆုံသ ဟာ့ဒ်ဝဲ စလမ်သဆောင်ရည်ကို မောင်သနဟင်နိုင်မဟာ မဟုတ်ပါဘူသ။
ဥပမာအာသဖဌင့် အပလီကေသရဟင်သလော့ခ်ချခဌင်သ သို့မဟုတ် ပင်တိုင်အာသဖဌင့် ချည်နဟောင်ထာသသော အပလီကေသရဟင်သကုဒ်ကို အသုံသပဌုခဌင်သ။
Oracle Database လုပ်ကလက်မျာသကို မျဟဝေခဌင်သ။ မဟန်ပါတယ်- ဒေတာကို မျဟဝေတဲ့အခါ အပေါ်မဟာ ရဟိတယ်။
ဒေတာဘလောက်မျာသတလင်။ သို့သော် SLOB—၎င်သ၏ပုံသေဖဌန့်ကျက်မဟုတလင်—ထိုကဲ့သို့သောငဌင်သခုံမဟုမျာသကို ခုခံနိုင်စလမ်သရဟိသည်။

ကကဌေငဌာချက်သည် သက်ဆိုင်ပါသည်။
cl session မျာသ၏ parallelism ၏ဒီဂရီကိုထိန်သညဟိရန်အဆင်ပဌေသည်၊ ကသည်မဟာသော့ချက်ဖဌစ်သည်။ -t utility ကိုဖလင့်ပါ။ runit.sh SLOB မဟ
လက်အောက်ခံသို့ ပေသပို့သည့် စာသာသမက်ဆေ့ချ်အရေအတလက်၊ စာသာသအပိုင်သတစ်ခုစီ၊ ကန့်သတ်ချက်တစ်ခုစီတလင် DML ညလဟန်ကဌာသချက်မျာသ၏ ရာခိုင်နဟုန်သကို ကန့်သတ်ထာသသည်။ UPDATE_PCT
သီသခဌာသနဟင့် အလလန်အဆင်ပဌေသည်- SLOB load session မတိုင်မီနဟင့် အပဌီသတလင် ၎င်သကိုယ်တိုင် - statspack သို့မဟုတ် awr-snapshots (ပဌင်ဆင်ရမည့်အရာ) ကို ပဌင်ဆင်သည်။

သို့သော်၊ ထိုသို့ဖဌစ်ခဲ့သည်။ SLOB ကဌာချိန် 30 စက္ကန့်ထက်နည်သသော SQL sessions မျာသကို မပံ့ပိုသပါ။
ထို့ကဌောင့်၊ ကျလန်ုပ်သည် ကျလန်ုပ်၏ကိုယ်ပိုင်၊ အလုပ်သမာသ-တောင်သူလယ်သမာသဗာသရဟင်သ loader ကို ညသစလာကုဒ်လုပ်ပဌီသနောက် ၎င်သသည် ဆက်လက်လည်ပတ်နေခဲ့သည်။

Loader က ဘာတလေလုပ်သလဲ ရဟင်သရဟင်သလင်သလင်သသိရအောင်။
ယေဘုယျအာသဖဌင့် loader သည်ကကဲ့သို့သောပုံရသည်။

အလုပ်သမာသကုဒ်

function dotx()
{
local v_period="$2"
[ -z "v_period" ] && v_period="0"
source "/home/oracle/testingredotracе/config.conf"

$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror exit failure
set verify off
set echo off
set feedback off

define wnum="$1"
define period="$v_period"
set appinfo worker_&&wnum

declare
 v_upto number;
 v_key  number;
 v_tots number;
 v_cts  number;
begin
 select max(col1) into v_upto from system.testtab_&&wnum;
 SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
 v_tots := &&period + v_cts;
 while v_cts <= v_tots
 loop
  v_key:=abs(mod(dbms_random.random,v_upto));
  if v_key=0 then
   v_key:=1;
  end if;
  update system.testtab_&&wnum t
  set t.object_name=translate(dbms_random.string('a', 120), 'abcXYZ', '158249')
  where t.col1=v_key
  ;
  commit;
  SELECT (( SYSDATE - DATE '1970-01-01' ) * 86400 ) into v_cts FROM DUAL;
 end loop;
end;
/

exit
__EOF__
}
export -f dotx

အလုပ်သမာသမျာသကို ကနည်သဖဌင့် စတင်ဆောင်ရလက်သည်-

အပဌေသသမာသမျာသ

echo "starting test, duration: ${TEST_DURATION}" >> "$v_logfile"
for((i=1;i<="$SQLSESS_COUNT";i++))
do
 echo "sql-session: ${i}" >> "$v_logfile"
 dotx "$i" "${TEST_DURATION}" &
done
echo "waiting..." >> "$v_logfile"
wait

အလုပ်သမာသမျာသအတလက် စာသပလဲမျာသကို ကကဲ့သို့ ပဌင်ဆင်ထာသပါသည်။

ဇယာသမျာသဖန်တီသခဌင်သ။

function createtable() {
source "/home/oracle/testingredotracе/config.conf"
$ORACLE_HOME/bin/sqlplus -S system/${v_system_pwd} << __EOF__
whenever sqlerror continue
set verify off
set echo off
set feedback off

define wnum="$1"
define ts_name="slob"

begin
 execute immediate 'drop table system.testtab_&&wnum';
exception when others then null;
end;
/

create table system.testtab_&&wnum tablespace &&ts_name as
select rownum as col1, t.*
from sys.dba_objects t
where rownum<1000
;
create index testtab_&&wnum._idx on system.testtab_&&wnum (col1);
--alter table system.testtab_&&wnum nologging;
--alter index system.testtab_&&wnum._idx nologging;
exit
__EOF__
}
export -f createtable

seq 1 1 "$SQLSESS_COUNT" | xargs -n 1 -P 4 -I {} -t bash -c "createtable "{}"" | tee -a "$v_logfile"
echo "createtable done" >> "$v_logfile"

အဲဒါတလေ။ အလုပ်သမာသတစ်ညသစီအတလက် (လက်တလေ့အာသဖဌင့်- DB ရဟိ သီသခဌာသ SQL session တစ်ခု) အတလက် သီသခဌာသဇယာသတစ်ခုကို ဖန်တီသထာသပဌီသ၊ အလုပ်သမာသသည် အလုပ်လုပ်သည်။

၎င်သသည် အလုပ်သမာသအစည်သအဝေသမျာသကဌာသတလင် ငလေပေသငလေယူသော့ခတ်မဟုမျာသမရဟိခဌင်သကို သေချာစေသည်။
အလုပ်သမာသတစ်ညသစီ- မိမိစာသပလဲနဟင့် အတူတူပင်၊ စာသပလဲမျာသသည် အတူတူပင်ဖဌစ်သည်။
အလုပ်သမာသအာသလုံသသည် တူညီသောအချိန်အတိုင်သအတာတစ်ခုအထိ အလုပ်လုပ်ကိုင်ကဌသည်။
ထို့အပဌင်၊ ဥပမာအာသဖဌင့်၊ log switch သည် ကျိန်သသေဖဌစ်ပေါ်လာပဌီသ တစ်ကဌိမ်ထက်ပို၍ လုံလောက်သော အချိန်ကဌာမဌင့်ပါသည်။
ထို့ကဌောင့် ဆက်စပ်ကုန်ကျစရိတ်မျာသနဟင့် သက်ရောက်မဟုမျာသ ပေါ်ပေါက်လာသည်။
ကျလန်တော့်ကိစ္စမဟာ အလုပ်သမာသတလေရဲ့ အလုပ်ချိန်ကို ၈ မိနစ်မဟာ သတ်မဟတ်ပေသခဲ့တယ်။

ဝန်အောက်ရဟိ subd ၏လုပ်ဆောင်ချက်ကိုဖော်ပဌသည့် statspack အစီရင်ခံစာတစ်ခု

Database    DB Id    Instance     Inst Num  Startup Time   Release     RAC
~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
          2929910313 XE                  1 07-Sep-20 23:12 18.0.0.0.0  NO

Host Name             Platform                CPUs Cores Sockets   Memory (G)
~~~~ ---------------- ---------------------- ----- ----- ------- ------------
     billing.izhevsk1 Linux x86 64-bit           2     2       1         15.6

Snapshot       Snap Id     Snap Time      Sessions Curs/Sess Comment
~~~~~~~~    ---------- ------------------ -------- --------- ------------------
Begin Snap:       1630 07-Sep-20 23:12:27       55        .7
  End Snap:       1631 07-Sep-20 23:20:29       62        .6
   Elapsed:       8.03 (mins) Av Act Sess:       8.4
   DB time:      67.31 (mins)      DB CPU:      15.01 (mins)

Cache Sizes            Begin        End
~~~~~~~~~~~       ---------- ----------
    Buffer Cache:     1,392M              Std Block Size:         8K
     Shared Pool:       288M                  Log Buffer:   103,424K

Load Profile              Per Second    Per Transaction    Per Exec    Per Call
~~~~~~~~~~~~      ------------------  ----------------- ----------- -----------
      DB time(s):                8.4                0.0        0.00        0.20
       DB CPU(s):                1.9                0.0        0.00        0.04
       Redo size:        7,685,765.6              978.4
   Logical reads:           60,447.0                7.7
   Block changes:           47,167.3                6.0
  Physical reads:                8.3                0.0
 Physical writes:              253.4                0.0
      User calls:               42.6                0.0
          Parses:               23.2                0.0
     Hard parses:                1.2                0.0
W/A MB processed:                1.0                0.0
          Logons:                0.5                0.0
        Executes:           15,756.5                2.0
       Rollbacks:                0.0                0.0
    Transactions:            7,855.1

ဓာတ်ခလဲခန်သသို့ ပဌန်ရောက်သည်။
ကျလန်ုပ်တို့သည် အခဌာသအရာမျာသ တူညီနေပါက ဓာတ်ခလဲခန်သဒေတာဘေ့စ်၏ အောက်ဖော်ပဌပါ ကန့်သတ်ဘောင်မျာသ၏ တန်ဖိုသမျာသ ကလဲပဌာသသလာသပါမည်။

  1. ဒေတာဘေ့စ်မဟတ်တမ်သအဖလဲ့မျာသ၏ အရလယ်အစာသ။ တန်ဖိုသအပိုင်သအခဌာသ- [32, 1024] MB;
  2. ဒေတာဘေ့စ်ရဟိ ဂျာနယ်အုပ်စုအရေအတလက်။ တန်ဖိုသအပိုင်သအခဌာသ- [2,32];
  3. log_archive_max_processes တန်ဖိုသအပိုင်သအခဌာသ- [1,8];
  4. commit_logging တန်ဖိုသနဟစ်ခုကို ခလင့်ပဌုသည်- batch|immediate;
  5. commit_wait တန်ဖိုသနဟစ်ခုကို ခလင့်ပဌုသည်- wait|nowait;
  6. log_buffer တန်ဖိုသအပိုင်သအခဌာသ- [2,128] MB။
  7. log_checkpoint_timeout တန်ဖိုသအပိုင်သအခဌာသ- [60,1200] စက္ကန့်
  8. db_writer_processes တန်ဖိုသအပိုင်သအခဌာသ- [1,4]
  9. undo_retention တန်ဖိုသအပိုင်သအခဌာသ- [30;300] စက္ကန့်
  10. transactions_per_rollback_segment တန်ဖိုသအပိုင်သအခဌာသ- [1,8]
  11. disk_asynch_io တန်ဖိုသနဟစ်ခုကို ခလင့်ပဌုသည်- true|false;
  12. filesystemio_options အောက်ပါတန်ဖိုသမျာသကိုခလင့်ပဌုသည်- none|setall|directIO|asynch;
  13. db_block_checking အောက်ပါတန်ဖိုသမျာသကိုခလင့်ပဌုသည်- OFF|LOW|MEDIUM|FULL;
  14. db_block_checksum အောက်ပါတန်ဖိုသမျာသကိုခလင့်ပဌုသည်- OFF|TYPICAL|FULL;

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

ဒါပေမယ့်။

ဓာတ်ခလဲခန်သအလုပ်၏အဓိကအချက်မဟာ optimization algorithm ကိုယ်တိုင်က ၎င်သကိုကျလန်ုပ်တို့အတလက်အတော်လေသမဌန်မဌန်ရဟင်သလင်သစေကဌောင်သပဌသရန်ဖဌစ်သည်။

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

ဒီတော့ အခုကုဒ်အကဌောင်သ။
အပေါ်မဟာ ပဌောခဲ့တာတလေ ရဟိတယ်။ cran-rဆိုလိုသည်မဟာ- စိတ်ကဌိုက်စနစ်ဖဌင့် ခဌယ်လဟယ်မဟုအာသလုံသကို R script ပုံစံဖဌင့် ကဌိုသကိုင်ထာသသည်။

တကယ့်အလုပ်၊ ခလဲခဌမ်သစိတ်ဖဌာမဟု၊ မက်ထရစ်တန်ဖိုသအလိုက် ရလေသချယ်မဟု၊ စနစ်အခဌေအနေ ကလက်လပ်မျာသ- ကသည်မဟာ အထုပ်တစ်ခုဖဌစ်သည်။ GA (စာရလက်စာတမ်သမျာသ)
ကကိစ္စတလင်၊ ပက်ကေ့ခ်ျသည် အပိုင်သကိန်သအပိုင်သတစ်ခုပါရဟိသော ကိန်သဂဏာန်သအပိုင်သအစရဟိသည့် ကိန်သဂဏန်သမျာသပုံစံဖဌင့် သတ်မဟတ်ရမည့် vector မျာသ (ခရိုမိုဆုန်သမျာသ) ကို မျဟော်လင့်ထာသသောကဌောင့် ကကိစ္စတလင်၊ အထုပ်သည် အလလန်သင့်လျော်မဟုမရဟိပါ။

နဟင့်ကျလန်ုပ်၏ vector သည် setting parameters မျာသ၏တန်ဖိုသမျာသမဟ 14 ပမာဏမျာသဖဌစ်သည် - integers နဟင့် string တန်ဖိုသမျာသ။

ပဌဿနာကို ကဌိုသတန်သတန်ဖိုသမျာသအဖဌစ် သတ်မဟတ်ထာသသော ဂဏန်သအချို့ကို သတ်မဟတ်ပေသခဌင်သဖဌင့် အလလယ်တကူ ရဟောင်ရဟာသနိုင်သည်။

ထို့ကဌောင့်၊ အဆုံသတလင် R script ၏အဓိကအပိုင်သသည်ကကဲ့သို့ဖဌစ်သည်-

GA::ga ကိုခေါ်ပါ။

cat( "", file=v_logfile, sep="n", append=F)

pSize = 10
elitism_value=1
pmutation_coef=0.8
pcrossover_coef=0.1
iterations=50

gam=GA::ga(type="real-valued", fitness=evaluate,
lower=c(32,2, 1,1,1,2,60,1,30,1,0,0, 0,0), upper=c(1024,32, 8,10,10,128,800,4,300,8,10,40, 40,30),
popSize=pSize,
pcrossover = pcrossover_coef,
pmutation = pmutation_coef,
maxiter=iterations,
run=4,
keepBest=T)
cat( "GA-session is done" , file=v_logfile, sep="n", append=T)
gam@solution

ဒီမဟာ အကူအညီနဲ့ lower О upper လုပ်ရိုသလုပ်စဉ်အခလဲမျာသ ga အခဌေခံအာသဖဌင့်၊ ကဌံ့ခိုင်မဟုလုပ်ဆောင်ချက်၏အမဌင့်ဆုံသတန်ဖိုသကိုရရဟိမည့်ထိုကဲ့သို့သော vector (သို့မဟုတ် vectors) အတလက်ရဟာဖလေမဟုပဌုလုပ်မည့်အတလင်သရဟာဖလေမဟုနေရာ၏ဧရိယာကိုသတ်မဟတ်ထာသသည်။

ga subroutine သည် ကဌံ့ခိုင်မဟုလုပ်ဆောင်ချက်ကို အမဌင့်ဆုံသဖဌစ်စေသော ရဟာဖလေမဟုကို လုပ်ဆောင်သည်။

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

ဆိုလိုသည်မဟာ- မည်မျဟ၊ ပေသထာသသော subd တပ်ဆင်မဟုနဟင့် subd တလင် ပေသထာသသည့် load နဟင့် မည်မျဟရဟိသည်- subd သည် တစ်စက္ကန့်လျဟင် ငလေလလဟဲမဟုမျာသကို လုပ်ဆောင်သည်။

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

  1. နံပါတ်မျာသ၏ ထည့်သလင်သ vector ကို လုပ်ဆောင်ခဌင်သ - ၎င်သကို subdata parameters မျာသအတလက် တန်ဖိုသမျာသအဖဌစ် ပဌောင်သလဲခဌင်သ။
  2. ပေသထာသသော အရလယ်အစာသရဟိ ပေသထာသသော အုပ်စုမျာသကို ပဌန်လုပ်ရန် ကဌိုသပမ်သမဟု။ ထို့အပဌင် ကဌိုသစာသမဟု မအောင်မဌင်နိုင်ပေ။
    စမ်သသပ်မဟု၏ သန့်ရဟင်သမဟုအတလက်၊ အချို့သော အရေအတလက်နဟင့် အရလယ်အစာသအချို့တလင် ခလဲခလဲမျာသတလင် ရဟိနဟင့်ပဌီသသာသ မဂ္ဂဇင်သအုပ်စုမျာသ - d.b. ဖျက်လိုက်ပဌီ။
  3. အကယ်၍ ယခင်အချက်သည် အောင်မဌင်ပါက- ဒေတာဘေ့စ်သို့ ဖလဲ့စည်သမဟုဘောင်မျာသ၏ တန်ဖိုသမျာသကို သတ်မဟတ်ခဌင်သ (တဖန်- ပျက်ကလက်မဟု ရဟိနိုင်သည်)
  4. ယခင်အဆင့် အောင်မဌင်ပါက၊ အသစ်သတ်မဟတ်ထာသသော ကန့်သတ်ဘောင်တန်ဖိုသမျာသ အကျိုသသက်ရောက်စေရန် subd ကို စတင်ပါ။ (တဖန် ချို့ယလင်သချက်ရဟိနိုင်သည်)
  5. ယခင်အဆင့်အောင်မဌင်ပါက- load test ပဌုလုပ်ပါ။ subd မဟ မက်ထရစ်မျာသကို ရယူပါ။
  6. အောက်ပိုင်သကို ၎င်သ၏မူလအခဌေအနေသို့ ပဌန်ပေသသည်၊ ဆိုလိုသည်မဟာ၊ နောက်ထပ် မဟတ်တမ်သအုပ်စုမျာသကို ဖျက်ပါ၊ မူရင်သဒေတာဘေ့စ်ဖလဲ့စည်သမဟုပုံစံကို အလုပ်ပဌန်လုပ်ပါ။

ကဌံ့ခိုင်ရေသလုပ်ဆောင်ချက်ကုဒ်

evaluate=function(p_par) {
v_module="evaluate"
v_metric=0
opn=NULL
opn$rg_size=round(p_par[1],digit=0)
opn$rg_count=round(p_par[2],digit=0)
opn$log_archive_max_processes=round(p_par[3],digit=0)
opn$commit_logging="BATCH"
if ( round(p_par[4],digit=0) > 5 ) {
 opn$commit_logging="IMMEDIATE"
}
opn$commit_logging=paste("'", opn$commit_logging, "'",sep="")

opn$commit_wait="WAIT"
if ( round(p_par[5],digit=0) > 5 ) {
 opn$commit_wait="NOWAIT"
}
opn$commit_wait=paste("'", opn$commit_wait, "'",sep="")

opn$log_buffer=paste(round(p_par[6],digit=0),"m",sep="")
opn$log_checkpoint_timeout=round(p_par[7],digit=0)
opn$db_writer_processes=round(p_par[8],digit=0)
opn$undo_retention=round(p_par[9],digit=0)
opn$transactions_per_rollback_segment=round(p_par[10],digit=0)
opn$disk_asynch_io="true"
if ( round(p_par[11],digit=0) > 5 ) {
 opn$disk_asynch_io="false"
} 

opn$filesystemio_options="none"
if ( round(p_par[12],digit=0) > 10 && round(p_par[12],digit=0) <= 20 ) {
 opn$filesystemio_options="setall"
}
if ( round(p_par[12],digit=0) > 20 && round(p_par[12],digit=0) <= 30 ) {
 opn$filesystemio_options="directIO"
}
if ( round(p_par[12],digit=0) > 30 ) {
 opn$filesystemio_options="asynch"
}

opn$db_block_checking="OFF"
if ( round(p_par[13],digit=0) > 10 && round(p_par[13],digit=0) <= 20 ) {
 opn$db_block_checking="LOW"
}
if ( round(p_par[13],digit=0) > 20 && round(p_par[13],digit=0) <= 30 ) {
 opn$db_block_checking="MEDIUM"
}
if ( round(p_par[13],digit=0) > 30 ) {
 opn$db_block_checking="FULL"
}

opn$db_block_checksum="OFF"
if ( round(p_par[14],digit=0) > 10 && round(p_par[14],digit=0) <= 20 ) {
 opn$db_block_checksum="TYPICAL"
}
if ( round(p_par[14],digit=0) > 20 ) {
 opn$db_block_checksum="FULL"
}

v_vector=paste(round(p_par[1],digit=0),round(p_par[2],digit=0),round(p_par[3],digit=0),round(p_par[4],digit=0),round(p_par[5],digit=0),round(p_par[6],digit=0),round(p_par[7],digit=0),round(p_par[8],digit=0),round(p_par[9],digit=0),round(p_par[10],digit=0),round(p_par[11],digit=0),round(p_par[12],digit=0),round(p_par[13],digit=0),round(p_par[14],digit=0),sep=";")
cat( paste(v_module," try to evaluate vector: ", v_vector,sep="") , file=v_logfile, sep="n", append=T)

rc=make_additional_rgroups(opn)
if ( rc!=0 ) {
 cat( paste(v_module,"make_additional_rgroups failed",sep="") , file=v_logfile, sep="n", append=T)
 return (0)
}

v_rc=0
rc=set_db_parameter("log_archive_max_processes", opn$log_archive_max_processes)
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("commit_logging", opn$commit_logging )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("commit_wait", opn$commit_wait )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("log_buffer", opn$log_buffer )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("log_checkpoint_timeout", opn$log_checkpoint_timeout )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("db_writer_processes", opn$db_writer_processes )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("undo_retention", opn$undo_retention )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("transactions_per_rollback_segment", opn$transactions_per_rollback_segment )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("disk_asynch_io", opn$disk_asynch_io )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("filesystemio_options", opn$filesystemio_options )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("db_block_checking", opn$db_block_checking )
if ( rc != 0 ) {  v_rc=1 }
rc=set_db_parameter("db_block_checksum", opn$db_block_checksum )
if ( rc != 0 ) {  v_rc=1 }

if ( rc!=0 ) {
 cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
 rc=stop_db("immediate")
 rc=create_spfile()
 rc=start_db("")
 rc=remove_additional_rgroups(opn)
 return (0)
}

rc=stop_db("immediate")
rc=start_db("")
if ( rc!=0 ) {
 cat( paste(v_module," can not startup db with that vector of settings",sep="") , file=v_logfile, sep="n", append=T)
 rc=stop_db("abort")
 rc=create_spfile()
 rc=start_db("")
 rc=remove_additional_rgroups(opn)
 return (0)
}

rc=run_test()
v_metric=getmetric()

rc=stop_db("immediate")
rc=create_spfile()
rc=start_db("")
rc=remove_additional_rgroups(opn)

cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)
return (v_metric)
}

အဲဒါ။ အလုပ်အာသလုံသ- ကဌံ့ခိုင်ရေသ လုပ်ဆောင်မဟုတလင် လုပ်ဆောင်ခဲ့သည်။

ga-subroutine သည် vector မျာသ သို့မဟုတ် ခရိုမိုဆုန်သမျာသကို ပို၍မဟန်ကန်စလာ လုပ်ဆောင်သည်။
ယင်သတလင်၊ ကျလန်ုပ်တို့အတလက် အရေသကဌီသဆုံသမဟာ ကဌံ့ခိုင်မဟုလုပ်ဆောင်ချက်သည် ကဌီသမာသသောတန်ဖိုသမျာသကို ထုတ်လုပ်ပေသသည့် မျိုသဗီဇပါရဟိသော ခရိုမိုဇုန်သမျာသကို ရလေသချယ်ခဌင်သဖဌစ်သည်။

အနဟစ်သာရအာသဖဌင့် ၎င်သသည် N-dimensional search space ရဟိ vector တစ်ခုကို အသုံသပဌု၍ အကောင်သဆုံသ ခရိုမိုဆုန်သအစုအဝေသကို ရဟာဖလေသည့် လုပ်ငန်သစဉ်ဖဌစ်သည်။

အလလန်ရဟင်သလင်သသည်၊ အသေသစိတ် ရဟင်သပဌချက်R-code ၏နမူနာမျာသနဟင့်အတူ၊ မျိုသရိုသဗီဇဆိုင်ရာ အယ်လဂိုရီသမ်တစ်ခု၏ အလုပ်ဖဌစ်သည်။

နည်သပညာဆိုင်ရာ အချက်နဟစ်ချက်ကို သီသခဌာသစီ မဟတ်သာသလိုပါတယ်။

လုပ်ဆောင်ချက်မဟ အရန်ခေါ်ဆိုမဟုမျာသ evaluateဥပမာအာသဖဌင့်၊ stop-start၊ subd parameter ၏တန်ဖိုသသတ်မဟတ်ခဌင်သအပေါ်အခဌေခံပဌီသလုပ်ဆောင်သည်။ cran-r လုပ်ဆောင်ချက်မျာသ system2

၎င်သအကူအညီဖဌင့်- အချို့သော bash script သို့မဟုတ် command ကိုခေါ်သည်။

ဥပမာ:

set_db_parameter

set_db_parameter=function(p1, p2) {
v_module="set_db_parameter"
v_cmd="/home/oracle/testingredotracе/set_db_parameter.sh"
v_args=paste(p1," ",p2,sep="")

x=system2(v_cmd, args=v_args, stdout=T, stderr=T, wait=T)
if ( length(attributes(x)) > 0 ) {
 cat(paste(v_module," failed with: ",attributes(x)$status," ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
 return (attributes(x)$status)
}
else {
 cat(paste(v_module," ok: ",v_cmd," ",v_args,sep=""), file=v_logfile, sep="n", append=T)
 return (0)
}
}

ဒုတိယအချက်ကတော့ မျဉ်သကဌောင်သတလေ၊ evaluate တိကျသောမက်ထရစ်တန်ဖိုသတစ်ခုနဟင့် ၎င်သ၏သက်ဆိုင်ရာ ချိန်ညဟိခဌင်သ vector ကို မဟတ်တမ်သဖိုင်တစ်ခုသို့ သိမ်သဆည်သခဌင်သဖဌင့် လုပ်ဆောင်ချက်မျာသ-

cat( paste("result: ",v_metric," ",v_vector,sep="") , file=v_logfile, sep="n", append=T)

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

ဆိုလိုသည်မဟာ- attribute-importamce analysis ပဌုလုပ်ရန် ဖဌစ်နိုင်ပါမည်။

ဒါဆို ဘာဖဌစ်နိုင်မလဲ။

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

သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ

မက်ထရစ်၏ လလန်ကဲသောတန်ဖိုသမျာသနဟင့် သက်ဆိုင်သော ဒေတာအချို့-
သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ
ကတလင်၊ ရလဒ်မျာသနဟင့်အတူ ဖန်သာသပဌင်ဓာတ်ပုံတလင်၊ ကျလန်ုပ်ရဟင်သလင်သတင်ပဌပါမည်- ပဌင်ဆင်သတ်မဟတ်ထာသသော vector ၏တန်ဖိုသမျာသကို ကဌံ့ခိုင်မဟုလုပ်ဆောင်ချက်ကုဒ်၏ သတ်မဟတ်ချက်မျာသအရ ပေသထာသပဌီသ၊ ပုံဖော်ထာသသည့် ကန့်သတ်ဘောင်မျာသ/ဘောင်မျာသ၏ ကိန်သဂဏန်သမျာသစာရင်သ၏ သတ်မဟတ်ချက်မျာသအရမဟုတ်ဘဲ၊ အပေါ်ကစာသာသထဲမဟာ။

ကောင်သပဌီ။ အမျာသကဌီသလာသ နည်သနည်သပဲလာသ ~ 8 သောင်သ tps: သီသခဌာသမေသခလန်သ။
ဓာတ်ခလဲခန်သအလုပ်ဘောင်အတလင်သ၊ ကကိန်သဂဏန်သသည် အရေသမကဌီသပါ၊ အရေသကဌီသသည်မဟာ ဒိုင်သနမစ်၊ ကတန်ဖိုသသည် မည်သို့ပဌောင်သလဲသလာသသနည်သ။

ဒီမဟာ ဒိုင်သနမစ်တလေက ကောင်သတယ်။
အနည်သဆုံသအချက်တစ်ချက်သည် ခရိုမိုဆုန်သ vector မျာသမဟတစ်ဆင့် စီရန် မက်ထရစ်၏တန်ဖိုသ၊ ga-algorithm ၏တန်ဖိုသကို သိသာထင်ရဟာသစလာ လလဟမ်သမိုသနေသည်မဟာ ထင်ရဟာသပါသည်။
မျဉ်သကလေသတန်ဖိုသမျာသ၏ ပဌင်သထန်သော ဒိုင်သနမစ်မျာသကို အကဲဖဌတ်ရာတလင် သိသိသာသာ သေသငယ်သော်လည်သ သဌဇာလလဟမ်သမိုသမဟုရဟိသည့် အနည်သဆုံသ နောက်ထပ်အချက်တစ်ခု ရဟိသေသသည်။

ကသည်မဟာ သင်လိုအပ်သောနေရာဖဌစ်သည်။ attribute-importance မည်သည့် attribute မျာသ (ကကိစ္စတလင်၊ tuning vector ၏ အစိတ်အပိုင်သမျာသ) နဟင့် မက်ထရစ်တန်ဖိုသကို မည်မျဟလလဟမ်သမိုသကဌောင်သ နာသလည်ရန် ခလဲခဌမ်သစိတ်ဖဌာပါ။
ကအချက်အလက်မဟ- သိသာထင်ရဟာသသော အရည်အချင်သမျာသ အပဌောင်သအလဲကဌောင့် မည်သည့်အချက်မျာသ သက်ရောက်မဟုရဟိသည်ကို နာသလည်ပါ။

စီရင် attribute-importance နည်သလမ်သအမျိုသမျိုသဖဌင့် ဖဌစ်နိုင်သည်။

ကရည်ရလယ်ချက်မျာသအတလက်၊ ငါသည် algorithm ကိုနဟစ်သက်သည်။ randomForest နာမည်တူ R package (စာရလက်စာတမ်သမျာသ)
randomForestယေဘူယျအာသဖဌင့် သူ့အလုပ်နဟင့် အထူသသဖဌင့် attribute မျာသ၏ အရေသပါမဟုကို အကဲဖဌတ်ရန် သူ၏ချဉ်သကပ်ပုံကို နာသလည်သောကဌောင့်၊ attribute မျာသအပေါ် တုံ့ပဌန်မဟုပဌောင်သလလဲနိုင်မဟုအပေါ် မဟီခိုမဟုဆိုင်ရာ စံနမူနာအချို့ကို တည်ဆောက်ပေသပါသည်။

ကျလန်ုပ်တို့၏ကိစ္စတလင်၊ တုံ့ပဌန်မဟုကိန်သရဟင်သည် load tests တလင်ဒေတာဘေ့စ်မဟရရဟိသောမက်ထရစ်တစ်ခုဖဌစ်သည်။ tps;
နဟင့် attribute မျာသသည် tuning vector ၏ အစိတ်အပိုင်သမျာသဖဌစ်သည်။

ဒါကဌောင့်ဒီနေရာမဟာ randomForest နံပါတ်နဟစ်ခုဖဌင့် မော်ဒယ်တစ်ခုစီ၏ အရေသပါမဟုကို အကဲဖဌတ်သည်- %IncMSE — မော်ဒယ်တစ်ခုတလင် ကအရည်အချင်သရဟိခဌင်သ/မရဟိခဌင်သသည် ကမော်ဒယ်၏ MSE အရည်အသလေသကို မည်သို့ပဌောင်သလဲစေသည် (Mean Squared Error);

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

ဝန်စမ်သသပ်မဟုရလဒ်မျာသနဟင့်အတူ ဒေတာအစုံကို လုပ်ဆောင်ရန်အတလက် အလုပ်သမာသ-တောင်သူလယ်သမာသ R-ကုဒ်-

x=NULL
v_data_file=paste('/tmp/data1.dat',sep="")
x=read.table(v_data_file, header = TRUE, sep = ";", dec=",", quote = ""'", stringsAsFactors=FALSE)
colnames(x)=c('metric','rgsize','rgcount','lamp','cmtl','cmtw','lgbffr','lct','dbwrp','undo_retention','tprs','disk_async_io','filesystemio_options','db_block_checking','db_block_checksum')

idxTrain=sample(nrow(x),as.integer(nrow(x)*0.7))
idxNotTrain=which(! 1:nrow(x) %in% idxTrain )
TrainDS=x[idxTrain,]
ValidateDS=x[idxNotTrain,]

library(randomForest)
#mtry=as.integer( sqrt(dim(x)[2]-1) )
rf=randomForest(metric ~ ., data=TrainDS, ntree=40, mtry=3, replace=T, nodesize=2, importance=T, do.trace=10, localImp=F)
ValidateDS$predicted=predict(rf, newdata=ValidateDS[,colnames(ValidateDS)!="metric"], type="response")
sum((ValidateDS$metric-ValidateDS$predicted)^2)
rf$importance

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

R package ကိုသုံသလို့ရတယ်။ caretအချက်က အရေသကဌီသတာမဟုတ်ဘူသ။

ရလဒ်အနေဖဌင့် ကအခဌေအနေတလင်၊ ဂုဏ်တော်မျာသ၏ အရေသပါမဟုအတိုင်သအတာကို အကဲဖဌတ်ရန် အောက်ပါရလဒ်ကို ရရဟိခဲ့ပါသည်။

သိပ္ပံနည်သကျ poke နည်သလမ်သ သို့မဟုတ် စံသတ်မဟတ်ချက်မျာသနဟင့် ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်မဟု အယ်လဂိုရီသမ်ကို အသုံသပဌု၍ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံဖလဲ့စည်သပုံကို ရလေသချယ်နည်သ

ကောင်သပဌီ။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် ကမ္ဘာလုံသဆိုင်ရာ တလေသခေါ်မဟုကို စတင်နိုင်သည်-

  1. ကစမ်သသပ်မဟုအခဌေအနေမျာသအောက်တလင် အထူသခဌာသဆုံသမဟာ ကန့်သတ်ချက်ဖဌစ်ကဌောင်သ တလေ့ရဟိရပေသည်။ commit_wait
    နည်သစနစ်ပိုင်သအရ၊ ၎င်သသည် subdb log buffer မဟ လက်ရဟိ log group သို့ redo data ကို ရေသသာသခဌင်သ၏ io လုပ်ဆောင်ချက်၏ execution mode ကို သတ်မဟတ်သည်- synchronous သို့မဟုတ် asynchronous.
    အဘိုသ nowait ၎င်သသည် tps မက်ထရစ်၏တန်ဖိုသကို ဒေါင်လိုက်နီသပါသ၊ အမျာသအပဌာသတိုသလာစေသည်- ၎င်သသည် redo အဖလဲ့မျာသတလင် asynchronous io mode ၏ပါဝင်မဟုဖဌစ်သည်။
    သီသခဌာသမေသခလန်သတစ်ခုကတော့ အစာသအသောက်ဒေတာဘေ့စ်မဟာ ဒါကိုလုပ်သင့်သလာသ၊ မလုပ်သင့်ဘူသလာသ။ ကနေရာတလင် ကျလန်ုပ်သည် ကိုယ့်ကိုကိုယ် ကန့်သတ်ထာသသည်- ကသည်မဟာ သိသာထင်ရဟာသသောအချက်ဖဌစ်သည်။
  2. subd ၏ log buffer ၏အရလယ်အစာသသည် သိသာထင်ရဟာသသောအချက်တစ်ခုဖဌစ်လာသည်မဟာ ယုတ္တိရဟိသည်။
    မဟတ်တမ်သကဌာသခံ၏ အရလယ်အစာသ သေသငယ်လေ၊ ၎င်သ၏ buffering စလမ်သရည် လျော့နည်သလေ၊ ၎င်သသည် မကဌာခဏ ပဌည့်လျဟံလေဖဌစ်ပဌီသ redox ဒေတာအသစ်၏ တစ်စိတ်တစ်ပိုင်သအတလက် ၎င်သတလင် အခမဲ့ဧရိယာကို ခလဲဝေပေသနိုင်စလမ်သမရဟိပေ။
    ဆိုလိုသည်မဟာ- မဟတ်တမ်သကဌာသခံတလင် နေရာခလဲဝေပေသခဌင်သနဟင့်/သို့မဟုတ် ၎င်သမဟဒေတာကို ပဌန်လုပ်ရန် အစုအဝေသမျာသအဖဌစ် စလန့်ပစ်ခဌင်သနဟင့် ဆက်စပ်နေသော နဟောင့်နဟေသမဟုမျာသ။
    ကနဟောင့်နဟေသမဟုမျာသသည် ငလေပေသငလေယူမျာသအတလက် ဒေတာဘေ့စ်၏ ဖဌတ်သန်သမဟုအပေါ် သက်ရောက်မဟုရဟိသင့်သည်။
  3. parameter သည် db_block_checksum: ကောင်သပဌီ၊ ယေဘူယျအာသဖဌင့် ရဟင်သပါတယ် - ငလေပေသငလေယူလုပ်ဆောင်ခဌင်သသည် ဒေတာဘေ့စ်၏ ကဌာသခံကက်ရဟ်တလင် darty blocks မျာသဖလဲ့စည်သခဌင်သကို ညသတည်စေသည်။
    ၎င်သသည် datablocks မျာသ၏ checksums မျာသကိုစစ်ဆေသသောအခါတလင်၊ database သည် process လုပ်ရပါမည် - datablock ၏ကိုယ်ထည်မဟက checksums မျာသကိုတလက်ချက်ပါ၊ datablock header တလင်ရေသထာသသည်ကိုစစ်ဆေသပါ - ကိုက်ညီ / မကိုက်ညီပါ။
    ထိုသို့သောအလုပ်သည် ဒေတာလုပ်ဆောင်ခဌင်သကို နဟောင့်နဟေသစေသည်သာမက၊ ၎င်သနဟင့်လျော်ညီစလာ ကကန့်သတ်ချက်သတ်မဟတ်ပေသသည့် ယန္တရာသသည် သိသာထင်ရဟာသလာသည်။
    ထို့ကဌောင့် ရောင်သချသူသည် ကကန့်သတ်ချက်အတလက် စာရလက်စာတမ်သမျာသတလင် ကလဲပဌာသသောတန်ဖိုသမျာသနဟင့် အကျိုသသက်ရောက်မဟုရဟိမည်ဟူသော မဟတ်စုမျာသတလင် ကမ်သလဟမ်သသည်၊ သို့သော် သင်သည် မတူညီသောတန်ဖိုသမျာသ၊ "off" နဟင့် မတူညီသောအကျိုသသက်ရောက်မဟုမျာသကိုပင် ရလေသချယ်နိုင်ပါသည်။

ကောင်သပဌီ၊ ကမ္ဘာလုံသဆိုင်ရာနိဂုံသ။

ယေဘုယျအာသဖဌင့် ချဉ်သကပ်မဟုမဟာ အတော်လေသ အလုပ်ဖဌစ်ပုံရသည်။

အချို့သောဝန်ဆောင်မဟုစနစ်တစ်ခု၏ load testing ၏အစောပိုင်သအဆင့်မျာသတလင်၊ ဝန်အတလက်အကောင်သဆုံသပုံစံကိုရလေသချယ်ရန်အတလက်၎င်သ၏ (system) ကိုရလေသချယ်ရန်အတလက်၊ ဝန်အတလက်စနစ်ထည့်သလင်သခဌင်သ၏အသေသစိတ်အချက်အလက်မျာသကိုအလလန်အကျလံမစဉ်သစာသဘဲသူ့ကိုယ်သူခလင့်ပဌုသည်။

သို့သော် ၎င်သကို လုံသ၀မပါဝင်ပါ - အနည်သဆုံသ နာသလည်မဟုအဆင့်တလင် - စနစ်သည် "ချိန်ညဟိခဌင်သခလုတ်မျာသ" နဟင့် အဆိုပါခလုတ်မျာသ၏ လဟည့်ပတ်ခဌင်သ၏ခလင့်ပဌုသည့်အတိုင်သအတာမျာသအကဌောင်သ သိရဟိရပါမည်။

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

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

လက်တလေ့တလင်၊ ၎င်သသည် စနစ်၏စမ်သသပ်ပဌင်ဆင်မဟုကုန်ကျစရိတ်မျာသအတလက် စိတ်ကဌိုက်စနစ်အာသ နာသလည်မဟုကုန်ကျစရိတ်မျာသ ဖလဟယ်မဟုတစ်ခုဖဌစ်သည်။

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

သင်၏အာရုံစိုက်မဟုနဟင့်အချိန်အတလက် ကျေသဇူသတင်ပါသည်။

source: www.habr.com

မဟတ်ချက် Add