လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အကြီးစားစီမံကိန်းများအတွက် realpath_cache_size ၏အခန်းကဏ် anal ကိုခွဲခြမ်းစိတ်ဖြာခြင်း

အကြီးစားစီမံကိန်းများအတွက် realpath_cache_size ၏အခန်းကဏ် anal ကိုခွဲခြမ်းစိတ်ဖြာခြင်း

gitbox 2025-06-03

realpath_cache_size ဆိုတာဘာလဲ။

PHP တွင်, သင်ကဲ့သို့သောဖိုင်စစ်ဆင်ရေးလုပ်ငန်းများကို ဖိုင်များသို့ ခေါ်ယူခြင်း, လိုအပ်ခြင်း , file_exists သို့မဟုတ် is_file , PHP သည်မှန်ကန်သောလမ်းကြောင်းကိုအမှန်တကယ်ခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည်။ ဤခွဲခြမ်းစိတ်ဖြာခြင်းလုပ်ငန်းစဉ်သည်အထူးသဖြင့် symlinks သို့မဟုတ်ဆွေမျိုးလမ်းကြောင်းများကိုအသုံးပြုသောအခါဖိုင်စနစ်ကိုမေးမြန်းခြင်းပါဝင်သည်။

System ခေါ်ဆိုမှုများ overhead ကိုလျှော့ချရန် PHP သည်လမ်းကြောင်း resolution ၏ရလဒ်များကို cache လုပ်ရန် "realappath cache" ကိုမိတ်ဆက်ပေးခဲ့သည်။ RealPath_cache_Size သည်ဤ cache ၏အရွယ်အစားကန့်သတ်ချက်ဖြစ်ပြီးယူနစ်သည် bytes ဖြစ်သည်။ ပုံမှန်တန်ဖိုးသည်များသောအားဖြင့် 16K ဖြစ်ပြီး, စီမံကိန်းငယ်များတွင်လုံလောက်နိုင်သော်လည်းစီမံကိန်းကြီးများတွင်လုံလောက်စွာဖြည့်ဆည်းပေးနိုင်သည်။


ဘယ်လို realpath cache အလုပ်လုပ်တယ်

PHP ၏ Realpath cache သည် memory တွင် Hash Table ဖြစ်ပြီးလမ်းကြောင်း resolution ၏ရလဒ်များကိုသိမ်းဆည်းရန်အသုံးပြုသောမှတ်ဉာဏ်တစ်ခုဖြစ်သည်။ PHP ဇာတ်ညွှန်းသည်လမ်းကြောင်းကိုခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည့်အခါတိုင်း cache ကိုပထမဆုံးရှာဖွေလိမ့်မည်။

  • အကယ်. cache hits သည် cache တန်ဖိုးကိုစနစ်ခေါ်ဆိုမှုများကိုသိမ်းဆည်းရန်တိုက်ရိုက်ပြန်လာလိမ့်မည်။

  • အကယ်. cache ကိုလွဲချော်လျှင်စနစ်ခေါ်ဆိုမှုတစ်ခုပြုလုပ်ပါကလမ်းကြောင်းသည်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ရလဒ်ကို cache ထဲသို့ထည့်သည်။

  • အကယ်. cache ပြည့်နေလျှင် cache ပစ္စည်းဟောင်းများကိုဖယ်ရှားပစ်သည်။

ဤယန္တရားသည်ရိုးရှင်းသော်လည်းရှုပ်ထွေးသောဖိုင်ဖွဲ့စည်းပုံနှင့်မှီခိုမှုများစွာကိုမှီခိုနေရသည်။ ဥပမာအားဖြင့်, အလိုအလျောက်တင်ခြင်းကိုအသုံးပြုသောစီမံကိန်း (ဥပမာ composer a autoloader ကဲ့သို့) သည်ရာနှင့်ချီသောဖိုင်များကိုတောင်းဆိုမှုတစ်ခုတည်းကိုတင် စေ နိုင်သည်။ အကယ်. cache သည်မလုံလောက်ပါကတောင်းဆိုမှုတစ်ခုစီသည်တူညီသောခွဲခြမ်းစိတ်ဖြာခြင်းကိုထပ်ခါတလဲလဲပြုလုပ်နေသည်။


ဥပမာ - လမ်းကြောင်း resolution ကိုနှိုင်းယှဉ်ခြင်း

အောက်ပါကုဒ်အတိုအထွာများရှိသည်ဆိုပါစို့။

<code> & lt; php များအတွက် PHP ($ i = 0; $ i & lt; $ i + ++) {i +WW/Gitbox.net/projorjorule's's + + + + + {လိုအပ်ပါသည်။ ($ i% 10) ။ '/Class.php'; } </ code>

ဒီဥပမာမှာမတူညီတဲ့လမ်းကြောင်း 10 ခုသာရှိသေးပေမယ့် php path cache သေးငယ်လွန်းပါက PHP သည် လိုအပ်သည့် အချိန်တိုင်းတွင် PHP ကိုပြန်လည်ခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။ cache him နှုန်းမြင့်မားပြီးတာနဲ့ခွဲခြမ်းစိတ်ဖြာမှုအရေအတွက်သိသိသာသာလျှော့ချနိုင်ပြီးအကန့်အသတ်ကိုထိရောက်စွာတိုးတက်အောင်လုပ်နိုင်သည်။


RealPath_cache_Size ကိုဘယ်လိုကြည့်ရှုနိုင်မလဲ

PHP ၏ Phpinfo () စာမျက်နှာမှတဆင့်လက်ရှိ realpath cache cache cache cache cache ကိုနှင့်အသုံးပြုမှုကိုသင်ကြည့်ရှုနိုင်သည်။

<code> & lt; Php Print_r (realpath_cache_get)); </ code>

cache ကိုအရွယ်အစားပြောင်းရန် php.ini ဖိုင်တွင်အောက်ပါ configuration ကိုထည့်ပါသို့မဟုတ်ပြင်ဆင်ပါ။

<Code> Realpath_cache_size = 128k </ code>

ကြီးမားသောမူဘောင်များ (ဥပမာ - Laravel, Symfony စသဖြင့်) သို့မဟုတ် Php-FPM စီမံကိန်းများအရ Php-FPM စီမံကိန်းများအတွက်မြင့်မားသောတစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင်လည်ပတ်နေသော PHP-FPM စီမံကိန်းများအတွက် cache သည်မကြာခဏမကျသင့်စေရန် 128K နှင့်အထက်သတ်မှတ်ရန်အကြံပြုသည်။


Conjuntion အတွက် realpath_cache_ttl ကိုသုံးပါ

Cache အရွယ်အစားအပြင် RealPath_cache_ttl သည်လက်ရာများနှင့်သက်ဆိုင်သော parameter တစ်ခုလည်းဖြစ်သည်။ ပုံမှန်တန်ဖိုးသည် 120 စက္ကန့်ဖြစ်သည်။

<code> Realpath_cache_ttl = 300 </ code>

မကြာခဏဖြန့်ကျက်မှုနှင့်မကြာခဏဖိုင်ဖွဲ့စည်းပုံအပြောင်းအလဲများရှိသောဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်တွင်ဤတန်ဖိုးကိုသင့်လျော်စွာတိုစေနိုင်သည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက်များသောအားဖြင့်ပိုမိုမြင့်မားရန်စီစဉ်ထားသည်။