Hey Driver 7,
Could you clarify something for me? In the first few posts you say that you changed the sessions table from HEAP to MyISAM, and in the last post you say you changed from MyISAM to HEAP.. <img>
A fresh install of IM 1.4.0(or a recent phpBB version) would create the sessions table as MyISAM. This table type most likely won't fill up as it's MAX_ROWS is usually large enough to handle a busy forum. A HEAP table's MAX_ROWS is much lower, usually set to 550 by your host.
The advantage to using HEAP over MyISAM is that HEAP is much faster as it's kept in memory rather then written to HDD. But, of coarse, it can't handle as many entries as it would most likely crash the server.
Regardless of your session table type you can try to increase the MAX_ROWS to suit the number of sessions that may occur based on your user base.
Run the following query in phpmyadmin.
- Code: Select all
ALTER TABLE phpbb_sessions MAX_ROWS = 2500;
You can increase the number of rows past 2500, but it cannot exceed the MySQL max_heap_table_size.
The MySQL people say that MySQL won't let you increase the MAX_ROWS past the max_heap_table_size. But, I've also heard that increasing the MAX_ROWS pas the max_heap_table_size can give you the sessions table full error, so I don't know the truth.
Alternatively, we could introduce a script which would check how many sessions exist for a user ip and once it reaches a certain number, delete the oldest one. That would work great normally, but if you have a number of users behind a proxy then they all couldn't get access to the board.