လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP scripts ၏စွမ်းဆောင်ရည်ကိုတိုင်းတာရန် Getusage () နှင့်အတူ GetUtime () နှင့်အတူအမှန်တကယ်ယုံကြည်စိတ်ချရပါသလား။

PHP scripts ၏စွမ်းဆောင်ရည်ကိုတိုင်းတာရန် Getusage () နှင့်အတူ GetUtime () နှင့်အတူအမှန်တကယ်ယုံကြည်စိတ်ချရပါသလား။

M66 2025-06-15

PHP စွမ်းဆောင်ရည်ညှိခြင်းလုပ်ငန်းစဉ်တွင် scripts ၏ကွပ်မျက်မှုအချိန်နှင့်အရင်းအမြစ်သုံးစွဲမှုကိုတိကျစွာတိုင်းတာရန်အလွန်အရေးကြီးသည်။ ဘုံအလေ့အကျင့်တစ်ခုမှာ Microtime () နှင့် getusage) ၏လုပ်ဆောင်ချက်နှစ်ခုကို () နှင့် getusage () ကို ပေါင်းစပ်ရန်ဖြစ်သည်။ သို့သော်ဤနည်းလမ်းသည်အမှန်ပင်ယုံကြည်စိတ်ချနိုင်ပါသလား။ ဤဆောင်းပါးနှစ်ခုသည်ဤနှစ် ဦး ကိုမည်သို့အသုံးပြုသည်ကိုအသေးစိတ်ဆွေးနွေးပါမည်။

1 ။ Microtime ကိုနိဒါန်း ()

Microtime () Microtime () သည် Unix Timestamp ၏ microSeconds အစိတ်အပိုင်းများကိုပြန်လည်ထူထောင်ရန်မကြာခဏတိကျစွာအချိန်အထိအသုံးပြုသည်။ ပုံမှန်အသုံးပြုမှုသည်ဇာတ်ညွှန်း၏အစတွင်တစ်ကြိမ်ခေါ်ဆိုရန်နှင့်အဆုံးမှာတစ်ကြိမ်ခေါ်ဆိုရန်ဖြစ်သည်။ နှစ်ခုနုတ်ခြင်းသည် script ၏ကွပ်မျက်ချိန်ကိုဖြစ်ပေါ်စေသည်။

 <?php
$start = microtime(true);

// Simululation Time- စားသုံးစစ်ဆင်ရေး
usleep(500000); // 500မီလီစက္ကန့်

$end = microtime(true);
$elapsed = $end - $start;
echo "Script Execution Time: {$elapsed} စက်ဏန့်\n";
?>

ဤချဉ်းကပ်နည်း၏အားသာချက်မှာ၎င်းသည်ရိုးရှင်းပြီးရိုးရှင်းလွယ်ကူပြီး PHP scripts ၏စွမ်းဆောင်ရည်ကိုတိုင်းတာရန်လုံလောက်သောတိကျသောတိကျမှန်ကန်မှုရှိသည်။

2 ။ getusage မှနိဒါန်း ()

GetUsage () အသုံးပြုသူ CPU အချိန်, စနစ် CPU အချိန်, မှတ်ဉာဏ်အသုံးပြုမှုအတွက်အသုံးပြုသောလက်ရှိလုပ်ငန်းစဉ်အရင်းအမြစ်အသုံးပြုမှုကိုပြန်လည်ရောက်ရှိစေသည်။

 <?php
$usage_start = getrusage();

// Simululation Time- စားသုံးစစ်ဆင်ရေး
usleep(500000);

$usage_end = getrusage();

$user_cpu_start = $usage_start["ru_utime.tv_sec"] + $usage_start["ru_utime.tv_usec"] / 1e6;
$user_cpu_end = $usage_end["ru_utime.tv_sec"] + $usage_end["ru_utime.tv_usec"] / 1e6;

$user_cpu_time = $user_cpu_end - $user_cpu_start;
echo "အသုံးပြုသူအခြေအနေCPUအချိန်: {$user_cpu_time} စက်ဏန့်\n";
?>

အသုံးပြုသူပြည်နယ် CPU အချိန်ကွာခြားချက်ကိုတွက်ချက်ခြင်းအားဖြင့် CPU ကိုစောင့်ဆိုင်းနေသည့်အချိန်များပါ 0 င်သည့်အလုံးစုံလည်ပတ်ချိန်မဟုတ်ဘဲ CPU ကိုအမှန်တကယ်လုပ်ဆောင်ရန်အချိန်ယူရမည့်အချိန်ကိုကျွန်ုပ်တို့သိနိုင်သည်။

3 ။ Getusage () နှင့် Microtime () ကိုပေါင်းစပ်အသုံးပြုပါ

တစ်စုံတစ် ဦး သည် script စွမ်းဆောင်ရည်ကိုတရားစီရင်ရန်နှစ် ဦး စလုံးကိုအသုံးပြုလိမ့်မည်။

  • စုစုပေါင်းအချိန်ကိုတွက်ချက်ရန် Microtime () ကိုသုံးပါ။

  • CPU အချိန်ကိုတွက်ချက်ရန် GetUsage () ကိုသုံးပါ (အသုံးပြုသူပြည်နယ် + system state)

နမူနာကုဒ်:

 <?php
$start_time = microtime(true);
$start_usage = getrusage();

// Simululation Time- စားသုံးစစ်ဆင်ရေး
usleep(500000);

$end_time = microtime(true);
$end_usage = getrusage();

$elapsed_time = $end_time - $start_time;

$user_cpu_start = $start_usage["ru_utime.tv_sec"] + $start_usage["ru_utime.tv_usec"] / 1e6;
$user_cpu_end = $end_usage["ru_utime.tv_sec"] + $end_usage["ru_utime.tv_usec"] / 1e6;
$user_cpu_time = $user_cpu_end - $user_cpu_start;

$system_cpu_start = $start_usage["ru_stime.tv_sec"] + $start_usage["ru_stime.tv_usec"] / 1e6;
$system_cpu_end = $end_usage["ru_stime.tv_sec"] + $end_usage["ru_stime.tv_usec"] / 1e6;
$system_cpu_time = $system_cpu_end - $system_cpu_start;

echo "စုစုပေါင်းအချိန်စားသုံးမှု: {$elapsed_time} စက်ဏန့်\n";
echo "အသုံးပြုသူCPUအချိန်: {$user_cpu_time} စက်ဏန့်\n";
echo "စံနစ်CPUအချိန်: {$system_cpu_time} စက်ဏန့်\n";
?>

4 ။ ဒီတိုင်းတာခြင်းယုံကြည်စိတ်ချရသောလား။

အကျိုးဖြစ်ထွန်းမှု

  • Microtime () သည် စောင့်ဆိုင်းခြင်းနှင့်ပိတ်ဆို့ခြင်းအပါအ 0 င်စစ်မှန်သောအချိန် span ကိုတိုင်းတာသည်။

  • GetUseage () သည် CPU ၏အမှန်တကယ်အပြောင်းအလဲသောအချိန်ကိုထင်ဟပ်စေသည်။ ကျွန်ုပ်သည် CPU ၏ 0 င်ရောက်မှုအချိန်ကိုဖယ်ရှားပေးနိုင်သည်။

  • နှစ်ခုကိုပေါင်းစပ်ခြင်းကသင့်အား script execution ထိရောက်မှုနှင့် system load ၏ ပိုမို. ပြည့်စုံသောနားလည်မှုကိုပေးနိုင်သည်။

ကန့်နာတာပင်

  • GetUseage () ကို operating systems အားလုံးမှမပံ့ပိုးပါ။ 0 င်းဒိုးစနစ်များရှိ PHP သည်ဤ function ကိုအပြည့်အဝမထောက်ပံ့ပါ။

  • GetUseage () သည် လက်ရှိဖြစ်စဉ်အရင်းအမြစ်များကိုသာတိုင်းတာ။ ပြင်ပခေါ်ဆိုမှုများသို့မဟုတ်ကလေးဖြစ်စဉ်များကိုအရင်းအမြစ်သုံးစွဲမှုကိုမဖော်ပြနိုင်ပါ။

  • script တွင် i / O စောင့်ဆိုင်းနေသည့်သို့မဟုတ်ကွန်ယက်တောင်းဆိုမှုအမြောက်အများပါ 0 င်သည့်အခါ CPU အချိန်သည်အချိန်နှင့်ဝေးကွာသည်

  • Microtime () သည် system clock ၏တိကျမှန်ကန်မှုကြောင့်သက်ရောက်မှုနှင့်အချိန်တိုအတွင်းတိုင်းတာမှုများသည်မတိကျနိုင်သည်။

လက်တွေ့ကျသောအကြံဥာဏ်

  • CPU-Inspensive Php scripts အတွက်နှစ် ဦး စလုံးတိုင်းတာမှုနှစ်ခုလုံးပေါင်းစပ်ခြင်းသည်ပိုမိုတိကျသောစွမ်းဆောင်ရည်အချက်အလက်ကိုပေးနိုင်သည်။

  • i / O-O-O -O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-Oil Intrenage) အတွက်တော့ တစ်ခုတည်းသောစွမ်းဆောင်ရည်ကိုထင်ဟပ်ရန်မလုံလောက်ပါ, Microtime () သည် ပို. အရေးကြီးသည်။

  • ပြည့်စုံသောခွဲခြမ်းစိတ်ဖြာမှုအတွက်အခြားစွမ်းဆောင်ရည်ဆိုင်ရာကိရိယာများ (XDebug, Blackfire စသည်တို့) ကိုပေါင်းစပ်ရန်အကြံပြုသည်။

  • Captrusage () , အထူးသဖြင့် Cross-platform ပတ် 0 န်းကျင်တွင်အသုံးပြုသောအခါလိုက်ဖက်တဲ့ပြ issues နာများကိုအာရုံစိုက်ပါ။

5 ။ အကျဉ်းချုပ်

GetUseage () နှင့် Microtime () တွင်ကိုယ်ပိုင်အားသာချက်များရှိသည်။ အသုံးပြုမှုပေါင်းစပ်မှုသည် PHP scripts ၏စွမ်းဆောင်ရည်ကိုပိုမိုသေချာစွာအကဲဖြတ်နိုင်သည်။ သို့သော်၎င်းသည်ယုံကြည်စိတ်ချရမှုရှိမရှိတိကျသောအသုံးပြုမှုမြင်ကွင်း, ဇာတ်ညွှန်း၏သဘောသဘာဝနှင့်စမ်းသပ်မှုပတ်ဝန်းကျင်၏သဘောသဘာဝပေါ်တွင်မူတည်သည်။ ၎င်းတို့သည်စွမ်းဆောင်ရည်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အခြေခံကိရိယာများဖြစ်သည်။ စီးပွားရေးဝိသေသလက္ခဏာများနှင့်စွမ်းဆောင်ရည်ညွှန်းကိန်းများကိုပေါင်းစပ်ခြင်းအားဖြင့်သာ script စွမ်းဆောင်ရည်ကိုသိပ္ပံနည်းကျလုပ်ခြင်းနှင့်အကောင်းဆုံးကိုပြုလုပ်နိုင်သည်။