0

我有一个 Redhat Enterprise LAMP 服务器,托管一个 Magento 站点,我最近为会话目录设置了 tmpfs 以提高性能。tmpfs 分区使用以下命令挂载:

mount -t tmpfs -o rw,noexec,nosuid,size=6144M,mode=1777,uid=48,gid=48 tmpfs /path/session

将会话目录挂载到 tmpfs 后,大约 1% 的会话会引发以下警告:

 Warning: session_start(): open(/path/session/sess_random_session_id, O_RDWR) failed: Protocol driver not attached (49)  in /path/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php on line 115**

根据日志,我无法重现该错误 - 但它每天会发生数次。

我正在Apache v 2.2.3跑步Magento v 1.4.0.1

4

1 回答 1

0

您应该使用 Memcache 来存储会话,文件很糟糕,因为 PHP 在所有 PHP 执行期间锁定了当前用户会话文件,而且我知道 Magento 有一些并行执行的 AJAX 查询:/

另外,我相信 TMPFS 会重新生成 inode(如何在 linux tmpfs 中生成 inode 编号?),因此它可能会导致会话出现问题。

于 2013-10-06T19:52:31.180 回答