码迷,mamicode.com
首页 > Web开发 > 详细

[原创] PHP::Memcached 长链接分析

时间:2014-07-24 17:02:45      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   re   c   html   代码   div   

开启或关闭长链接支持,参考:http://leeon.me/a/php-memcached

短链实验场景测试代码:1.php

<?php

$mc = new Memcached();
$mc->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

$mc->addServers(array(
        array(‘10.75.31.39‘,60000),
));

print_r($mc->getStats());
sleep(2);

?>

 

长链实验场景测试代码:2.php

<?php

$mc = new Memcached(‘mc‘);
$mc->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

if (!count($mc->getServerList())) {
    $mc->addServers(array(
        array(‘10.75.31.39‘,60000),
    ));
}

print_r($mc->getStats());
sleep(2);

?>

 

环境:  

Nginx+phpfpm

phpfpm 静态模式,单进程。

 

A实验过程:

  1. 访问curl http://127.0.0.1/1.php ,等输出。

  2. 待第一步有输出时,另起窗口netstat -anpt | grep :60000 。

  结论,每次访问的时候,访问后端资源都会新建不同链接。

B实验过程:

  1. 访问curl http://127.0.0.1/2.php ,等输出。

  2. 待第一步有输出时,另起窗口netstat -anpt | grep :60000 。

  结论,每次访问的时候,访问后端资源都会新建相同的链接。

 

最后注意,即使请求结束,仍然可以看到6000端口的链接,直到这个php-fpm进程被回收。理论上存在空闲链接不会释放。

如果担心踩坑,可以代码最后加入官方提供的 MEMCACHED::QUIT()。

 

参考资料:

http://php.net/manual/zh/memcached.getstats.php

http://haili.me/archives/530.html

http://leeon.me/a/php-memcached

[原创] PHP::Memcached 长链接分析,布布扣,bubuko.com

[原创] PHP::Memcached 长链接分析

标签:blog   http   io   re   c   html   代码   div   

原文地址:http://www.cnblogs.com/blueswu/p/3865622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!