个人网站,怎么应对大流量,怎么做负载均衡?

标签: 个人网站 流量 负载均衡 | 发表时间:2012-11-15 01:51 | 作者:曹政
出处:http://www.zhihu.com/rss
应对负载和数据压力,分几个层面
第一是硬件性能挖掘
要理解硬件的瓶颈,内核的特性,压力构成,对硬件适当提升;典型的如淘宝和新浪微博,使用fusion-io做固态存储,i/o支撑能力提升了几十倍,很多优化就简单多了,当然,人家对整个mysql的多线程写入机制,cpu寻址方式,顺序写和随即写的存储分布也做了非常多的工作,不仅仅是购买硬件而已,但是核心是,理解硬件,理解系统级的处理机制,来做优化。
第二是DBA级别和系统运维级别
理解数据库的结构,索引方式,善于使用各种数据库工具分析数据负载并掌握瓶颈点,优化数据索引和查询,插入语句,优化数据库配置参数,通常很多小公司,小网站,这一步都不到位,一些简单查询就把数据库搞死了。
对于nginx或apache,要知道针对你的业务类型,如何调整参数和优化,如何选择日志记录方式,等等。
第三是应用架构和程序层级
如何设置缓存,设置存储队列,将频繁重复的查询缓存化,将频繁的更新操作通过队列合并化,通过减少数据请求减少数据压力。
此外,通过数据中间件(自己写或第三方),通过负载均衡工具(lvs,haproxy等公开方案即可),将系统结构扩展,尽量做到充分冗余,无单点隐患,同时支持服务器自由扩展,可以参考haproxy和lvs的百度百科文档和网上资料,非常多。但是我希望提醒一点,如果单服务器的优化没有做到位,就开始做负载均衡和服务器规模化的事情,其实是给自己找麻烦,不但成本居高不下,而且运维复杂度也高了很多,做架构升级前,请确保基本服务器的性能达到一定水准(不要求如淘宝一样极端,但是至少能保证都可以做到每秒几千个请求处理)。
第四是需求控制
用户主要和基本功能满足的前提下,对用户极少关注和使用的特性,以及功能细节,予以适当的裁撤和放弃,保证系统整体的可靠性,比如最简单的一个话题,无论百度,谷歌,淘宝,微博,都不允许用户无限制大翻页,这就是最基本的需求控制方法。我实例发现不少工程师花费70%的时间和精力在用户根本不需要的功能特性上,这是很浪费的。

细节很多,想个人做到,如果没有一定技术基础,很难,非常难,相当相当难。
nginx可以做到一秒上万请求,mysql读请求可以做到一秒数千到上网(一定数据量和索引合理的情况下),写操作500/s以上合格,淘宝能做到十万,这个不好比,我们能做到几千。(有一定数据规模,真实业务场景)。mysql 5000w条记录以下个人认为基本不需要分表。

文件有类似mogifile等分布式文件系统,不过个人感觉不好用。

-- 完 --

下载知乎 iPhone 客户端: http://zhi.hu/ios

相关 [个人网站 流量 负载均衡] 推荐:

个人网站,怎么应对大流量,怎么做负载均衡?

- - 知乎每日精选
应对负载和数据压力,分几个层面. 要理解硬件的瓶颈,内核的特性,压力构成,对硬件适当提升;典型的如淘宝和新浪微博,使用fusion-io做固态存储,i/o支撑能力提升了几十倍,很多优化就简单多了,当然,人家对整个mysql的多线程写入机制,cpu寻址方式,顺序写和随即写的存储分布也做了非常多的工作,不仅仅是购买硬件而已,但是核心是,理解硬件,理解系统级的处理机制,来做优化.

nginx负载均衡配置

- - 开心平淡对待每一天。热爱生活
  使用负载均衡的话,可以修改配置http节点如下:. #设定http服务器,利用它的反向代理功能提供负载均衡支持. #设定mime类型,类型由mime.type文件定义. #省略上文有的一些配置节点. #设定负载均衡的服务器列表. #weigth参数表示权值,权值越高被分配到的几率越大. server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口.

解析nginx负载均衡

- - 搜索研发部官方博客
摘要:对于一个大型网站来说,负载均衡是永恒的话题. 随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不二之选. nginx作为webserver的后起之秀,其优秀的反向代理功能和灵活的负载均衡策略受到了业界广泛的关注.

Haproxy+KeepAlived 负载均衡

- - CSDN博客系统运维推荐文章
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现. LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. 还可以使用nginx来实现,不过nginx只工作在7层网络之上. 详细请参考 抚琴煮酒写的“ 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比”这篇文章,简单很详细,很好.

lvs+keepalived 负载均衡

- - CSDN博客系统运维推荐文章
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡. LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器. 目前有三种IP负 载均衡技术(VS/NAT、VS/TUN和VS/DR);八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh).

负载均衡技术

- - ITeye博客
 Internet的规模每一百天就会增长一倍,客户希望获得7天24小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点"Server Too Busy"及频繁的系统故障.   网络的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备 根本无法承担.

haproxy负载均衡 xtracluster

- - x-marker的博客
上一篇为xtracluster的安装(http://xmarker.blog.163.com/blog/static/226484057201472610520306/),本篇将记录下使用haproxy在三个数据节点做负载均衡,haproxy可以安装在数据节点,也可以安装在别的节点,如果安装在数据节点,需要注意端口号不能和mysql的3306冲突.

RabblitMQ Cluster + HAProxy(负载均衡)

- - 飞翔的荷兰人
        在本节中,我们主要来学习软件负载均衡器HAProxy在RabbitMQ集群中的使用.         软件负载均衡器HAProxy.         HAProxy的特点是:.         1、HAProxy是支持虚拟主机的,,并能支持上万级别的连接;.         2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作;.

负载均衡之LVS

- - 标点符
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. 是由章文嵩博士发起的自由软件项目. LVS主要用于多服务器的负载均衡. 它工作在网络层,可以实现高性能,高可用的服务器集群技术. 它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器.

负载均衡之HAPorxy

- - 标点符
HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案. HAProxy稳定性也是非常好,可以与硬件级的F5相媲美,根据官方文档,HAProxy可以跑满10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom’s 10GbE NICs (Myri-10G PCI-Express),这个数值作为软件级负载均衡器是相当惊人的.