Increasing the database connection lifetime: Difference between revisions
Dan Stowell (talk | contribs) No edit summary |
(ja link) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
I'm on a shared hosted server, and they told me that I was pushing the limits of their servers and must cease immediately. It was through a lot of searching did I find that using dbsessions was the way forward. It took me a while to understand the expiry timestamp in the MySQL database table, but then I found (after a lot of searching) that it counts in seconds from 1st Jan 1970 @ 12:00am. | I'm on a shared hosted server, and they told me that I was pushing the limits of their servers and must cease immediately. It was through a lot of searching did I find that using dbsessions was the way forward. It took me a while to understand the expiry timestamp in the MySQL database table, but then I found (after a lot of searching) that it counts in seconds from 1st Jan 1970 @ 12:00am. | ||
It was only by doing this was I able to calculate the exact number of seconds that my dbsessions were lasting. This value was nowhere near the value chosen in the Admin | It was only by doing this was I able to calculate the exact number of seconds that my dbsessions were lasting. This value was nowhere near the value chosen in the Admin >> Variables. [Quick Note: this is due to a bug in Moodle's code (#5912), which doesn't use this value when using dbsessions. It may have been fixed by the time you read this or not. Check the bug status: http://tracker.moodle.org/browse/MDL-5912. | ||
php_value session.gc_maxlifetime "14400" | So I did more searching. I found that I needed to adjust session.gc_maxlifetime in ''php.ini''. Because I'm on a shared server, I had to make this change via the ''.htaccess'' file. So I changed this number from 1440 seconds (25 minutes) to 14400 (4 hours) by adding this line: | ||
php_value session.gc_maxlifetime "14400" | |||
This then gave me my 4 hour sessions (after checking against the MySQL table using a nifty Excel spreadsheet I quickly made). | This then gave me my 4 hour sessions (after checking against the MySQL table using a nifty Excel spreadsheet I quickly made). | ||
[[Category:Administrator]] | |||
[[Category:Performance]] | [[Category:Performance]] | ||
[[ja:データベース接続持続時間を増やす]] |
Latest revision as of 06:37, 16 July 2007
Some advice copied from a posting by Kunal Kapoor:
I'm on a shared hosted server, and they told me that I was pushing the limits of their servers and must cease immediately. It was through a lot of searching did I find that using dbsessions was the way forward. It took me a while to understand the expiry timestamp in the MySQL database table, but then I found (after a lot of searching) that it counts in seconds from 1st Jan 1970 @ 12:00am.
It was only by doing this was I able to calculate the exact number of seconds that my dbsessions were lasting. This value was nowhere near the value chosen in the Admin >> Variables. [Quick Note: this is due to a bug in Moodle's code (#5912), which doesn't use this value when using dbsessions. It may have been fixed by the time you read this or not. Check the bug status: http://tracker.moodle.org/browse/MDL-5912.
So I did more searching. I found that I needed to adjust session.gc_maxlifetime in php.ini. Because I'm on a shared server, I had to make this change via the .htaccess file. So I changed this number from 1440 seconds (25 minutes) to 14400 (4 hours) by adding this line:
php_value session.gc_maxlifetime "14400"
This then gave me my 4 hour sessions (after checking against the MySQL table using a nifty Excel spreadsheet I quickly made).