通过将session分布到多个目录里来提高网站访问速度

如果一个网站的session量特别大的话,且所有的session文件都在同一个子目录下的话,那么可能会由此带来很严重的负载问题,甚至导致网站无法使用。本文就是对这个方案做一下详细的解说。
首先,修改 php.ini的 session.save_path 选项,大致如下:

session.save_path = "3;/tmp/php_sess"

意为把session存放在 "/tmp/php_sess" 目录下,并且分成 3 级子目录,每级子目录又分多个子目录。

不过在使用多级session目录前,需要手动来创建好这些目录,系统并不会自动创建这些目录的.下面有一个创建3级目录的php脚本,可以在命令行下执行 php create_dir.php 来实现.




set_time_limit(0);

$string = '0123456789abcdefghijklmnopqrstuvwxyz';
$length = strlen($string);

function makeDir($param) {
if(!file_exists($param)) {
makeDir(dirname($param));
mkdir($param);
}
}

for($i = 0; $i < $length; $i++) {
for($j = 0; $j < $length; $j++) {
for($k = 0; $k < $length; $k++) {
makeDir($string[$i].'/'.$string[$j].'/'.$string[$k]); 		}
}

}

参考:http://imysql.cn/?q=node/202
目前并没有在实际生产环境中使用.不清楚是否有其它弊端的???