在服务器群集中使用PHP会话时是否存在问题?

时间:2010-07-13 16:22:13

标签: php cluster-computing

我们正在用PHP开发一个网站,我们必须使用会话。该站点将在服务器群集中发布。我们怎样才能做到这一点?

感谢。

4 个答案:

答案 0 :(得分:3)

是的,这是可能的,您需要将会话存储在像数据库这样的中心位置。这非常简单,只需要您对session_set_save_handler进行一些更改 - 您需要遵循here

的流程的一个很好的示例

答案 1 :(得分:1)

我会使用memcache来存储你的会话。它比将它们存储在数据库或磁盘中要快得多。

数据库存储很好,但当您的网站流量非常高时,您将需要更多数据库。当您的网站获得大量流量时,磁盘上的会话也会导致很多IO问题。另一方面,Memcache比DB和文件更好地扩展。

我个人使用memecache和我工作的网站每天获得数百万次点击。我在memcache中存储会话时从未遇到任何问题。

答案 2 :(得分:0)

会话目录的共享NFS挂载是一个选项,但我总是发现nfs性能有点慢。替代方法是使用memcache或数据库为会话编写自己的会话处理程序。

另一种选择是使用sticky sessions对您的Web服务器进行负载平衡,这将确保来自同一客户端的请求始终在会话过程中转到同一服务器。

答案 3 :(得分:0)

如果您有多个PHP框,则需要一个中央会话存储。

您最好的选择可能是数据库(来自sawgee答案的链接是一个很好的解释)或专用的memcache框。