首页 存档 技术 查看内容

从LAMP到LNMP性能简明优化大纲

2018-3-30 13:00 |来自: 互联网 296 0

摘要: 今天是周末惊蜇。不知道大家过得怎么样,小编今天看了一天书,不是技术的,感觉世界换了个样。今天的文章写得短一些,主要是给大家提供关于LNMP架构的优化策略,相当于一个提纲,后面的文章会展开给大家分享。 LAMP ...

今天是周末惊蜇。不知道大家过得怎么样,小编今天看了一天书,不是技术的,感觉世界换了个样。今天的文章写得短一些,主要是给大家提供关于LNMP架构的优化策略,相当于一个提纲,后面的文章会展开给大家分享

LAMP/LNMP(Linux,Apache/Nginx,MySQL,PHP)是世界上最流行的Web开发栈。它经过了事实的验证,性能健壮并且可靠很多网站在很高负载情况下,靠着单台服务器也能跑得很流畅。


苍老师有云,初级和高级工程师的区别是啥?

初级,机器内存不够了,得加机器。

高级,内存占用不正常,已经找到原因。


初高级一部分在思想,一部分在实战。


那么什么时候需要做负载均衡或分布式?

常见的性能负载场景,有如下列表:

1 MySQL I/O瓶颈

2 Apache或nginx加载PHP虚拟机,大量内存与CPU被占用

如果还没有出现502等崩溃问题,证明Linux自己做了一些优化处理。

我们如何改进这个系统架构。最简单的是加机器硬件(垂直缩放)以及拆分组件(水平缩放),如果能根据流量做智能的负载均衡会更好。

关于性能的几个方面。请如下列表:

1 DNS服务器

DNS做为域名解析。内部网络的解析策略,活用Host文件。


2 负载均衡

使用LVS,HAProxy


3 Web服务器

Nginx与PHP-FPM优化


4 数据库服务器

MySQL优化,存储引擎活用


5 缓存服务器

使用Redis、memcache


6 Work Server

Gearman或Swoole服务,异步请求处理


7 中间代码缓存

OpCode与APC


8 代码层优化

代码扩展性与性能调优


9 系统级优化

10 硬件优化

常见的系统分块与性能处理,我们面临有如下挑战:

1 图片上传与存储

2 DNS服务器优化

3 MySQL水平扩展

4 MySQL备份

5 API优化

6 Mc/Redis/OpCode

7 varnish/Squid/CDN

8 HTTP Cache与Nginx FastCgi Cache


以上每个主题都可以写一篇章节,后面我们会渐次在公众号和网站放出。


虽然主题是以PHP为主阐述的,其实可以覆盖到任何一门语言,如Python,Ruby和Java,包括性能优化技巧。


作者:21CTO社区

说明:原创文章转载注明来源,投稿可到社区官网或见邮件到[email protected]

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部