[PHP] 40 sekunder genereringstid
Har precis flyttat från one.com till min egen server, som kanske inte är den bästa men borde klara mitt script på mindre än 40 sekunder.
Servern är en P2a 300Mhz med 256MB minne, med Debian och LAMP konfiguration.
koden ser ut såhär:
<?php
// Överklockningsdatabasen
// PHP databassystem skrivit av XaaR
// detail.php
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
session_start();
define('ONLINE', true);
include("include/mysql.php");
$CpuZvalidate = 0;
?>
<html>
<head>
<title>Överklockningsdatabasen</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="all">
<link href="css/detail.css" rel="stylesheet" type="text/css">
<?php include("style/head.php"); ?>
<script src="jquery.js" type="text/javascript" language="javascript"></script>
<script src="jquery.form.js" type="text/javascript" language="javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#loginForm').ajaxForm({ dataType: 'json', success: processLoginForm});
$('#logoutForm').ajaxForm({ dataType: 'json', success: processLogoutForm});
});
function processLogoutForm(data){
if(data.success == 1){
alert("Du har loggats ut!");
window.location.reload( false );
} else { alert("D: is the shit"); }
}
function processLoginForm(data){
if(data.login == 1){
alert("Du har loggats in!");
window.location.reload( false );
}
else {
alert("Kunde inte logga in:");
}
}
</script>
</head>
<body>
<?php include("style/logo.tpl"); /* inkludera logon */?>
<?php include("style/nav.tpl"); /* inkludera navigeringslisten */ ?>
<div id="login">
<?php
if($_SESSION['login'] == null){
?>
<form id="loginForm" action="login.php" method="post">Användarnamn: <input type="text" name="user"> Lösenord: <input type="password" name="pass"> <input type="submit" value="Logga in" name="submit"></form>
<?php
}
elseif($_SESSION['login'] == true){
?>
<form action="logout.php" method="post" id="logoutForm">Du är inloggad som <b><?php echo $_SESSION['user'] ?></b>. <input type="submit" value="Logga ut" /></form>
<?php
}
?>
</div>
<div id="main">
<div id="maincont">
<?php
if($_GET['type'] == "cpu") {
echo '<h1>Processorer:</h1>';
}
if($_GET['type'] == "gpu") {
echo '<h1>Grafikkort:</h1>';
}
//kollar om id är en siffra.
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
if($id == 0){
die("Felaktigt id");
}
?>
<table width="600" class="resulttable" cellspacing="1" frame="box" rules="rows" bordercolor="#76B2DF">
<tr>
<td colspan="2" class="top" align="center">Detaljerad information</td>
</tr>
<?php
if($_GET['type'] == "cpu") {
$sql = "SELECT res.date, res.fsb, res.multipiler, res.mhzClock,
res.percent, res.vcore, res.memModel, res.memStd, res.memOc, res.vmem,
res.vmemStd, res.timings, res.Bus, res.moderkort, res.moderkortBios,
res.cpuLoad, res.cpuIdle, res.kylningstyp, res.kylning, res.cpuz,
res.kommentar, user.username, cpu.fullname, cpu.core, cpu.cpuImg,
cpu.socket, cpu.speed, cpu.chache, cpu.architecture, cpu.stepping,
cpu.multipiler AS stdmultipiler, cpu.fsb AS fsbstd FROM cpu_results AS res,
phpbb_users AS user, cpu WHERE res.id = {$id} AND res.user_id=
user.user_id AND res.cpuId = cpu.id";
$resultat = mysql_query($sql) or die(mysql_error());
$rad = mysql_fetch_assoc($resultat);
switch($rad['kylningstyp']){
case 1: $kylningstyp="Standard";break;
case 2: $kylningstyp="Luft";break;
case 3: $kylningstyp="Vatten";break;
case 4: $kylningstyp="Kompressor";break;
case 5: $kylningstyp="Flytande kväve";break;
case 6: $kylningstyp="Annat";break;
default: $kylningstyp="Ingen tydligen =/";
}
$CpuZ=get_headers("http://valid.x86-secret.com/cache/banner/".substr($rad['cpuz'],43).".png",1);
if ($CpuZ['Content-Type']== "image/png") {
$CpuZvalidate = 1;
}
// $ob = "";
echo ' <tr><td>Användare: </td><td align="right">' . $rad['username'] . "</td></tr>\n";
echo ' <tr><td>Insckickad:</td><td align="right">' . date("Y-m-d H:i:s",$rad['date']) . "</td></tr>\n";
echo ' <tr><td colspan="2"><div id="cpuimg"><img src="images/cpu/'.$rad['cpuImg'].'"></div><div id="cpudata">'.$rad['fullname'].' '.$rad['speed'].'Mhz<br>
'.$rad['core'].'('.$rad['architecture'].')<br>
Stepping: '.$rad['stepping'].'<br>
Cache: '.$rad['chache'].'<br>
Socket '.$rad['socket'].'<br>
Standard FSB: '.$rad['fsbstd'].'Mhz<br>
Standard multipiler: '.$rad['stdmultipiler'].'</div></td></tr>';
echo ' <tr><td>Överklockad till:</td><td align="right">'. $rad['mhzClock'] . "Mhz</td></tr>\n";
echo ' <tr><td>Procentuell överklockning:</td><td align="right">'. $rad['percent'] . "%</td></tr>\n";
echo ' <tr><td>Bus:</td><td align="right">' . $rad['fsb'] . "Mhz</td></tr>\n";
echo ' <tr><td>Multipiler:</td><td align="right">' . $rad['multipiler'] . "</td></tr>\n";
echo ' <tr><td>FSB/HT Link: </td><td align="right">' . $rad['Bus'] . "Mhz</td></tr>\n";
echo ' <tr><td>Spänning:</td><td align="right">' . $rad['vcore'] . "v</td></tr>\n";
echo ' <tr><td>Minne:</td><td align="right">' . $rad['memModel'] . "</td></tr>\n";
echo ' <tr><td>vMem:</td><td align="right">' . $rad['vmem'] . "v</td></tr>\n";
echo ' <tr><td>vMem standard:</td><td align="right">' . $rad['vmemStd'] . "v</td></tr>\n";
echo ' <tr><td>Minnes frekvens:</td><td align="right">Standard:' . $rad['memStd'] . "Mhz<br>Överklockat: " . $rad['memOc'] . "Mhz</td></tr>\n";
echo ' <tr><td>Timings: </td><td align="right">' . $rad['timings'] . "</td></tr>\n";
echo ' <tr><td>Moderkort:</td><td align="right">' . $rad['moderkort'] . "</td></tr>\n";
echo ' <tr><td>BIOS:</td><td align="right">' . $rad['moderkortBios'] . "</td></tr>\n";
echo ' <tr><td>Temperatur (idle/load): </td><td align="right">' . $rad['cpuIdle'] ."/". $rad['cpuLoad']. "ºC</td></tr>\n";
echo ' <tr><td>Kylningstyp: </td><td align="right">'.$kylningstyp."</td></tr>\n";
echo ' <tr><td>Kylning: </td><td align="right">' . $rad['kylning'] . "</td></tr>\n";
if($CpuZvalidate==1){
echo ' <tr><td>CPU-Z: </td><td align="right"><a href="' . $rad['cpuz'] . "\"><img src=\"http://valid.x86-secret.com/cache/banner/".substr($rad['cpuz'],43).".png\"></a></td></tr>\n";
}else{
echo ' <tr><td>CPU-Z: </td><td align="right"><span style="color:red">Detta resultat är inte validerat, var god ange en giltig Cpu-Z länk för att validera</span></td></tr>'."\n";
}
echo ' <tr><td colspan="2">Kommentarer:<br>' . $rad['kommentar'] . "</td></tr>\n";
echo $ob;
}
/*if($_GET['type'] == "gpu") {
$sql = "SELECT * FROM ocdb_results_GPU WHERE id=$id";
$resultat = mysql_query($sql);
while ($rad = mysql_fetch_assoc($resultat)) {
echo ' <tr><td>Användare: </td><td align="right">' . getuser($rad['user_id']) . '</td></tr>
';
echo ' <tr><td>Insckickad:</td><td align="right">' . $rad['date'] . "</td></tr>
";
echo ' <tr><td>Grafikkort:</td><td align="right">' . $rad['model'] . "</td></tr>
";
echo ' <tr><td>Överklockning kärnan</td><td align="right">' . $rad['core'] . '</td></tr>
';
echo ' <tr><td>Överklockning minnen</td><td align="right">' . $rad['mem'] . '</td></tr>
';
echo ' <tr><td>Standard kärnan</td><td align="right">' . $rad['core_std'] . '</td></tr>
';
echo ' <tr><td>Standard minnen</td><td align="right">' . $rad['mem_std'] . '</td></tr>
';
echo ' <tr><td>Temperatur:</td><td align="right">' . $rad['temp'] . '</td></tr>
';
echo ' <tr><td>Prestanda i ' . $rad['test'] . '</td><td align="right">' . $rad['test_result'] . '</td></tr>
';
echo ' <tr><td colspan="2">Kommentarer:<br>' . $rad['comment'] . '</td></tr>
';
}
}*/
?>
<tr><td colspan="2" align="right"><?php echo '<a href="edit.php?type=' . $_GET['type'] . '&id=' . $_GET['id'] . '">Ändra resultat</a>'; ?></td></tr>
</table>
<p><br /><br />Gillade du den här sidan?<br /><a href="sprid.php">Hjälp mig gärna att sprida ut kännedommen!</a></p>
</div>
<div id="copyright">
<?php include("style/copyright.tpl"); ?>
</div>
</div>
<div id="right">
<table border="0" class="ad">
<tr>
<td align="center">Reklam</td>
</tr>
<tr>
<td><?php include("include/verticalad.php"); ?></td>
</tr>
</table>
</div>
<?php include("style/googleanalytics.html"); ?>
</body>
</html>
<?php
mysql_close();
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
echo '<!-- page loaded int'.$totaltime.' secounds -->';
?>
Hos One.com så tar det ca 0.1 sekunder, medans det tar 40 sekunder på min sernern, den skillnaden får mig att tro att det måste vara något konstigt i mitt script, eftersom att phpBB3 fungerar hur bra som helst.