Heeft er iemand een script of voorbeelden hoe ik de query tijd en het aantal queries kan meten van mijn website?
Ik wil namelijk het aantal queries verlagen en trage queries meten om die te verbeteren (mbv indexen etc).
Ik heb volgens mij eigen logica al een lading indexen geplaatst (wat lijkt te helpen) echter wil ik ook de performance hiervan meten.
Iemand een idee hoe dit redelijk simpel te doen is? Liefste zonder aanpassing van de aanroep van de queries, al denk ik dat dit niet mogelijk is en dat ik iedere query aanroep via een functie moet laten lopen om daar eea in een (bijvoorbeeld) array op te slaan.
Graag nuttige tips en reacties. Bedankt
- MySQL query aantal en query tijd
-
27-09-2009, 13:41 #1
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
MySQL query aantal en query tijd
-
-
27-09-2009, 14:17 #2
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
-
27-09-2009, 14:22 #3
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Ik heb geen toegang tot de MySQL log... dus daar heb ik dan weinig aan toch?
-
27-09-2009, 14:24 #4
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Nee, dat is jammer want was wel een goede manier geweest.
Nu moet je voor en na iedere query een timer zetten.
Maar de indexxen kun je toch op hand van de query zelf bepalen, niet zozeer door te stres testen?
-
27-09-2009, 14:28 #5
- Berichten
- 756
- Lid sinds
- 16 Jaar
Misschien dat je hier iets aan hebt:
PHP Code:function customquery($query,$connection){
if(QUERY_REPORTING){
$aBackTrace = debug_backtrace();
$microtime = explode(" ",microtime());
$_SESSION["query_report"][]=$microtime[0]." ".$_SERVER['REQUEST_URI']."<br />".$aBackTrace[0]["file"].", line ".$aBackTrace[0]["line"].".<br /><b>".$query."</b><br /><br />";
}
$rResult = mysql_query($query, $connection) OR die(mysql_error());
return $rResult;
}
define("QUERY_REPORTING",TRUE);
verander overal mysql_query() in customquery()
en zorg ervoor dat je op de laatste regel van je script(s) de session waardes weergeeft en leegmaakt.
PS: de duur van de query's zelf wordt niet gemeten, alleen het tijdstip wanneer deze wordt uitgevoerd.
Aan de verschillen zie je dus wel hoelang het duurt, maar ook php heeft tijd nodig.
Je kan dit evt aanpassen door het verschil in microtime, te berekenen: na de mysql_query() functie.Laatst aangepast door Z Tas : 27-09-2009 om 14:42
-
27-09-2009, 18:54 #6
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Mijn probleem is dat mijn site > 3000 queries heeft, dus alle queries nalopen om zo de indexen te bepalen is mij teveel werk. Vandaar dat ik eea wil meten om zo in iedergeval de grootste problemen te tackelen.
@Z Tas, bedankt. Zoiets had ik al in gedachten, ik ga ermee aan de slag.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic