仅加载session_start();
的基本页面页面就可以了,但是一旦设置了某些内容(例如$_SESSION['pet']="dog";
),页面加载时间就大约为5秒。
我正在使用AWS的Memcached服务器,并且从EC2实例到它的连接时间非常快。我不确定减速的来源。
session.save_handler设置为memcached,session.save_path设置为xxx.cfg.use1.cache.amazonaws.com:11211
phpinfo还将已注册的保存处理程序显示为用户memcache memcached文件
编辑:
我上传了测试文件来演示该问题。第一个文件就是session_start(); print_r($_SESSION);
(http://rr915webapi.us-east-1.elasticbeanstalk.com/session.php)。第二个文件是session_start();$_SESSION['pet']="dog";$_SESSION['name']="bob";
(http://rr915webapi.us-east-1.elasticbeanstalk.com/session-set.php)。加载第二个文件后,您可以看到第一个文件的加载时间比最初要长。
答案 0 :(得分:2)
通过在PHP ini文件中设置以下内容,响应时间降低到毫秒。
session.lazy_write = 0
memcached.sess_locking = Off
答案 1 :(得分:1)
一些可能性:
如果运行您的PHP代码的PHP服务器和memcached服务器/ cfg.use1.cache.amazonaws.com托管在不同的区域,则可以解释所有这些时间...
libmemcached 1.0.16中似乎存在一个错误...如果更新至1.0.18,将解决此问题,请参见https://github.com/iuscommunity/wishlist/issues/143注释和https://bugs.launchpad.net/libmemcached/+bug/1589344