部署负载均衡器后应用系统调整

运维 系统运维
部署负载均衡器有利于扩展,但应用系统和服务器也需要做一些相应的调整。本文分享了一些技巧,来解决这一问题。

部署负载均衡器有利于扩展,但应用系统和服务器也需要做一些相应的调整。

区分静态内容和动态内容

这可能听起来好像非常普遍,但能做到的仍很少。在许多应用系统中,大约有25%的请求是动态内容,剩下的75%为静态内容。应用服务器上每个Apache+PHP进程会消耗15到50MB的内存。让这个怪物通过互联网传送小图标给用户是绝对不正常的,所有的延迟和丢失的数据包保持其活动状态较长时间。更坏的是如果用户下载一个大文件如PDF此进程将独占几分钟!

最简单的解决方案就是在服务器群前部署一台反向代理cache,直接返回缓存的内容给用户而不需要查询应用服务器。最简要的解决方案是部署一台轻量的HTTP服务器来提供静态内容。它可以安装在同一台服务器上,使用其它的端口。最好是,有一台单线程服务器如Lighttpd或Thttpd,因为它们每个会话的开销都非常小。应用系统只要将静态内容存放到一个容易识别的目录下即可,如“/static”,以便前端的负载均衡器可以将访问转到这台专用的服务器上。静态服务器也可以使用一个完全不同的主机名称,便于将这些服务器部署到靠近用户的不同地区。

在服务器方面有哪些可以调整的--例如装有Apache的服务器

在服务器上运用一些技巧,可以显著提升其性能。运用下面介绍的技巧,在Apache+PHP服务器上不需要升级硬件就可以增加两到三倍的并发用户数。

首先,禁用keep-alive。这对于性能来说是最为严重的事情。其本来是设计用于运行由inetdfork出来的NCSAhttpd网站上。所有这些fork会被服务器结束,对于这种问题keep-alive是一种比较好的解决方案。现在情况已经不同了,每次连接时服务器不再需要fork,而且每次新连接的开销也很小。应用服务器经常由于内存约束、文件描述符限制或锁的开销,对运行的线程或进程的数量有一定限制。如果有用户独占一个线程几秒甚至几分钟而无所事事纯粹就是浪费。

服务器不会使用太多的CPU,但会消耗大量的内存,用户需要等待连接的释放。如果keep-alive时间设置过短,就没有起到应有的作用。如果过长,就意味着服务器要为每个并发用户分配一个进程,这并没有考虑实际上大多数浏览器通常会建立4个并发会话。

简单的说,一个运行类Apache的网站启用keep-alive,同时最多就只能承载几千个用户。

另外,要观察每个进程的平均内存使用情况。变更“MaxClient”参数来调节并发进程的最大数量,以便服务器不会发生交换。如果进程差异很大,这意味着有些请求产生了大量数据集,这些数据集会保存在内存中,造成浪费。要解决这个问题,你需要通过调整“MaxRequestPerChild”让Apache尽快结束相关进程。较高的值,消耗较多的内存。较低的值,消耗较多的CPU。通常,设置在30到300间可以达到最好的效果。设置“MinSpareServers”和“MaxSpareServers”的值与“MaxClient”的值接近,以便服务器在负载加重时不用花费太多的时间来fork出新的进程。

运用这些技巧,最近2GB内存的服务器能承载几千个用户,剩下的就是负载均衡的工作了。

原文地址:http://1wt.eu/articles/2006_lb/

责任编辑:黄丹 来源: 百度空间
相关推荐

2010-04-22 10:36:06

负载均衡器

2010-05-06 10:14:31

负载均衡器

2023-02-13 16:39:45

Kubernetes容器负载均衡器

2024-02-22 10:11:00

负载均衡器反向代理

2017-05-19 14:45:01

OVN负载均衡器路由器

2023-03-30 13:32:51

负载均衡器HDFS

2022-07-14 08:53:48

MetalLBkubernetes

2010-05-05 19:10:23

Nginx负载均衡器

2010-04-22 10:46:40

Lvs负载均衡故障负载均衡器

2023-09-07 11:43:10

2010-07-15 11:16:04

负载均衡

2010-05-10 14:13:26

2010-04-20 10:46:59

什么是负载均衡器

2010-05-10 18:22:51

负载均衡器

2010-04-26 15:04:08

负载均衡器

2010-05-10 14:05:31

负载均衡器

2010-05-04 13:32:37

nginx负载均衡器

2010-04-22 10:09:28

负载均衡器

2011-03-17 09:27:07

HAProxy负载均衡

2011-08-24 13:45:49

HAProxy负载均衡负载均衡器
点赞
收藏

51CTO技术栈公众号