[erledigt] Zeit jeder einzelnen SQL-Abfrage anzeigen lassen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Garfield312
Mitglied
Beiträge: 528
Registriert: 03.09.2004 15:54

Beitrag von Garfield312 »

Na klar :D

http:// hottelino.webmach.de/page_tail.php.txt
http:// hottelino.webmach.de/mysql.php.txt

Da diese Subdomain aber nur ein Test ist wegen bevorstehendem Serverumzug, muß ich es als nicht klickbaren Link machen, weil die Subdomain nicht in den Google-Index darf.
Viele Grüße, Garfield.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

mmmh, die page_tail unterscheidet sich im wesentlichen nur bei der CT Version und den Short URL und dem page generation mod.

Probiere mal folgendes in der mysql.php:
finde:

Code: Alles auswählen

	var $num_queries = 0;
danach einfügen:

Code: Alles auswählen

	var $sql_time = 0;
Sollte edas nicht funktionieren, dann müsstest Du ev. den page generation Mod einbauen - kann dann ev. sein, daß mein Snippet MIT dem Mod funktioniert, aber ev. nicht OHNE (kann ich mir zwar nicht vorstellen, aber möglich ist ja fast alles)

Alternativ kann ich Dir meine page_tail bzw mysql.php schicken...
Garfield312
Mitglied
Beiträge: 528
Registriert: 03.09.2004 15:54

Beitrag von Garfield312 »

Danke für den Tip.

Aber auch mit diesem Code-Teilchen geht's nicht.

Ich muß dann mal nach dem page generation Mod suchen. Ich befürchte nämlich, daß irgendeiner der Mods, die ich drinhabe, das Forum wahnsinnig bremst und auch den Server quasi lahmlegt.
Viele Grüße, Garfield.
Garfield312
Mitglied
Beiträge: 528
Registriert: 03.09.2004 15:54

Beitrag von Garfield312 »

So, jetzt habe ich den page generation auch drin, und auch der zeigt einen Fehler, den gleichen wie hier beschrieben :

http://www.phpbb.de/viewtopic.php?t=44396

Ich habe mir aber die neueste Version gezogen, und trotzdem noch die unglaublichen Werte :
Page generation time: 1159524143.76s (PHP: 100% - SQL: 0%) - SQL queries: 69 - GZIP disabled - Debug on
Also liegt es eher nicht an deinem Mod, sondern darum, daß irgendwarum die SQL-Abfragen gar nicht geloggt werden. Aber warum ? Keine Ahnung...
______________________________
EDIT / 14.27h :
Ich habe die Lösung gefunden :

http://www.phpbb2.de/fpost149516.html#149516

Es lag an einer fehlerhaften "extension.inc" im Root-Dir... ersetzt, jetzt geht zumindest der normale Statistik-Mod :

"Page generation time: 7.7494s (PHP: 64% - SQL: 36%) - SQL queries: 73 - GZIP disabled - Debug on"

Deiner will aber immer noch nicht :wink: Schaumermal.
Viele Grüße, Garfield.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

ev. lässt der neue CT keine Textausgaben nach dem eigentlichen Footer zu?
(Du hast IMO eine neuere Version vom CT als ich)

Ich selbst habe das Teil auf zwei verschiedenen Foren laufen, eines medium gemoddet und eines sehr stark gemoddet.
Garfield312
Mitglied
Beiträge: 528
Registriert: 03.09.2004 15:54

Beitrag von Garfield312 »

Das kann es eigentlich auch nicht sein.

Denn das :

"Page generation time: 7.7494s (PHP: 64% - SQL: 36%) - SQL queries: 73 - GZIP disabled - Debug on"

erscheint ja auch im Footer, und es erscheint ja auch die von dir angelegte Tabelle :
SQL-Abfrage | Datei | Zeile | Sekunden
Summen:
Abfragen: 0 - Gesamte DB-Zeit: s
Viele Grüße, Garfield.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Habe nun Deine mysql.php auf meinem Forum getestet und damit funzt es - liegt also mal sicher nicht daran...

Die page_tail.php konnte ich leider nicht bei mir testen, da sich diese nicht mit meiner Version den CT verträgt.

Hier mal meine page_tail.php zum Vergleich:

Code: Alles auswählen

<?php
/***************************************************************************
 *                              page_tail.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: page_tail.php,v 1.27.2.2 2002/11/26 11:42:12 psotfx Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

if ( !defined('IN_PHPBB') )
{
	die('Hacking attempt');
}
//
// CBACK.de CrackerTracker
// Footer Parser and Counter
//
include($phpbb_root_path . 'ctracker/ct_footer.'.$phpEx);
//
// Show the overall footer.
//

$admin_link = ( $userdata['user_level'] == ADMIN ) ? '<a href="admin/index.' . $phpEx . '?sid=' . $userdata['session_id'] . '">' . $lang['Admin_panel'] . '</a><br /><br />' : '';

$template->set_filenames(array(
	'overall_footer' => ( empty($gen_simple_header) ) ? 'overall_footer.tpl' : 'simple_footer.tpl')
);

$template->assign_vars(array(
	'PHPBB_VERSION' => '2' . $board_config['version'],
	'TRANSLATION_INFO' => ( isset($lang['TRANSLATION_INFO']) ) ? $lang['TRANSLATION_INFO'] : '',
	'ADMIN_LINK' => $admin_link)
);

$template->pparse('overall_footer');

//
// Close our DB connection.
//
$db->sql_close();

//
// Compress buffered output if required and send to browser
//
if ( $do_gzip_compress )
{
	//
	// Borrowed from php.net!
	//
	$gzip_contents = ob_get_contents();
	ob_end_clean();

	$gzip_size = strlen($gzip_contents);
	$gzip_crc = crc32($gzip_contents);

	$gzip_contents = gzcompress($gzip_contents, 9);
	$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);

	echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
	echo $gzip_contents;
	echo pack('V', $gzip_crc);
	echo pack('V', $gzip_size);
}


/* Un-comment the line below to restrict Admins only to view page generation info */
//if( ($userdata['session_logged_in']) and ($userdata['user_level'] == ADMIN) )
{
	$gzip_text = ($board_config['gzip_compress']) ? 'GZIP aktiviert' : 'GZIP deaktiviert';

	$debug_text = (DEBUG == 1) ? 'Debug ein' : 'Debug aus';

	$excuted_queries = $db->num_queries;

	$mtime = microtime();
	$mtime = explode(" ",$mtime);
	$mtime = $mtime[1] + $mtime[0];
	$endtime = $mtime;

	$gentime = round(($endtime - $starttime), 4);

	$sql_time = round($db->sql_time, 4);

	$sql_part = round($sql_time / $gentime * 100);
	$php_part = 100 - $sql_part;

	echo '<div style="font-family: Verdana; font-size: 10px; color: #000000; letter-spacing: -1px" align="center">benötigte Zeit für Seitengenerierung: '. $gentime .'s (PHP: '. $php_part .'% - SQL: '. $sql_part .'%) - SQL Abfragen: '. $excuted_queries .' - '. $gzip_text .' - '. $debug_text .'</div>';
}

// SQL-Zeitmessung Anfang
$zm_switch = 1; // 0 = AUS, 1 = EIN
if( ($userdata['session_logged_in']) && ($userdata['user_level'] == ADMIN) && ($zm_switch == 1) )
{
   $zmtotal = $db->zmtotal;
   $abfrage1 = $db->abfrage;
   $abfrage = explode("xYz",$db->abfrage);
   $zmteil = explode("xYz",$db->zmteil);
   $zmfile = explode("xYz",$db->zmfile);
   $zmline = explode("xYz",$db->zmline);
   echo '<div style="font-family: Verdana; font-size: 10px; color: #000000; letter-spacing: -1px" align="center"><br />';

   echo '
   <table width="95%" border="0" cellpadding="1" cellspacing="1" style="border-collapse: collapse font-family: Verdana; font-size: 10px; color: #000000; letter-spacing: -1px" >
      <tr>
         <td class="catHead" height="20"><span class="cattitle"><center><b>SQL-Abfrage</b></center></span></td>
         <td class="catHead" height="20"><span class="cattitle"><center><b>Datei</b></center></span></td>
         <td class="catHead" height="20"><span class="cattitle"><center><b>Zeile</b></center></span></td>
         <td class="catHead" height="20"><span class="cattitle"><center><b>Sekunden</b></center></span></td>
      </tr>';

   $co = 1;
   while ($abfrage[$co] <> "")
   {
      echo '<tr><td class="row1">' . $abfrage[$co] . '</td>';
      echo '<td class="row1">' . $zmfile[$co] . '</td>';
      echo '<td class="row1">' . $zmline[$co] . '</td>';
      echo '<td class="row1">' . $zmteil[$co] . '</td></tr>';
      $co++;
   }
   echo '</table><b>Summen:</b><br />Abfragen: ' . ($co - 1) . ' - Gesamte DB-Zeit: ' . $zmtotal . 's</div>';
}
// SQL-Zeitmessung Ende
exit;
?>
Mit dem Tool Winmerge kann Du rasch vergleichen, wo die Unteshiede sind:
Short URL, andere CT-Version und der Page Generation Mod, aber den hast Du ja inzwischen auch drin...
Garfield312
Mitglied
Beiträge: 528
Registriert: 03.09.2004 15:54

Beitrag von Garfield312 »

Das ist doch zum Mäusemelken :lol:

Compare hatte ich vorher schon mit Context gemacht. Soweit alles sauber.

Ich habe jetzt mal deine page_tail online, immer noch das gleiche Spiel :

Screenshot

Ich rast' aus, dabei wäre das genau das Tool, das ich bräuchte, um endlich rauszufinden, warum mein Portal so lähmt :D
Viele Grüße, Garfield.
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

ich weiss nicht, welches Portal Du hast, aber wenn Du den von AWSW hast (den Intro und Portal Mod 1.50a), dann deaktiviere mal die "letzten Themen"-Box
Garfield312
Mitglied
Beiträge: 528
Registriert: 03.09.2004 15:54

Beitrag von Garfield312 »

Ja, es ist das AWSW.

Ich habe die letzten Themen eben mal deaktiviert, hat aber leider nichts gebracht - außer einer Beschleunigung des Aufrufs der portal.php um den Faktor 13,6 (!) :lol:

Damit wüßte ich jetzt zumindest mal, wo ich suchen muß, daß das Portal so langsam ist - allerdings geht dein Mod bei mir leider immer noch nicht, obwohl er ja eigentlich ok sein muß, denn er läuft ja bei dir.
Viele Grüße, Garfield.
Antworten

Zurück zu „Coding & Technik“