构建高性能站点 笔记

-提高性能常用对策-

1.增加带宽

2.减少网页HTTP请求

3.动态内容缓存

4.使用数据缓存

5.动态内容静态化及页面预编译

6.数据流压缩

7.WEB服务器的选择

8.使用负载均衡

9.数据库优化

10.减少视觉等待

 

-高性能服务器-

server Apache Nginx Lighttpd

Proxy代理 非常好 非常好 一般

Rewriter 好 非常好 一般

Fcgi 不好 好 非常好

热部署 不支持 支持 不支持

系统压力 很大 很小 比较小

稳定性 好 非常好 不好

安全性 好 一般 一般

技术支持 非常好 很少 一般

静态文件 一般 非常好 好

虚拟主机 支持 不支持 支持

反向代理 一般 非常好 一般

Session sticky 支持 不支持 不支持


-共享文件系统-

NFS

1.修改服务器端/etc/exports

2.启动NFS服务器端

3.获取共享的客户端mount操作或修改/etc/fstab

4.修改服务器端默认并发数:/etc/sysconfig/nfs

总结:容易搭建,但不适合I/O密集型共享,适合内部资源共享

Samba

 

-数据库优化-

1.正确使用索引(组合索引的引入实现叠加效应,并具有最左前缀规则)

2.慢查询日志分析(mysqlsla)

3.查询缓存

4.线程池

5.反范式设计(1NF:无重复列 2NF:非主属性非部分依赖主关键字 3NF:属性不依赖与其他非主属性)

 

-OSI七层模型与铁道部的基情-

1.物理层->传输媒介:铁路

2.数据链路层->寻址控制:调度站

3.网络层->路由选择:线路选择

4.传输层->数据传输:货物运送

5.会话层->节点间连接及通信:站点连接通车

6.表示层->数据加密解密:货物打包解包

7.应用层->网络服务接口:铁路服务

 

 

-杂记-

1.采用URL Rewrite(地址重写)技术,比如Apache的mode_rewrite,可重定向,如/index.html -> /read.php?book=index,可有利于搜索引擎的收录。deflate模块可压缩网页。

2.缓存方法:硬盘缓存(squid) 内存缓存(memcached) 文件描述符缓存 局部无缓存

浏览器缓存 WEB服务器缓存 分布式缓存

3.反向代理:Squid Varnish

4.web组件分离,可突破浏览器并发限制,每个域名维持一个单独的队列,可提高下载速度

5.负载均衡:HTTP重定向 DNS解析 反向代理 多网卡绑定同一IP

6.文件分发与同步:ssh webdav rsync  分布式文件系统:hadoop mogilefs

7.数据库:主从复制 读写分离 垂直分区 水平分区 数据库反向代理MySql Proxy,Spock Proxy,PostgreSQL pool

8.分布式计算:Map Reduce

9.二层交换基于MAC地址;三层交换基于IP;四层交换基于传输层TCP/UDP端口地址,判断所用协议;七层交换基于内容


-扩展学习-

apache二级域名:

假设我们要绑定的域名是yoxixi.com,二级域名是bbs.yoxixi.com,独立IP为192.168.1.1
1.#NameVirtualHost *  修改NameVirtualHost 192.168.1.1"
<VirtualHost 192.168.1.1> 
  DocumentRoot usr/local/www/ 
  ServerName   192.168.1.1
</VirtualHost> 
<VirtualHost192.168.1.1> 
  DocumentRoot usr/local/www/yoxixi/ 
  ServerName   yoxixi.com
</VirtualHost> 
<VirtualHost 192.168.1.1> 
  DocumentRoot   usr/local/www/yoxixi/bbs
  ServerName   bbs.yoxixi.com
</VirtualHost> 

常用负载均衡技术:


DNS轮循
  DNS轮循是指将相同的域名解释到不同的IP,随机使用其中某台主机的技术。但其具有明显的缺点:一旦某个服务器出现故障,即使及时修改了DNS设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间,保存了故障服务器地址的客户计算机将不能正常访问服务器。DNS负载均衡采用的是简单的轮循负载算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。
F5 BIG-IP
  简介:F5 Networks 公司的著名硬件负载均衡交换机。支持硬件四层、七层交换。不同的型号性能不同,BIG-IP 6400可以支持800万条并发连接,低一点型号的可以支持400万条以上的并发连接。性能极高,但价格也不菲。
  价格:BIG-IP 6400的价格在16万元人民币左右。
  网址:http://www.f5.com.cn/(中国) http://www.f5.com/(全球)
LVS(Linux Virtual Server)
  简介:软件四层交换。LVS是在Linux内核中作四层交换,只花128个字节记录一个连接信息,不涉及到文件句柄操作,故没有65535最大文件句柄数的限制。LVS性能很高,可以支持100~400万条并发连接。
  价格:免费、开源
  网址:http://zh.linuxvirtualserver.org/
HAProxy
  简介:软件七层交换,反向代理服务器。目前还不支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障,HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入。另外,HAProxy还支持双机热备。我曾经用过一段时间,能支持2~3万条并发连接。现在我用它做普通的小并发负载均衡,主要用到的是它的服务器健康检查功能。
  价格:免费、开源
  网址:http://haproxy.1wt.eu/
Nginx
  简介:软件七层交换,反向代理服务器。能够很好地支持虚拟主机,可配置性很强,可以按URL做负载均衡。我目前一直在用,大约能支持3~5万条并发连接。
  价格:免费、开源
  网址:http://wiki.codemongers.com/NginxChs(中文维基)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值