PHP MySQL网站加载速度非常慢

PHP MySQL网站加载速度非常慢,php,mysql,Php,Mysql,我正在为Minecraft服务器创建一个网站,并使用FunnyItsElmo()提供的Minecraft服务器状态查询。所以问题是我从MySQL显示服务器列表,在测试中我使用了4台服务器,它加载页面非常慢,大约15秒 这是代码: include_once 'main/serverStatus.php'; //include the class $status = new MinecraftServerStatus(); // call the class $sql = "SELECT id,

我正在为Minecraft服务器创建一个网站,并使用FunnyItsElmo()提供的Minecraft服务器状态查询。所以问题是我从MySQL显示服务器列表,在测试中我使用了4台服务器,它加载页面非常慢,大约15秒

这是代码:

include_once 'main/serverStatus.php'; //include the class
$status = new MinecraftServerStatus(); // call the class

$sql = "SELECT id, name, ip, version FROM `servers` ORDER BY votes DESC LIMIT $limit OFFSET $page";
$result = $conn->query($sql);
while ($dbarray = $result->fetch_assoc()) {
    $response = MinecraftServerStatus::query($dbarray['ip'], 25565);
    if(!$response) {
        $status = 'Offline';
    } else {
        $status = ".$response['players'].'/'.$response['max_players'].";
    }
    echo '<tr><td>'.$dbarray['id'].'</td><td>'.$dbarray['name'].'</td><td>'.$dbarray['ip'].'</td><td>'.$dbarray['version'].'</td></tr>';
}
include_once'main/serverStatus.php'//包括班级
$status=新建MinecraftServerStatus();//给全班同学打电话
$sql=“从“服务器”中选择id、名称、ip、版本按投票顺序描述限制$LIMIT OFFSET$页”;
$result=$conn->query($sql);
而($dbarray=$result->fetch_assoc()){
$response=MinecraftServerStatus::query($dbarray['ip'],25565);
如果(!$response){
$status='Offline';
}否则{
$status=“.$response['players']./”.$response['max_players'.];
}
回显“.$dbarray['id'..”.$dbarray['name'..”.$dbarray['ip'..”.$dbarray['version'.'”;
}

现在我也使用WampServer,所以我问这个问题,因为我不知道加载速度慢可能是因为WampServer或其他原因。因为当我主持我的网站时,我希望它能顺利运行

在数据库表中添加一个索引,该索引键为
id、name、ip、version
,基本上这是
MinecraftServerStatus::query
amkes,因为它是远程服务器上的查询。也许每分钟都要做一项将这些数据加载到本地数据库的工作。然后从本地数据库获取它。在@JustOnUnderMillions州,最好使用cronjob。另一个原因是,人们可能会利用此漏洞利用您的连接(通过滥发“刷新”按钮),使您过度连接到服务器,在最坏的情况下,您将被连接到的服务器列入黑名单。@JustOnUnderMillions您说它很慢,因为它是远程服务器上的查询。所以,如果我将主机用于我的网站,它会正常加载页面,还是仍然会有一些延迟?我认为
MinecraftServer
将始终是一个远程服务器,如果您不将其托管在您的maschine上。(如果在你的主机上托管,你不需要MinecraftServerStatus类,因为你可以“用我们的socket”直接查询服务器)在你的数据库表中添加一个索引,索引中的键有
id、name、ip、version
,基本上这
MinecraftServerStatus::query
会让它变慢,因为它是远程服务器上的查询。也许每分钟都要做一项将这些数据加载到本地数据库的工作。然后从本地数据库获取它。在@JustOnUnderMillions州,最好使用cronjob。另一个原因是,人们可能会利用此漏洞利用您的连接(通过滥发“刷新”按钮),使您过度连接到服务器,在最坏的情况下,您将被连接到的服务器列入黑名单。@JustOnUnderMillions您说它很慢,因为它是远程服务器上的查询。所以,如果我将主机用于我的网站,它会正常加载页面,还是仍然会有一些延迟?我认为
MinecraftServer
将始终是一个远程服务器,如果您不将其托管在您的maschine上。(如果在你的主机上托管,你不需要MinecraftServerStatus类,因为你可以“用我们的socket”直接查询服务器)