Seite 1 von 1

sql statments und abfragen auswerten

Verfasst: 01.06.2006 12:34
von thompson
hallo,

ich habe auf meinem forum etwas performance probleme, wenn ca. 100 gäste und user gleichzeitig online sind.

jetzt würde ich gerne wissen, welche dateien bzw. sql abfragen denn die last produzieren, die die ladedauer auf teilweise 4 sec ansteigen lassen.

gibt es irgendetwas wo eine aufzeichnung der sql´s möglich ist ? oder wie könnte ich soetwas genauer angehen ?

Verfasst: 01.06.2006 13:29
von S2B
Wenn du mit der mysql4.php arbeitest:
Finde:

Code: Alles auswählen

	var $rowset = array();
Füge danach ein:

Code: Alles auswählen

	var $queries = array();
Finde:

Code: Alles auswählen

			$this->query_result = mysql_query($query, $this->db_connect_id);
Füge davor ein:

Code: Alles auswählen

			$mtime_start = microtime();
			$mtime_start = explode(' ', $mtime_start);
			$mtime_start = $mtime_start[1] + $mtime_start[0];
Füge danach ein:

Code: Alles auswählen

			$mtime_end = microtime();
			$mtime_end = explode(' ', $mtime_end);
			$mtime_end = $mtime_end[1] + $mtime_end[0];

			$debug_info = debug_backtrace();

			$this->queries[] = array(
				'query' => $query,
				'file' => $debug_info[0]['file'],
				'line' => $debug_info[0]['line'],
				'time' => $mtime_end - $mtime_start);

			unset($debug_info);
Ansonsten musst du das auf dein DBMS anpassen.

Wenn du den Code dann eingebaut hast, kannst du dir im Footer deines Forums alle ausgeführten Queries, Datei/Zeile und die benötigte Zeit ausgeben lassen. Die Daten stehen in $db->queries (ist ein Array).