Seite 1 von 2

451 queries excuted ???

Verfasst: 12.11.2003 18:44
von Waagenbauer
Hallo,

beim viewforum habe ich 452 queries, beim index über 300! v.2.0.4

Ich weis nicht mehr genau seid wann die queries so hochgeschossen sind. Mein Server geht kräftig in die Knie.

Meine letzten Mods waren der "categories hierarchie 1.1.0" und der "birthday-mod".
Bin mir aber nicht sicher, obs an einem Mod liegt.

Das die Q nach Mods ansteigen ist ja klar, aber 200-450 ist doch nicht normal.

Hat jemand schonmal das gleiche Problem gehabt? Weis jemand Rat?

Verfasst: 13.11.2003 06:17
von Acid
Tja, is nich soo verwunderlich bei derartigen Hacks ... was hast´n alles in die page_header.php und page_tail.php eingebaut ?

Verfasst: 13.11.2003 22:15
von Waagenbauer
page_header.php

Ab Zeile 60 'Today at Mod' und Mod für Winter/Sommerzeit (welcher aber nicht richtig funzt)

Code: Alles auswählen

//
// PARSE DATEFORMAT TO GET TIME FORMAT // TODAY AT MOD
//
$time_reg = '([gh][[:punct:][:space:]]{1,2}[i][[:punct:][:space:]]{0,2}[a]?[[:punct:][:space:]]{0,2}[S]?)';
eregi($time_reg, $board_config['default_dateformat'], $regs);
$board_config['default_timeformat'] = $regs[1];
unset($time_reg);
unset($regs);

// 
// GET THE TIME TODAY AND YESTERDAY 
// 
$today_ary = explode('|', create_date('m|d|Y', time(),$board_config['board_timezone'])); 
//ab hier geändert von mir ////////// 
$zeit = localtime(time() , 1); 
if ($zeit[tm_isdst]==1) 
{ 
   //Sommerzeit 
   $board_config['time_today'] = gmmktime(0 - $board_config['board_timezone'] - $board_config['dstime'] - date('I'),0,0,$today_ary[0],$today_ary[1],$today_ary[2]); 
} 
if ($zeit[tm_isdst]==0) 
{ 
   // Winterzeit 
   $board_config['time_today'] = gmmktime(0 - $board_config['board_timezone'] - $board_config['dstime'],0,0,$today_ary[0],$today_ary[1],$today_ary[2]); 
} 
//ende änderungen von mir 
$board_config['time_yesterday'] = $board_config['time_today'] - 86400; 
unset($today_ary); 

Also hier liegts nicht dran. Hatte ich schon rausgenommen:

Code: Alles auswählen

if ( $userdata['session_logged_in'] )
{
      // see if user has or have had birthday, also see if greeting are enabled 
	if ( $userdata['user_birthday']!=999999 && $board_config['birthday_greeting'] && create_date('Ymd', time(), $board_config['default_timezone'])  >= $userdata['user_next_birthday_greeting'].realdate ('md',$userdata['user_birthday'] ) ) 
	{ 
	      $sql = "UPDATE " . USERS_TABLE . " 
      	     	SET user_next_birthday_greeting = " . (create_date('Y', time(), $board_config['board_timezone'])+1) . " 
            	WHERE user_id = " . $userdata['user_id']; 
	      if( !$status = $db->sql_query($sql) ) 
		{ 
            	message_die(GENERAL_ERROR, "Could not update next_birthday_greeting for user.", "", __LINE__, __FILE__, $sql); 
	      } 
		$template->assign_var("GREETING_POPUP",  
		"<script language=\"Javascript\" type=\"text/javascript\"><!-- 
		   window.open('http://www.kaltmacher.de/birthday_popup.php', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); 
		  //--> 
		</script>");
      } //Sorry user shall not have a greeting this year

Das am Ende Subforen-Mod:

Code: Alles auswählen

// header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
// header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
// header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');

//-- mod : hiérarchie des rubriques ----------------------------------------------------------------
//-- add v1.0.2
if (!isset($board_config['sub_forum']) )
{
	$sqlw = "insert into ".CONFIG_TABLE." (config_name,config_value) VALUES('sub_forum','1')";
	if ( !($resultw = $db->sql_query($sqlw)) ) message_die(GENERAL_ERROR, 'Could not add key sub_forum in config table', '', __LINE__, __FILE__, $sql);
}
$sub_forum = (isset($board_config['sub_forum'])) ? intval($board_config['sub_forum']) : true;
//-- add v 1.0.9
$template->assign_vars(array(
	'NAV_SEPARATOR' => $nav_separator,
	)
);
//-- fin mod : hiérarchie des rubriques ------------------------------------------------------------

$template->pparse('overall_header');

?>

Verfasst: 14.11.2003 09:06
von Acid
..deaktiviere mal testweise den birthday-Code.

Verfasst: 14.11.2003 12:11
von Waagenbauer
Den Birthday-code hatte ich schonmal rausgenommen. Liegt nicht daran.

Wenn ich eine Seite aufrufe ohne weitere Verarbeitung und DB-Abfrage, nur mit den üblichen includes habe ich das gleiche Problem über (200 queries).

Es muss also in den includeten Dateien was Faul sein: extensions.php, sessions.php usw.

Oder könnte es daran liegen, das ich in der httpd.conf meines Apache-Servers und php.ini die Persistent-Connections deaktiviert habe ?

Verfasst: 15.11.2003 18:08
von Waagenbauer
An den Server einstellungen liegt auch nicht.

Hier kann man sehen das immer ca. 220 queries zuviel angezeigt (abgearbeitet) werden: http://www.kaltmacher.de/viewtopic/

@Acid
Kann ich dir mal die includeten Dateien common, auth usw. schicken oder hast du noch ein Tip ?

Verfasst: 16.11.2003 00:44
von Acid
Naja, es gibt eigentlich kaum Hacks die Änderungen an common.php, sessions.php oder auth.php verlangen. Und wenn sind es solche, die du, wenn ich das richtig überblicke, nicht eingebunden hast (z.B. Last Visit).
Oder könnte es daran liegen, das ich in der httpd.conf meines Apache-Servers und php.ini die Persistent-Connections deaktiviert habe ?
oha. Warum hattest´n das deaktiviert ? Das könnte natürlich der Grund sein, denn wenn eine identische Verbindung bereits besteht, wird diese genutzt, ansonsten wird eine neue geöffnet.

Verfasst: 16.11.2003 16:00
von Waagenbauer
Ich habe alles was mit die persistant zu tun hat wieder auf on gestellt und neu gestartet. Es hat sich nichts an den queries verändert.
Es sind ja immer über 200 zuviel. :(

Warum persistant auf off? Das hatte ich mal im linuxforum gelesen. Da hieß es, es wäre nachteilig für den Serverspeed bei einem großem php-forum.

Verfasst: 16.11.2003 16:27
von Waagenbauer
Was ich jetzt bemerkt habe ist, dass bei Seiten bei den Daten aus der User-Tabelle aufgerufen werden (wie viewtopic, memberlist, profil, groupcp) die queries auf über 400 steigen (sonst über 200).

Ich habe über 3700 User, kann doch nicht daran liegen, oder ?
Meine DB wird regelmäßig gewartet.

Verfasst: 16.11.2003 16:43
von Dennis63
Hi

Kann es sein, daß evtl nur die Anzeige falsch ist und gar nicht so viele Querrys da waren, als angezeigt werden?

Page generation time: 1.043 seconds :: 310 queries excuted
Das wären 0,003 Sekunden pro Querry - Was mir doch recht wenig vorkommt.

AllInk hat zur Zeit z.B. z.B. 0,06 Sekunden laut Hostwatch.
1&1 liegt bei 0,3 Sekenden, was sehr viel ist.
Mein Hoster (Urifabi) liegt aktuell bei 0,08 Sekunden.

Grüße
Dennis