LNMP架构优化

LNMP web架构优化
前端:
1、js、css甚至html代码压缩和gzip压缩,css在头,js在尾。
2、合并Js、CSS,减少http请求
3、网站太大可以考虑用bigpipe页面加载技术
4、图片懒加载
5、CSS Sprites(图片整合成一个,同样是为了减少http请求)
6、图片的无损压缩(Smush.it )
7、静态文件浏览器缓存(head头里Expires、cache-control设置缓存时间)
8、对于http请求多的网站可以把静态文件放到多个域名下,有利于增加并发请求,也利于减少cookie发送
9、网站根目录下的favicon.ico记得加上
10、减少重定向301、302
11、cdn分布
12、写好的你的前端代码

web后端:
1、PHP通过opcahe缓存到内存中
2、通过LVS或者Nginx进行负载均衡
3、通过Nginx或者squid进行反向代理,缓存一些数据
4、开启keep-alive
5、nginx以unix-domain-socket方式连接fastcgi(php)
6、通过内存共享session,例如memcached,redis
7、负载均衡要做高可用,可以通过keepalived、heartbeat(脑裂警惕)
8、去掉你不用的PHP扩展
9、存储共享,把相同的东西放到一起公用,例如静态资源,实现的方式很多,例如NFS、MFS(moosefs)
10、写好你的后端代码

数据端:
1、MySQL主从,多主多从等等
2、分库分表
3、缓存查询的数据,例如Memcached
4、索引
5、分区、视图、存储过程用一下会有意外收获
6、多explain和explain partitions你的sql
7、如果数据不那么重要,数据量又特别大,那就可以考虑Redis、Mongodb、HBase了
8、搜索用Sphinx搜索引擎,一个国产的Xunsearch也不错,一般够用了
9、大并发的插入可以通过队列减少并发,例如Redis的List就能实现
10、优化MySQL的配置,例如连接数、InnoDB缓冲池、MyISQM键缓存
11、备份数据

Linux:
1、最小化安装Linux
2、优化Linux内核参数
3、关闭不需要的服务,例如ipv6、打印服务等
4、软件安装尽量选择编译安装
总结:
目前就能想到这么多,以后想起来再补充。以上只是针对LNMP架构优化方面的见解,没有深入到具体,大家可以针对每个点做深入研究。本人短见薄识,希望大家可以多多交流!


你可能感兴趣的:(js,mysql,PHP,优化,nginx,linux)