PHP如何解决网站大流量与高并发的问题

2015-01-24信息快讯网
首先,确认服务器硬件是否足够支持当前的流量。

普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,
那么必须首先配置一台更高性能的专用服务器才能解决问题

,否则怎么优化都不可能彻底解决性能问题。

其次,优化数据库访问。

前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站,
静态化往往不能满足某些功能。

缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用
这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。我
自己也写过一个Z-Blog的计数器插件,也是基于这样的原理。

如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL.避免使用
Select * from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大
量SQL查询。

第三,禁止外部的盗链。

外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对
于自身的图片或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自
己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当
然,伪造refer也可以通过代码来实现盗链,不过目前蓄意伪造refer盗链的还不多,
可以先不去考虑,或者使用非技术手段来解决,比如在图片上增加水印。

第四,控制大文件的下载。

大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗
CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要
提供,建议将大文件放在另外一台服务器上。

第五,使用不同主机分流主要流量

将文件放在不同的主机上,提供不同的镜像供用户下载。比如如果觉得RSS文件占用
流量大,那么使用FeedBurner或者FeedSky等服务将RSS输出放在其他主机上,这
样别人访问的流量压力就大多集中在FeedBurner的主机上,RSS就不占用太多资源了。

第六,使用流量分析统计软件。

在网站上安装一个流量分析统计软件,可以即时知道哪些地方耗费了大量流量,哪些页
面需要再进行优化,因此,解决流量问题还需要进行精确的统计分析才可以。我推荐使
用的流量分析统计软件是Google Analytics(Google分析)。我使用过程中感觉其
效果非常不错,稍后我将详细介绍一下Google Analytics的一些使用常识和技巧。
利用php实现禁用IE和火狐的缓存问题
PHP提示Notice: Undefined variable的解决办法
屏蔽机器人从你的网站搜取email地址的php代码
php类中private属性继承问题分析
php mssql扩展SQL查询中文字段名解决方法
域名和cookie问题(域名后缀)
ThinkPHP3.0略缩图不能保存到子目录的解决方法
php流量统计功能的实现代码
header跳转和include包含问题详解
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
关于UEditor编辑器远程图片上传失败的解决办法
php 解决旧系统 查出所有数据分页的类
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
PHP版网站缓存加快打开速度的方法分享
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
PHP代码网站如何防范SQL注入漏洞攻击建议分享
php设计模式 Prototype (原型模式)代码
session在PHP大型web应用中的使用
php session安全问题分析
PHP字符编码问题之GB2312 VS UTF-8解决方法
sphinx增量索引的一个问题
PHP网站备份程序代码分享
ThinkPHP自动验证失败的解决方法
php 面试碰到过的问题 在此做下记录
apache+php完美解决301重定向的两种方法
php错误提示failed to open stream: HTTP request failed!的完美解决方法
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
关于php curl获取301或302转向的网址问题的解决方法
Apache2中实现多网站域名绑定的实现方法
JS 网站性能优化笔记
php性能优化分析工具XDebug 大型网站调试工具
PHP系统流量分析的程序
©2014-2024 dbsqp.com