နှေးကွေးသောတုံ့ပြန်မှု simulating simulating စွမ်းဆောင်ရည်စမ်းသပ်ခြင်းဖျော်ဖြေတဲ့အခါမှာဘုံနှင့်လိုအပ်သောနည်းလမ်းဖြစ်သည်။ Office Protectant လုပ်ထုံးလုပ်နည်းဆိုင်ရာယန္တရားကိုစစ်ဆေးရန်သို့မဟုတ်နောက်ခံ 0 န်ဆောင်မှု၏တည်ငြိမ်မှု၏တည်ငြိမ်မှုကိုစစ်ဆေးရန်သို့မဟုတ်နောက်ခံ end 0 န်ဆောင်မှု၏တည်ငြိမ်မှုကိုစမ်းသပ်ရန်ဖြစ်စေထိန်းချုပ်နိုင်သည့် "နှေးကွေးသော 0 န်ဆောင်မှု" သည်စမ်းသပ်မှု၏စစ်မှန်မှုနှင့်ပြည့်စုံမှုကိုများစွာတိုးတက်စေနိုင်သည်။ PHP တွင်ကျွန်ုပ်တို့သည် built-in function time_nanosleep မှတစ်ဆင့် scripts များကိုတိကျစွာထိန်းချုပ်နိုင်သည်။ ဤဆောင်းပါးသည်တုန့်ပြန်မှုအချိန်ကိုထိန်းညှိနိုင်သည့်စမ်းသပ်မှု 0 န်ဆောင်မှုတစ်ခုတည်ဆောက်ရန်ဤလုပ်ငန်းကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
Time_Nanosleep (INT $ nanoseconds): int $ tunroseconds): array | bool function ကိုသတ်မှတ်ထားသောအချိန်ကိုခေတ္တရပ်တန့်စေနိုင်သည်။ အိပ်စက်ခြင်း () နှင့် USEEP () , time_nanosleep နှင့်နှိုင်းယှဉ်ပါက Time_Nanosleep သည်အချိန်အတိအကျနှင့်ပိုမိုမြင့်မားသောအချိန်နှင့်မတူကွဲပြားသောအချိန်ဇယားများနှင့်သင့်လျော်သည်။
// နမူနာ:ခေတ္တရပ်ဆိုင်းခြင်း1စက်ဏန့်500毫စက်ဏန့်
time_nanosleep(1, 500000000); // 1စက်ဏန့် + 0.5စက်ဏန့် = 1.5စက်ဏန့်
ရိုးရိုး PHP interface ကိုတည်ဆောက်ခြင်း၏ဥပမာကို အသုံးပြု. အသုံးပြုသူများသည် parameters တွေကိုဖြတ်သန်းခြင်းအားဖြင့် interface ၏နှောင့်နှေးသည့်တုန့်ပြန်မှုအချိန်ကိုထိန်းချုပ်နိုင်သည်။
<?php
// slow-response.php
// ပြန်လည်ထူထောင်ရန် JSON ပမာဏ
header('Content-Type: application/json');
// အသုံးပြုသူမှဖြတ်သန်းအချိန်နှောင့်နှေးအချိန်ကိုရယူပါ,单位为毫စက်ဏန့်
$delay = isset($_GET['delay']) ? (int)$_GET['delay'] : 0;
// 将毫စက်ဏန့်转换为စက်ဏန့်和纳စက်ဏန့်
$seconds = floor($delay / 1000);
$nanoseconds = ($delay % 1000) * 1000000;
// အများဆုံးနှောင့်နှေးကန့်သတ်,အလွဲသုံးစားမှုကိုတားဆီး(ဥပမာအားဖြင့်အများဆုံးနှောင့်နှေး10စက်ဏန့်)
$maxDelay = 10000;
if ($delay > $maxDelay) {
http_response_code(400);
echo json_encode([
'error' => 'Delay too long. Maximum allowed is ' . $maxDelay . ' ms.'
]);
exit;
}
// ကွပ်မျက်နှောင့်နှေး
time_nanosleep($seconds, $nanoseconds);
// ပြန်လာဒေတာကိုတည်ဆောက်
$response = [
'status' => 'success',
'requested_delay_ms' => $delay,
'timestamp' => time(),
];
// ဒေတာကိုပြန်သွားပါ
echo json_encode($response);
script ကိုဖြန့်ချိပြီးနောက်၎င်းကိုအောက်ပါနည်းလမ်းများဖြင့်စစ်ဆေးနိုင်သည်။
curl "https://api.gitbox.net/slow-response.php?delay=3000"
အထက်ပါ command သည် interface ကို interface ကိုတောင်းခံပြီးရလဒ်ကိုတုံ့ပြန်ခြင်းမပြုမီဆာဗာကိုစောင့်ဆိုင်းပါလိမ့်မည်။ ဒီ interface ကိုသင့်ရဲ့အလိုအလျောက်စစ်ဆေးမှု scripts များနှင့်အလွယ်တကူပေါင်းစည်းနိုင်သည်။
Front-end စွမ်းဆောင်ရည်စမ်းသပ်မှု - 0 င်ရောက်စွက်ဖက်မှုနှောင့်နှေးနေသည့်အချိန်ကိုရှေ့ဆက်ရောက်နေသည့် animation,
Back-end အမှားခံနိုင်ရည်ရှိသောစမ်းသပ်ခြင်း - နှေးကွေးသော 0 န်ဆောင်မှုကိုစမ်းသပ်ခြင်းဖြင့်အချိန်ကုန်အချိန်ကိုမှန်ကန်စွာ သတ်မှတ်. အဆင့်မြှင့်ခြင်းရှိမရှိစစ်ဆေးပါ။
ကွန်ယက်ပတ် 0 န်းကျင်ခြင်း simulation : Proxy network jitter နှင့် latency ပိုမိုများပြားလာစေရန် proxy server များသို့မဟုတ် tclescess control tools များ (TC)) နှင့်အတူအသုံးပြုသည်။
အရင်းအမြစ်ထိန်းချုပ်မှု ခွင့်ပြုချက်ထိန်းချုပ်မှုကိုအသုံးပြုရန်သို့မဟုတ်သီးခြားစစ်ဆေးမှုပတ်ဝန်းကျင်သို့ဖြန့်ကျက်ရန်အကြံပြုသည်။
ခြွင်းချက်ကိုင်တွယ်ခြင်း - မြင့်မားသောတစ်ပြိုင်နက်တည်းစမ်းသပ်စဉ်အတွင်းခြွင်းချက်ကိုင်တွယ်ရန်အာရုံစိုက်ပါ။ တစ်ပြိုင်နက်တည်းက 0 န်ဆောင်မှုပေးသည့်စွမ်းရည်ထက်ကျော်လွန်ပါက၎င်းသည် System Resources Buddecks ကိုဖြစ်စေနိုင်သည်။
System တိကျမှန်ကန်မှုကန့်သတ်ချက် - Time_nanosleep သည် nanoseconds ကိုထောက်ခံသော်လည်းအမှန်တကယ်တိကျမှန်ကန်မှုကို operating system scheduling ယန္တရားမှကန့်သတ်ထားသည်။
Time_Nanosleep မှတစ်ဆင့်နှေးကွေးသောတုန့်ပြန်မှု 0 န်ဆောင်မှုကိုတည်ဆောက်ခြင်းသည်ရိုးရှင်းသောနှင့်ထိရောက်သော interface စွမ်းဆောင်ရည်စမ်းသပ်နည်းလမ်းဖြစ်သည်။ ၎င်းသည် External Tools များကိုမှီခိုအားထားခြင်းမရှိပါ။ စမ်းသပ်မော်တော်ယာဉ်, စွမ်းဆောင်ရည်ညှိခြင်းနှင့်အမှားဆေးထိုးကဲ့သို့သောအခြေအနေများအတွက်အဆင်ပြေစေရန်အလွန်အဆင်ပြေသည်။ ဤဆောင်းပါးသည်တည်ငြိမ်။ ကြံ့ခိုင်သော interface system ကိုပိုမိုထိရောက်စွာတည်ဆောက်ရန်သင့်အားကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။