PHP-如何优化Lamp应用程序?
Facebook 和 Yahoo 等使用 Lamp 架构来为每天数百万的请求提供服务,这需要Lamp的应用程序运行在最优化的状态,请问有哪些方法可以优化Lamp应用?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Facebook 和 Yahoo 等使用 Lamp 架构来为每天数百万的请求提供服务,这需要Lamp的应用程序运行在最优化的状态,请问有哪些方法可以优化Lamp应用?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
其实这些网站不仅仅是LAMP,还用很多其他技术及优化手段:
1.前端负载均衡 可以采用F5等硬件,也可以采用LVS、NGINX
2.静态资源分离,用静态服或CDN
3.CACHE是肯定要的,有很多选择,memcached 、mongodb 、redis、Tokyo Cabinet等多了去了
4.如果是采用MYSQL的话,主从肯定要做的(master-master/slave),读写分离(mysql proxy,也可以从程序逻辑进行分离),分库分表(减少单表及单个数据库数据容量),数据结构和索引要定义好
5.分析好哪些数据要实时,哪些数据处理可以异步
6.再不够就做成分布式系统
其实这个问题跟【讨论】用PHP开发大访问量、高负载网站要注意哪些技术事项?有些重复了,更多答案可以看看那边的
从服务器分布式和集群上说几个方法:
1.服务器内容的分发。可以使用SCP、WebDAV处理主动分发,rsync处理被动分发。若感觉大量的rsync同步脚本、分发参数、整体的管理和监控很繁琐,可以使用MogileFS或Hadoop来管理。
2.数据库处理性能的扩展。可以考虑通过主从复制、读写分离、数据库反向代理(MySQL Proxy),以及对表的垂直或水平分区的方法来提高。
3.实现分布式计算。分布式计算包括异步并行计算。使用Gearman或memcacheQ实现异步计算。MemcacheQ实现的功能没Gearman多,但更灵活、简单。Map/Reduce并没有工具可以使用,其实是分而治之的思想。可以用Gearman或memcacheQGearman实现Map/Reduce。