存储caching的文件,以便可以被多台服务器访问

我想开始为我的网站使用多个前端Apache服务器。

目前,我将各种HTML文件存储在caching目录中,例如“/htmlcache/homepage.html”

显然,我不想在每台服务器上重新caching这些文件,我宁愿有一个中央存储。 这通常如何完成?

我看到的选项是:

  • 数据库(MySQL) – 额外的负载 – 我应该存储larrge .html文件?
  • Memcache – 这应该用于大的.html文件吗?
  • 某种可访问的共享磁盘 – 不知道这将如何工作

延迟是我的关键。 目前磁盘读取操作对我来说工作得非常好。

作为一个额外的复杂,我也需要保持我的PHP会话数据在一个中心位置。

这个线程: https : //stackoverflow.com/questions/580671/configure-session-to-work-on-applications-that-are-deployed-over-multiple-serverbuild议使用session_set_save_handler将会话数据存储在共享数据库。

你怎么克服这个问题?

memcached可以存储“大”的HTML文件(适当的小值大) – 清漆 (如迈克尔米奥尔提到)或鱿鱼是其他选项。 在这三者中,我会倾向于清漆(鱿鱼对于大多数小型环境来说是过度杀伤性的,而且我相信清漆在中等/大型环境中可以更好地扩展:上次我检查了Squid并不能分散caching)。
显然,在部署这些解决scheme之前,您需要testing其中的任何解决scheme。

Re:PHP会话部分 – session_mysql是这里的一个解决scheme。 在PHP中编写自己的自定义会话处理程序是另一个。 我会build议个人的PECL扩展之一,因为他们往往比PHP代码稍微更有效率/更快。