PHP စွမ်းဆောင်ရည်ညှိခြင်းလုပ်ငန်းစဉ်တွင် scripts ၏ကွပ်မျက်မှုအချိန်နှင့်အရင်းအမြစ်သုံးစွဲမှုကိုတိကျစွာတိုင်းတာရန်အလွန်အရေးကြီးသည်။ ဘုံအလေ့အကျင့်တစ်ခုမှာ Microtime () နှင့် getusage) ၏လုပ်ဆောင်ချက်နှစ်ခုကို () နှင့် getusage () ကို ပေါင်းစပ်ရန်ဖြစ်သည်။ သို့သော်ဤနည်းလမ်းသည်အမှန်ပင်ယုံကြည်စိတ်ချနိုင်ပါသလား။ ဤဆောင်းပါးနှစ်ခုသည်ဤနှစ် ဦး ကိုမည်သို့အသုံးပြုသည်ကိုအသေးစိတ်ဆွေးနွေးပါမည်။
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 ၏စွမ်းဆောင်ရည်ကိုတိုင်းတာရန်လုံလောက်သောတိကျသောတိကျမှန်ကန်မှုရှိသည်။
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 ကိုအမှန်တကယ်လုပ်ဆောင်ရန်အချိန်ယူရမည့်အချိန်ကိုကျွန်ုပ်တို့သိနိုင်သည်။
တစ်စုံတစ် ဦး သည် 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";
?>
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 နာများကိုအာရုံစိုက်ပါ။
GetUseage () နှင့် Microtime () တွင်ကိုယ်ပိုင်အားသာချက်များရှိသည်။ အသုံးပြုမှုပေါင်းစပ်မှုသည် PHP scripts ၏စွမ်းဆောင်ရည်ကိုပိုမိုသေချာစွာအကဲဖြတ်နိုင်သည်။ သို့သော်၎င်းသည်ယုံကြည်စိတ်ချရမှုရှိမရှိတိကျသောအသုံးပြုမှုမြင်ကွင်း, ဇာတ်ညွှန်း၏သဘောသဘာဝနှင့်စမ်းသပ်မှုပတ်ဝန်းကျင်၏သဘောသဘာဝပေါ်တွင်မူတည်သည်။ ၎င်းတို့သည်စွမ်းဆောင်ရည်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အခြေခံကိရိယာများဖြစ်သည်။ စီးပွားရေးဝိသေသလက္ခဏာများနှင့်စွမ်းဆောင်ရည်ညွှန်းကိန်းများကိုပေါင်းစပ်ခြင်းအားဖြင့်သာ script စွမ်းဆောင်ရည်ကိုသိပ္ပံနည်းကျလုပ်ခြင်းနှင့်အကောင်းဆုံးကိုပြုလုပ်နိုင်သည်။