php versnellen, tips?
Wat zijn de voornaamste tips voor het versnellen van php scripts. Dit vraagje eigenlijk omdat mijn website: www.rapbattle.be nogal redelijk traag loopt...
Alvast bedankt!
Ik zou zeggen, ga eens met microtime() meten hoelang je site erover doet, op bepaalde plekken.
Hoe kan ik dit verhelpen?
Alvast bedankt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
final class profiler {
private $start;
public function __construct() {
$this->start = (float) array_sum(explode(' ',microtime()));
}
private function exec() {
$mtime = explode(" ", microtime());
$msec = (double)$mtime[0];
$sec = (double)$mtime[1];
return $sec+$msec;
}
public function getTime() {
$end = (float) array_sum(explode(' ',microtime()));
return sprintf("%.4f", ($end-$this->start));
}
}
?>
final class profiler {
private $start;
public function __construct() {
$this->start = (float) array_sum(explode(' ',microtime()));
}
private function exec() {
$mtime = explode(" ", microtime());
$msec = (double)$mtime[0];
$sec = (double)$mtime[1];
return $sec+$msec;
}
public function getTime() {
$end = (float) array_sum(explode(' ',microtime()));
return sprintf("%.4f", ($end-$this->start));
}
}
?>
Deze gebruik je als volgt:
Index.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
/**
* Initialisatie van je applicatie
*/
//doe hier wat dingen
$profiler = new profiler();
//hier doet je script iets
echo 'Fase 1: '.$profiler->getTime()."\n";
//hier nog wat dingen (database dingen bijvoorbeeld)
echo 'Fase 2: '.$profiler->getTime()."\n";
//Hier nog iets
echo 'Fase 3: '.$profiler->getTime()."\n";
?>
/**
* Initialisatie van je applicatie
*/
//doe hier wat dingen
$profiler = new profiler();
//hier doet je script iets
echo 'Fase 1: '.$profiler->getTime()."\n";
//hier nog wat dingen (database dingen bijvoorbeeld)
echo 'Fase 2: '.$profiler->getTime()."\n";
//Hier nog iets
echo 'Fase 3: '.$profiler->getTime()."\n";
?>
En zo spits ik helemaal uit waar het probleem precies zit.
Je zou misschien nog wat kunnen winnen daar de grote van je site te verminderen maar daar ga je geen seconden mee winnen gezien het nog 'maar' 153kb is.
Je zou het volgende artikel eens kunnen doornemen:
http://www.keesschepers.nl/2010/12/08/je-website-snelheid-optimaliseren/
Gewijzigd op 04/01/2011 17:08:47 door kees Schepers
DNS report for rapbattle.be
Parent fail NS records at parent servers You asked for unknow tld:be, resolver cannot find nameservers for this tld, make sure you typed domain correctly
skip Glue at parent nameservers Skipped because of previous error.
Ik heb advertenties weggedaan en de website werkt al een heel stukje vlotter, ook heb ik mijn afbeeldingen gecomprimeerd..
Zo dat scheelt enorm inderdaad. Met een 8mbit verbinding doet je site er nu 1.58 sec over en is hij 143kb. Toch kan het sneller overigens. Mijn eigen webshop laadt gemiddeld in 0.8 á 1.0 sec.