PHP网站大流量与高并发的解决方法
本文介绍下,有关php开发的网站如何应对大流量与高并发问题的方法,有需要的朋友参考下吧。
php网站如何应对大流量与高并发呢? 首先,确认服务器硬件是否足够支持当前的流量。 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,则请配置一台更高性能的专用服务器。 ,否则怎么优化都不可能彻底解决性能问题。 其次,优化数据库访问。 前台最好完全静态化,可以完全不用访问数据库,不过对于频繁更新的网站,静态化往往不能满足某些功能。 缓存技术,将动态数据存储到缓存文件中,**页直接调用这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。 如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用 Select * from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大 量SQL查询。 第三,禁止外部的盗链。 外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自 己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。 为防止伪造refer代码方式的盗链,可以在图片上增加水印。 第四,控制大文件的下载。 大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗 CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要 提供,建议将大文件放在另外一台服务器上。 第五,使用不同主机分流主要流量 将文件放在不同的主机上,提供不同的镜像供用户下载。比如如果觉得RSS文件占用 流量大,那么使用FeedBurner或者FeedSky等服务将RSS输出放在其他主机上,这 样别人访问的流量压力就大多集中在FeedBurner的主机上,RSS就不占用太多资源了。 第六,使用流量分析统计软件。 在网站上安装一个流量分析统计软件,可以即时知道哪些地方耗费了大量流量,哪些页 面需要再进行优化,因此,解决流量问题还需要进行精确的统计分析才可以。我推荐使 的流量分析统计软件是Google Analytics(Google分析)。我使用过程中感觉其效果非常不错,稍后我将详细介绍一下Google Analytics的一些使用常识和技巧。 .分表 2.读写分离 3.前端优化。Nginx替换Apache(前端做负载均衡) 主要还是要看分布式架构是否到位,mysql和缓存的优化都是有限度的优化,而分布式架构做出来了,PV增长后,只需要堆机器就能扩容。 优化经验: 首先,学会用explain语句分析select语句,优化索引、表结构,其次,合理运用memcache等缓存,降低mysql的负载。 最后,尽量用facebook的hiphop-php编译下PHP编译,以提高程序效率。 |