session不是问题的关键人数增多负载会成指数增涨,并发是瓶颈。再就是服务器的网络处理能力(tcp/ip栈)
discuz应用cookie减轻数据库负担,但不是根本的解决办法。通常程序都会建立四五个session??这句是什么意思?
一般一个程序/一次访问操作2次session就够了(读写),而且session用mysql的内存表,速度非常快

解决方案 »

  1.   

    并发是瓶颈是指什么?非php所能及的服务器方面?通常程序建立4、5个session是说一般完整程序中建立的session了,比如user、pwd、login就是三个。“session用mysql的内存表”的意思是指discuz的吧?
      

  2.   

    发贴和回贴的并发应该怎么处理?discuz是怎么处理的?就像在异地同时订一张飞机票一样……
      

  3.   

    又见到了飘忽不定的君子兰……HEAP表并不适合保存完整的Session,因为长度限制。memcached更适合
    有时候session确实是瓶颈,不过可以很方便地把session文件hash到不同的地方
    更多时候压力来自数据库
      

  4.   

    session不是问题的关键人数增多负载会成指数增涨,并发是瓶颈。再就是服务器的网络处理能力(tcp/ip栈)
    discuz应用cookie减轻数据库负担,但不是根本的解决办法。通常程序都会建立四五个session??这句是什么意思?
    一般一个程序/一次访问操作2次session就够了(读写),而且session用mysql的内存表,速度非常快
    -----------------------------------------------------------
    discuz是用数据库代替session。不是用cookie减轻数据库负担。
      

  5.   

    是。就是想了解,会不会这个session这样用mysql代替了之后,会对效率提高很多?
      

  6.   

    很多?
    不会~
    因为Discuz是通用产品,必须保证在更普遍的环境下可以执行,保证绝大多数虚拟主机可以使用,所以不会用特别特殊的方式来提高性能。
      

  7.   

    用文件会更快吧
    session里放密码做什么?
      

  8.   

    前面我表达的不清楚
    “discuz应用cookie减轻数据库负担”
    discuz根据cookie控制客户端的cache,从而减轻数据库负担,而不是用cookie代替session“通常程序建立4、5个session是说一般完整程序中建立的session了,比如user、pwd、login就是三个。”
    这样写并不好,一个页面出现$_SESSION的地方最多2次,变量可以放在数组里读写,并且只保存数字,长字符串存到cookie里。php的用途我想说一下我的观点:
    1 中小网站,访问不大,压力不大,可以作为操作数据库的中间件
    2 访问量巨大的网站,php必须转换角色,即由前后台操作数据库转化为网站后台数据管理和前台内容管理(CMS)文件会更快,但session多了就不行了,而且用文件不能全局查session
      

  9.   

    2 访问量巨大的网站,php必须转换角色,即由前后台操作数据库转化为网站后台数据管理和前台内容管理(CMS)-----------
    看来真的是要向着cms来发展了。
      

  10.   

    discuz根据cookie控制客户端的cache
    -----------
      

  11.   

    discuz用数据库代替session目的应该是为了通用性(在不支持session的服务器上能正常使用)。session真的这么差么?为什么老是听说session会大大降低性能的言论呢?session也就一个读文件操作而已。当一目录里文件过千时会有些性能上的影响,这个可以自己控制的。除此之外还有什么影响呢?使用了cookie也就相当于多用了一次require吧?
      

  12.   

    嗯,发觉应该不是session的原因造成的服务器效率低,难道是因为用了ob函数的全文替换?
      

  13.   

    discuz根据cookie控制客户端的cache是不是一定要解释到底???
    客户端的cache是根据服务器给的header来的,header可以控制过期时间,没过期之前都存在ie缓存里的。你可以搜索一下discuz源代码header和cookie的部分
      

  14.   

    说说我的理解。header只能在第一次cache时设置cache的过期时间。控制是说不上的。在cache期间ie根本不会访问服务器,更谈不上用header来控制cache。除非ie设置的是永远查检,或默认设置下在cache页按刷新。使用session只不过是一个读文件操作。不会比require一个文件要的时间长。而且一个session_id内所有session都是存在同一个文件里的,读一个200字节的文件不会比一个20字节的慢。根本不存在什么需要把三个session写成一个的问题。每个人用30个session和只用1个session个对性能的影响基本是没有什么区别的。而且能使用session就尽量不要使用数据库,数据库才是每个网站最大的瓶颈。唯一要注意的只是控制session目录下的文件数量而已。如果文件数有好几十万那当然会严重影响性能。(退出时删除session,用户数过多的分多目录存取session)
      

  15.   

    cms=Content Management System