【发布时间】:2009-03-03 08:51:43
【问题描述】:
正如我们过去所做的那样,我想为每个转向负载平衡的人收集有用的信息,因为您的代码必须注意一些问题。
我们从一个 apache 服务器转移到 squid 作为反向代理/负载平衡器,后面有三个 apache 服务器。
我们使用的是 PHP/MySQL,所以问题可能会有所不同。
我们必须解决的问题:
会话
我们从“默认”php 会话(文件)转移到分布式 memcached-sessions。简单的解决方案,必须完成。这样,您的负载均衡器上也不需要“粘性会话”。
缓存
对于每个网络服务器的非分布式 apc 缓存,我们添加了另一个用于分布式对象缓存的 memcached-layer,并用它替换了所有旧的/过时的文件缓存系统。
上传
上传到共享 (nfs) 文件夹。
我们针对速度进行了优化:
静态文件
我们的主 NFS 运行一个 lighttpd,提供(也是用户上传的)图像。 Squid 意识到了这一点,并且从不向我们的 apache 节点查询图像,这极大地提升了性能。 Squid 也被配置为在 ram 中缓存这些文件。
您为使您的代码/项目准备好进行负载平衡做了哪些工作,考虑这一举措的人们是否还有其他顾虑,以及您使用的是哪种平台/语言?
【问题讨论】:
-
NFS 是否足够强大?
-
是的。 nfs 主要仅用于写入或 file_exists 检查,读取(请参阅我们的 lighttpd 解决方案)不经常使用 nfs。
标签: language-agnostic load-balancing