定死的一个mysql进程么? 有什么地方可以设置的么?php版本有什么要求?在多标签的浏览器中,打开同一网站多个耗时页面时,mysql 中 show processlist 同时只有一个进程在工作。

解决方案 »

  1.   

    FOR UPDATE?
    还是代码有session交互部分
      

  2.   

    这问题是存在的,firefox与chrome都会这样、我一直没有解决。
    一个页面请求中的话、再打开新窗口都是一直在转了,
    用ie6试了一下就可以打开,说明是浏览器的问题。最后我通常是把浏览器的进程都结束了再打开就正常了。
      

  3.   

    其实这源于web应用中一个会话是顺序执行的过程的假设。在原来是没啥问题的,并且增强了安全性。但在新的应用中显得不是那么灵活。变通办法之一是采用多个连接参数。比如多个mysql用户。但这还是有局限。
    想问的是,有没有哪个我不知道的设置,可以设置这个。
      

  4.   

    这不是愿不愿意动手的问题!你根本就没有把问题说清楚你的标题中有 session ,后面又提到多个选项卡
    所以猜测你的页面是启用了 session 的
    同一个浏览器的各选项卡间是共享 cookie 的(这一点你可以自己测试)
    于是两个选项卡中的页面就有了相同的 sessionid
    session 临时文件是独占方式打开的,所以一个程序占有的该文件,另一个就只能等待了
      

  5.   

    刚测试完毕,你就结贴啊。有SESSION与没SESSION的情况。
    还有、有MYSQL与没MYSQL连接的情况。
    都分别测试了。IE6不管是什么情况都是正常的,不会影响到其它打开的窗口。
    而firefox与chrome就不行。
    我还是认为是浏览器本身的问题。
      

  6.   

    楼上
    ...看看版主的回答,再找找session相关资料。然后根据以上一些结论与测试条件进行测试,打印一些关键的判断依据。
    你会发现问题的实质的。php打开session文件应该是以fopen rw方式打开的,所以会是独占。在没有关闭这个session前,其他的调用会等待。session_start();
    $_s = $_SESSION;
    session_write_close();
      

  7.   


    我有测过了,你测了吗?IE6
    打开session的时候进行连接mysql请求查询一数据响应需要10余秒。
    这过程中ie6打开新窗口是正常的(同样有SESSION)。
    无SESSION的情况也是正常的。但用FF与GG的就不行,不管有没SESSION。必须得等到第一个窗口响应完成才能响应打开新标签。
    所以我认为这不是SESSION问题,是浏览器的本身的机制问题。
    也许你出的那个问题可能是session原因吧。
      

  8.   

    那啥ff我测试了的。和你的测试结果不一样那啥,看看show processlist的结果吧。表锁定,注意测试环境的干净合理。