09/10/2018, 23:00
Server Load Là gì? Cách đếm SL trong PHP
Lang thang trên mạng thấy có một số trang nói đến Server Load mà em không hiểu là gì, và làm sao dùng PHP để tính Server Load
Bài liên quan
Mình nghe cái tên wen wen
Ý bạn nói thì đúng, nhưng code thì có vẻ ko ổn. Cái code này chỉ là đếm thời gian load trang web thôi
Server load là thời gian respond của server. Nếu bạn dùng Cpanel bạn có thể xem cái server load ở phần thống kê của họ khi nào server load lên cao thì có nghĩa lúc đó site bạn có lượng truy cập đông hoặc dùng nhiều queries hoặc bị ddos.
<?php
//You can replace the domain with an IP if you wish
$site = "yourdomain.com"; //this is the site you wish to check
// Let's check our common ports 80, 21, and 110
$http = fsockopen($site, 80);
$ftp = fsockopen($site, 21);
$pop3 = fsockopen($site, 110);
if ($http) {
$status .= "<font face=\"Arial\"><font size=\"2\"><b>HTTP</b>: Working</font></font><br>";
}
else {
$status .= "<font face=\"Arial\"><font size=\"2\"><b>HTTP</b>: Not Working</font></font><br>";
}
if ($ftp) {
$status .= "<font face=\"Arial\"><font size=\"2\"><b>FTP</b>: Working</font></font><br>";
}
else {
$status .= "<font face=\"Arial\"><font size=\"2\"><b>FTP</b>: Not Working</font></font><br>";
}
if ($pop3) {
$status .= "<font face=\"Arial\"><font size=\"2\"><b>POP3/SMTP</b>: Working</font></font><br>";
}
else {
$status .= "<font face=\"Arial\"><font size=\"2\"><b>POP3/SMTP</b>: Not Working</font></font><br>";
}
echo("$status");
echo("<hr>");
// Users and load information
$reguptime = trim(exec("uptime"));
if ($reguptime) {
if (preg_match("/, *(\d) (users?), .*: (.*), (.*), (.*)/", $reguptime, $uptime)) {
$users***91;0***93; = $uptime***91;1***93;;
$users***91;1***93; = $uptime***91;2***93;;
$loadnow = $uptime***91;3***93;;
$load15 = $uptime***91;4***93;;
$load30 = $uptime***91;5***93;;
}
} else {
$users***91;0***93; = "Unavailable";
$users***91;1***93; = "--";
$loadnow = "Unavailable";
$load15 = "--";
$load30 = "--";
}
echo("<b>Current Users:</b> $users***91;0***93;<br>
<b>Current Load:</b> $loadnow<br><b>Load 15 mins ago:</b> $load15<br><b>Load 15 mins ago:</b> $load30<br><hr>");
// Operating system
$fp = @fopen("/proc/version", "r");
if ($fp) {
$temp = fgets($fp);
fclose($fp);
if (preg_match("/version (.*?) /", $temp, $osarray)) {
$kernel = $osarray***91;1***93;;
preg_match("/***91;0-9***93;{5,} (\((.* *)\)\))/", $temp, $osarray);
$flavour = $osarray***91;2***93;;
$operatingsystem = $flavour." (".PHP_OS." ".$kernel.")";
if (preg_match("/SMP/", $buf)) {
$operatingsystem .= " (SMP)";
}
} else {
$result = "(N/A)";
}
} else {
$result = "(N/A)";
}
echo("<b>Operating System:</b><br>$operatingsystem");
?>