Seite 5 von 6

Verfasst: 10.03.2004 06:41
von heinzisoft
Heißt das dann, dass ab einer Bestimmten Anzahl an gleichzeitigen Benutzern die, die zuerst da waren rausgeschmissen werden?

Verfasst: 10.03.2004 10:13
von Acid
Sozusagen, sie müssten sich dann neu einloggen.
Aber sowas solltest du immer erst machen, wenn Probleme diesbezüglich auftreten.

Verfasst: 19.03.2004 17:08
von heinzisoft
Also meinst du, ich solle den Mod erst installieren, wenn Probleme auftreten.
Diese sind bei meiner aktuellen Userzahl relativ unwahrscheinlich ;-)

Verfasst: 28.03.2004 19:53
von kickaha
Also ich hatte den Mod inzwischen auch mal eingebaut, da er ja gerade bei großen Besucherzahlen helfen sollte...

Auf einen kleinen Forum mit nur wenig besuchern läuft er scheinbar ganz gut, aber auf einen besser besuchten überhaupt nicht...


Sobald mal ein paar Usern aud den Forum warn wurde des bekannte Fehler ausgelöst, da hilft den nur alle Sessions löschen bzw. den Mod wieder rauszuschmeissen...

Aber mir ist da was aufgefallen, der Manager gibt mir solche Werte aus...

Momentan vorhanden: 1311
Verbleibende bis zur Löschung: -311
Gelöscht werden: 50

Aber was soll das mit der negativen Zahl ?!

Kickaha

Verfasst: 17.05.2004 22:23
von Gast
Dwing hat geschrieben:Versucht mal:

Code: Alles auswählen

//
// Delete old sessions
//
$sql = 'DELETE FROM ' . SESSIONS_TABLE . '
        ORDER BY session_start
        LIMIT 50;'; 
Ist das jetzt die richtige Lösung oder was? :-?

Ich hatte heute auch folgenden Fehler:

Code: Alles auswählen

Warning: Failed opening './language/lang_english/lang_main.php' for inclusion (include_path='.:/usr/share/pear') in /home/httpd/vhosts/fahrschule-froehlich.de/httpdocs/includes/functions.php on line 2026 
phpBB : 

Error clearing sessions table 

DEBUG MODE 

SQL Error : 1064 You have an error in your SQL syntax near 'ORDER BY session_start LIMIT 50' at line 2 

DELETE FROM phpbb1_sessions ORDER BY session_start LIMIT 50 

Line : 222 
File : /home/httpd/vhosts/fahrschule-froehlich.de/httpdocs/common.php 
:(

Bitte um Hilfe, wäre sehr nett.

LG

Sascha

BTW:
Warum sind im phpBB Hardcodings mit "lang_english" enthalten? Ich habe die jetzt alle gesucht und ausgetauscht gegen "lang_german", weil es ersters Sprache bei meinem Boadr nicht mehr gibt ... :-?

Verfasst: 18.05.2004 08:51
von Gast
Und schon wieder den gleichen Fehler heute morgen mit dem zusätzlichen Semikolon! :evil:

Kann das mal einer richtig machen? Ich kann mein Board derzeit nicht mehr verwenden, weil mir die session table ständig überläuft und der Mod nicht funktioniert! :(

Danke und liebe Grüße

Sascha

Hier die Daten zum Zeitpunkt des Crashs: Klick

Verfasst: 18.05.2004 09:28
von Gast
Hallo zusammen,

ich habe jetzt mal einen Vergleich gemacht zwischen meiner session table und einer defaultmäßigen Session table:

Meine Session Table:

Code: Alles auswählen

CREATE TABLE `phpbb_sessions` (
  `session_id` varchar(32) NOT NULL default '',
  `session_user_id` mediumint(8) NOT NULL default '0',
  `session_start` int(11) NOT NULL default '0',
  `session_time` int(11) NOT NULL default '0',
  `session_ip` varchar(8) NOT NULL default '',
  `session_page` int(11) NOT NULL default '0',
  `session_logged_in` tinyint(1) NOT NULL default '0',
  `session_robot` varchar(32) default NULL,
  PRIMARY KEY  (`session_id`),
  KEY `session_user_id` (`session_user_id`),
  KEY `session_id_ip_user_id` (`session_id`,`session_ip`,`session_user_id`)
) TYPE=HEAP MAX_ROWS=500;
Defaultmäßige Table:

Code: Alles auswählen

CREATE TABLE `phpbb_sessions` (
  `session_id` varchar(32) NOT NULL default '',
  `session_user_id` mediumint(8) NOT NULL default '0',
  `session_start` int(11) NOT NULL default '0',
  `session_time` int(11) NOT NULL default '0',
  `session_ip` varchar(8) NOT NULL default '0',
  `session_page` int(11) NOT NULL default '0',
  `session_logged_in` tinyint(1) NOT NULL default '0',
  `session_robot` varchar(32) default NULL,
  PRIMARY KEY  (`session_id`),
  KEY `session_user_id` (`session_user_id`),
  KEY `session_id_ip_user_id` (`session_id`,`session_ip`,`session_user_id`)
) TYPE=MyISAM;
Warum ist meine Table auf 500 Zeileneinträge begrenzt, und warum von Typ HEAP und was ist der Unterschied zum Typ MyISAM?

Welches Script macht die Table zum Typ HEAP? Dieses hier, oder könnte das das Datenbankoptimierungstool auch gewesen sein? Und warum die Begrenzung auf 500 Zeileneinträge?

Vielleicht konnte ich damit etwas zur Problemlösung beitragen. :)

Vielen Dank und sorry für meine schlechte Laune, aber das ist halt echt ärgerlich. ;)

Liebe Grüße

Sascha

P.S.: Ich habe die Table jetzt erst einmal gedroppt und die Defaultmäßige created, und hoffe dass jetzt bis zur Problemlösung Ruhe ist. :)

€dit:
Das Datenbankoptimierungstool wandelt die session table in den Typ HEAP um, wenn man diese Funktion anstößt, was ich wohl mal getan habe. Die Frage ist nun, begrenzt dieses Tool auch die Zeileneinträge, oder nicht? Und was soll das für einen Sinn ergeben? :-?

Verfasst: 06.06.2004 17:49
von hope
Hi,

es gibt auch noch eine Möglichkeit für die mysql3 Nutzer den bestehenden Mod zu benutzen. Es muss nur das delete-query in der common.php auf

Code: Alles auswählen

delete from ' . SESSIONS_TABLE . ' where unix_timestamp(now())-session_time>1500

geändert werden, was alle Einträge entfernt die länger als 25 Minuten keine Aktivität aufweisen, was mir ein vernünftiger Wert erscheint. Dann muss man etwas "spielen" mit dem Wert wann das delete-query losgehen soll.

Code: Alles auswählen

if ( $session_count >= '200' )


funktioniert bei mir einwandfrei.

Gruss
Deniz

Verfasst: 06.06.2004 19:44
von Dwing
UPDATE
Alle, die Probleme mit dem Mod haben (die anderen auch) können mal diese Version testen:
http://www.weingarten-net.de/static/fil ... _1.9.0.zip

Sollte die Probleme beheben, erkennt automatisch die MySQL Version und passt den Query an.
Die Maximale Anzahl für Sessions wurde auf 250 erhöht.

Verfasst: 06.06.2004 19:58
von Gast
Ich habe diese Lösung eingebaut, und seitdem keine Probleme mehr:

http://phpbb.com/kb/article.php?article_id=42