加大gc的执行概率啊
查看
php.ini session部分的注释gc部分

解决方案 »

  1.   

    规定session生存周期为1天了,如何加大gc执行概率?
      

  2.   

    可以用session_save_path()设置session存放路径。
      

  3.   

    有10万个session文件产生时,怎样用session_save_path来存取这些分开的session啊?
      

  4.   

    放数据库是不行的,访问量太多,数据库会累死的
    有10万个session文件产生时,怎样用session_save_path来存取这些分开的session啊?
    ------------------------------------------------------------------------------如果是我,我宁愿选择让数据库存储10万条记录,也不愿意在某个目录下建立10万个文件夹,这个应该更影响系统性能吧?如果继续增加呢?
      

  5.   

    10万个是按少的计算了,实际可能50多万,访问量太高了,频繁的update,insert数据库,数据库很容易死掉的,所以要考虑如何把session存到/tmp/x这种存储方式
      

  6.   

    有10万个session文件产生时,怎样用session_save_path来存取这些分开的session啊?
    -----------------------------------------------------------------------------
    你自己分呀。只要一个文件夹里的文件少于1000个就不会太影响性能。比如你以用户id来分。floor(id/1000)为目录名。
      

  7.   

    "10万个是按少的计算了,实际可能50多万"达到50万了还用session?开玩笑
    这时候要转静态页面了吧?50万会员在线,数据库应该什么问题,专门开一个session专用数据库呗,程序也需要优化啦
    别跟我说不舍得上硬件哦
      

  8.   

    1、你自己分呀。只要一个文件夹里的文件少于1000个就不会太影响性能。比如你以用户id来分。floor(id/1000)为目录名。
    ------------------------------------------------
    这样在session_start()以前还要计算出session在哪个文件夹,而不能直接session_start()而自动得出session的值,不太好,要是能自动得出session的值才行。2、达到50万了还用session?开玩笑
    这时候要转静态页面了吧?
    ------------------------------------------------
    网站有个在线购物,所以不管有多少人浏览网站,在列表页和购物页必须用session
      

  9.   

    涉及到用户账号密码和相关私人信息,决定采用session来做
      

  10.   

    先钻个空子
    session生存时间设置为1天
    那么就是
    session.gc_maxlifetime = 86400
    问一下
    session.cookie_lifetime = ?
      

  11.   

    session.cookie_lifetime=0老大看看这个设置有什么需要注意的地方吗?
      

  12.   

    请问session文件一般是放在那个地方呢?
      

  13.   

    是的,用session 或自定义一些IO操作来代替SQL的效率会显著得多。
    有50W访问量啊?
    不过还是不够具体,可能瓶颈不会出在这里吧。session机制好象,那些文件有两个属性:随机被系统删允许时间(gc time),和cache 信息有效时间。手册这样说的:
    session.cookie_lifetime
    session.cookie_lifetime specifies the lifetime of the cookie in seconds which is sent to the browser. The value 0 means "until the browser is closed." Defaults to 0
    也就是说你的客户端一关闭浏览器对应的cache文件就别丢弃啦?
      

  14.   

    session_cookie_lefttime=0,只能表示浏览器一关,该session就没用了,但是要删除该session文件却是要一天的过后(这个是自己设定的,必须有效期为1天)
      

  15.   

    我该怎么做啊?
    1、必须用session
    2、不能把session放到数据库里,访问量太大,数据库压力会很大
    3、/tmp 目录无法存放这么多的session文件,好象6万多个文件的时候,就报错了唉,怎么办
      

  16.   

    session.cookie_lifetime=0
    老大看看这个设置有什么需要注意的地方吗?楼主,这可是你说的约。我没有篡改吧?既然session.cookie_lifetime=0
    那么就是说浏览器关闭后,session就失效了。设置session生存时间为1天的意义何在呢?
    就是想让session临时文件多占一点空间吗?
      

  17.   

    不是的,浏览器关闭后,session就失效了,但是不关闭的话,我要让session存活1天啊
    默认是1440秒,这不符合要求,所以我要让它存活一天
      

  18.   

    办法上面已经说过了还在问怎么办................................!1、不一定非用session不可,cookie和session并用减小session大小
    2、另装一台服务器,装session专用数据库
    3、设高gc概率或者session文件分层实在不想再回楼主什么了,别人是无法手把手教你的
      

  19.   

    session文件分层,这个方法不错,好好看看有没有比较好的分层方法
      

  20.   

    session.gc_maxlifetime 是什么意义?
    session.gc_maxlifetime = 1440 的含义你确实知道吗?
    他的意义在于当临时文件在最后修改后的1440秒以后可以被清除
    而只要你访问页面,临时文件就会更新。很难设想有人开着浏览器却什么事都不做
    睡觉了吗?那留着他有何用?
      

  21.   

    或者是写日记,比较投入的话,可能时间也会比较长一点,万一gc进程删掉了session文件,不是要重新写吗?这时候我的心情一定很糟糕
      

  22.   

    可以学一下163写邮件的功能啊,他靠的是客户端定期发送 alive 包,避免超时,不过这个方法已经不是session了。
      

  23.   

    可以的,我是不同网站用不同文件夹寸session
    $sess_path = "music";          if ($sess_path!=""){
                  $inipath = ini_get('session.save_path');
                  ini_set('session.save_path',"$inipath/$sess_path");
              }
      

  24.   

    建议能不用session的地方不用,以get方式通过url传递状态