和LNMP相比 LNMPA是否效率更高?

 
和LNMP相比 LNMPA是否效率更高?
2016-09-24 11:27:13 /故事大全

与InfoQ之前访问过的SegmentFault一样,徳问,是新涌现的一家编程领域的社交问答网站。通过社群智慧,让互联网成为一个能为专业难题提供高效解答的宝库,这就是德问的使命。

最近,尚兴跃在上面提出一个问题:LNMPA和LNMP相比,真的比LNMP更有效率吗?

LNMPA是在Nginx后面加入了Apache。由Apache来处理一些动态请求。

这种方式让架构变得有点复杂,但优点似乎也好理解:因为Apache比Nginx在动态处理和伪URL上更加成熟。

大家觉得,这样架构合适吗?还是多此一举呢?

在百度百科上,对LNMPA是这样说的:

LNMP或LAMP的劣势

Nginx是一个小巧而高效的Linux下的Web服务器软件,与Apache相比,消耗资源更少,支持的并发连接,更高的效率,反向代理功能效率高、静态文件处理快等,但动态页面处理能力不如Apache等老牌软件成熟。单独使用Nginx处理大量动态页面时容易产生频繁的502错误。

Apache是一款老牌的Web服务器软件,在高并发时对队列的处理比FastCGI更成熟,Apache的mod_php效率比php-cgi更高且更稳定、对伪静态支持好,不需要转换、多用户多站点权限等方面有着更好的效果,单独使用Apache处理静态页面时,对内存的占用远远超过Nginx。

LNMPA的优势

LNMPA使用Nginx作为前端服务器,能够更快、更及时地使用更少的系统资源处理静态页面、js、图片等文件,当客户端请求访问动态页面时,由Nginx反向代理给作为后端服务器的Apache处理,Apache处理完再交予Nginx返回给客户端。

采用LNMPA能够更好的解决LNMP架构中由于PHP-FPM方面产生的502错误,同时能够以很简单的方式提供更安全的多用户多站点环境。

对此问题,毛杭军的评论是:

Nginx + php-fpm 比 Apache + mod_php 更省内存。如果服务器内存不够大,用php-fpm是个不错的选择,虽然有出现502,不过可以通过负载均衡或动静态分离来解决。

LNMPA和LNMP,这二种方式用的人都还挺多的,不过我觉得第二种运维更加简单。我们目前采用LNMP(php-fpm)

原百度系统部技术总监邵辉这样看待这个问题:

LNMPA还是LNMP真没这么重要,在某个共识的基础上,随大流就好。如果非要找个原则,那么就用满足需求的最简单的方案。

现在硬件的性能这么好,价格也便宜,就用LAMP又如何?性能的瓶颈大多数情况下都在业务逻辑和数据处理部分,静态页面没有必要过多考虑,除非你产品的核心内容就是图片、视频,如果是这样,把静态内容分离就好了。

InfoQ的读者们,你们对这个问题怎么看?欢迎在评论中留下你们的观点!

文章来源://wsw.infoq.com/cn/news/2012/07/is-LNMPA-better

所属专题:
如果您觉得本文或图片不错,请把它分享给您的朋友吧!

 
故事大全
 
版权所有- © 2012-2015 · 故事大全 SITEMAP站点地图手机看故事 站点地图