文件上传和会话,同时使用nginx和php5-fpm负载均衡


file uploads and sessions while load balancing using nginx and php5-fpm

我们有两个web服务器运行nginx + php5-fpm配置(memdisk上的本地php会话)

web服务器正在使用不同的子域,并且负载平衡在某种程度上得到了满足。现在我们想为这些服务器使用相同的域名地址,甚至是具有完全相同配置的新服务器。

在这些web服务器前面安装nginx听起来不像是一个好主意,因为有许多文件上传到这些web服务器,并且每次上传的数据通过负载均衡器会导致不必要的流量。轮循DNS解决方案需要在memcache, redis或db中共享会话。这也是我们不喜欢的,因为我们在会话中保存了太多的数据,而在本地的memdisks中保存这些数据非常好。

还有其他适合我们需要的配置吗?

数据将需要通过一些网络设备或其他设备。这可以是应用程序负载均衡器,如Nginx,软件网络负载均衡器,如LVS,硬件负载均衡器,或者,如果使用DNS轮询器,您仍然需要通过交换机路由流量。

如果你对Nginx的性能不满意,检查LVS或考虑购买硬件负载均衡器。在我曾经工作过的网站托管公司,我们通过LVS (Linux虚拟服务器)看到了非常好的性能,所以你可以用软件做很多事情。

做一些调查。设置一个Nginx或LVS负载均衡器并对其进行基准测试。模仿你通常的流量模式,并检查它的表现。