现在用PHP做一聊天室。
使用的是MYSQL的内存表。主聊天窗口2秒刷新一次,每刷新一次读取最近10秒的发言记录,如果没有输出到主窗口则输出,内存表超过100条记录则清空 重新写入。用户列表窗口10秒刷新一次,也是一个MYSQL内存表。请问这样的聊天室,在普通用户级服务器上(P4,1G内存) 应该可以支持多少人在线?是否还有其他方法优化?

解决方案 »

  1.   

    php能不能做http push?就是浏览器和服务器一直保持长链接, 这样就可以无刷新了啊
      

  2.   

    如果你能找到php做server push的方法不妨公布一下,我很有兴趣。
    IPC类的函数能实现一部分进程交互的功能,但是我没找到聊天室合用的挂起唤醒方法。
      

  3.   

    用php的socket倒是能做。不过性能远比不上c就是了。
      

  4.   

    总之不要ajax。ajax在ie下内存释放有问题,个人漏见。
      

  5.   

    大型聊天室又是怎样设计的呢 比如Ichat 不说视频部分! 文字刷新都那么快 用的是什么方法呢?
      

  6.   

    SERVER PUSH吧,不过我没有试过
    很大一点我不明白的是,浏览器请求后,服务器怎么知道它的请求内容,服务器我是指用C/S的那种。那样我就可以控制发送什么代码到客户端了。
    ,flash也可以的。如果会的话。
      

  7.   

    可以用PHP死循环+ob 函数来模拟PUSH
      

  8.   

    请求... 这样web服务器到一定程度就反应慢起来了.. 我就不明白 Ichat哪一类的聊天室为什么能承受那么多人!
      

  9.   

    那是另外开了端口,apache对长tcp连接应该没有优化