解决session_start启动慢(治标的方法)

post by rocdk890 / 2013-9-26 7:27 Thursday 其他技术
  公司使用memcache来缓存session,但最近用户登录很慢,检查了mysql慢查询,最后锁定php中的session_start();这句,单独写了个页面来测试,还真是他的问题.下面是治标的解决方法,要治本还要靠各位大牛来帮忙啊.
下面是我们的测试页面,就几句
<?php

session_start();
echo '111';exit

?>


CPU,IO,磁盘,内存……这些没问题的,都有排查过,刚开始以为网络问题、被墙、过滤、内存……问题,最后确定都不是.应该不是硬件资源问题了.

现在用额外加段代码能解决这问题,治标不治本,还没找到是什么原因导致session_start启动慢.
先自动创建一PHPSESSID,不用session_start自动分配的.

if(!isset($_COOKIE['PHPSESSID']))
{
        setcookie('PHPSESSID', time(), time()+60*60, '/' );
        header('location:index.php');
        exit;
}


最后的样子如下:
<?php

if(!isset($_COOKIE['zenid']) && $_SERVER['HTTP_USER_AGENT']!='UDROBOT')
{
        setcookie('zenid', md5(md5(time().rand(999,1000)).rand(999,1000)), time()+60*60, '/' );
        header('location:'.$_SERVER['REQUEST_URI']);
        exit;
}

.....
?>


这样就不会再卡了,问题暂时解决,观察几天看看.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-453.html

标签: php session_start session_start();session卡

评论: