会话存储的 Memcached 问题
Issue with Memcached with session storing
今天我不得不搬到 MemcacheD 因为 php7* .ver
为 php7 安装 Memcached pecl 后,我尝试将我的会话存储到 Memcached,但我发现它比默认会话存储(文件)花费的时间长得多
没有 Sess 的页面加载。内存缓存 < 200 毫秒
使用 Sess 加载页面。 Memcached 超过 5 秒
问题只出在会话上!我尝试将其他数据存储在 memcached 中并尽快检索它们,没有任何延迟。
我的 MemcacheD 设置是:
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS="-l 127.0.0.1"
我的 Pecl PHP Memcached 设置(也在 phpinfo 中显示)是:
extension=memcached.so
session.save_handler=memcached
session.save_path="localhost:11211"
[memcached]
memcached.sess_locking = On
memcached.sess_lock_wait_min = 1000;
memcached.sess_lock_wait_max = 2000;
memcached.sess_lock_retries = 10;
memcached.sess_lock_expire = 0;
memcached.sess_prefix = "memc.sess.key."
memcached.sess_persistent = Off
memcached.sess_consistent_hash = On
memcached.sess_remove_failed)
memcached.sess_remove_failed_servers = Off
memcached.sess_number_of_replicas = 0
memcached.sess_binary_protocol = On
memcached.sess_randomize_replica_read = Off
memcached.sess_connect_timeout = 1000
memcached.sess_sasl_username = NULL
memcached.sess_sasl_password = NULL
memcached.compression_type = "fastlz"
memcached.compression_factor = "1.3"
memcached.compression_threshold = 2000
memcached.serializer = "igbinary"
memcached.store_retry_count = 2
memcached.default_consistent_hash = Off
memcached.default_binary_protocol = Off
memcached.default_connect_timeout = 0
+ 我检查了 session_write_close() 结果是一样的所以我假设它不是会话锁定问题
并且 php 是 运行 FPM unix socket 如果它是相关的
问候
问题已通过手动将 libmemcached 1.0.16 更新为 1.0.18 修复,因为yum repos 只有 1.0.16
现在更新会话存储,尽快使用 memcached,没有任何延迟。
问候
今天我不得不搬到 MemcacheD 因为 php7* .ver
为 php7 安装 Memcached pecl 后,我尝试将我的会话存储到 Memcached,但我发现它比默认会话存储(文件)花费的时间长得多
没有 Sess 的页面加载。内存缓存 < 200 毫秒
使用 Sess 加载页面。 Memcached 超过 5 秒
问题只出在会话上!我尝试将其他数据存储在 memcached 中并尽快检索它们,没有任何延迟。
我的 MemcacheD 设置是:
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS="-l 127.0.0.1"
我的 Pecl PHP Memcached 设置(也在 phpinfo 中显示)是:
extension=memcached.so
session.save_handler=memcached
session.save_path="localhost:11211"
[memcached]
memcached.sess_locking = On
memcached.sess_lock_wait_min = 1000;
memcached.sess_lock_wait_max = 2000;
memcached.sess_lock_retries = 10;
memcached.sess_lock_expire = 0;
memcached.sess_prefix = "memc.sess.key."
memcached.sess_persistent = Off
memcached.sess_consistent_hash = On
memcached.sess_remove_failed)
memcached.sess_remove_failed_servers = Off
memcached.sess_number_of_replicas = 0
memcached.sess_binary_protocol = On
memcached.sess_randomize_replica_read = Off
memcached.sess_connect_timeout = 1000
memcached.sess_sasl_username = NULL
memcached.sess_sasl_password = NULL
memcached.compression_type = "fastlz"
memcached.compression_factor = "1.3"
memcached.compression_threshold = 2000
memcached.serializer = "igbinary"
memcached.store_retry_count = 2
memcached.default_consistent_hash = Off
memcached.default_binary_protocol = Off
memcached.default_connect_timeout = 0
+ 我检查了 session_write_close() 结果是一样的所以我假设它不是会话锁定问题
并且 php 是 运行 FPM unix socket 如果它是相关的
问候
问题已通过手动将 libmemcached 1.0.16 更新为 1.0.18 修复,因为yum repos 只有 1.0.16
现在更新会话存储,尽快使用 memcached,没有任何延迟。
问候