我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP 大型网站高并发大流量解决方案

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP 大型网站高并发大流量解决方案

​网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎么进行整体性能优化呢?

 1.  HTML静态化

效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。

2.图片服务器分离

图片是最消耗资源的,于是我们有必要将图片与页面进行分离,可以搭建一个图片服务器或者使用第三方服务,如七牛云等。

3.数据库集群,库表散列

数据库集群:主从复制,读写分离,双主热备等操作。可以使用Mycat数据库中间件

库表散列:分库分表

4.缓存

a.文件缓存:使用 PHP 文件操作函数,把数据缓存到服务器磁盘文件中

b.内存缓存:Redis、Memcached、MongoDB。Redis:常用于队列服务器的缓存,可持久化,Mongodb:数据量较大的缓存,memcached:缓存大小有限制,超过1M不推荐使用;协议简单,基于libevent,存储于内存,服务器重启所有缓存数据丢失。

【内存缓存应用】:

会话session管理,会话默认是用文件保存,修改php.ini中的session储存介质的配置,用内存缓存可以完美解决负载均衡集群服务器会话丢失的问题

c.Opcode:配置好php zend opcode扩展即可实现缓存

d.Apache缓存:利用 mod_expires ,指定缓存的过期时间,可以缓存HTML、图片、JS、CSS 等。

e.Nginx缓存:利用 expire 参数,指定缓存的过期时间,可以缓存HTML、图片、JS、CSS 等。

5.镜像

镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点,数据进行定时更新或者实时更新。

6.负载均衡

负载均衡将是大型网站解决高负荷访问和大量并发请求采用的高端解决办法。

(1) nginx反向代理实现负载均衡

(2) lvs实现负载均衡

7.PHP代码编写优化

具体优化细节详见另一篇博文《PHP性能优化

8.数据库优化

(1)选择正确的存储引擎

(2)优化字段的数据类型

(3)为搜索字段添加索引

(4)sql语句优化

(5)数据库缓存

(6)分库分表,分区

(7)主从复制,读写分离

(8)负载均衡

等。具体优化细节可参考另一篇博文《MYSQL 性能优化

9.前端优化

(1) 减少http请求[将css,js等合并]

(2) 添加异步请求(先不将所有数据都展示给用户,用户触发某个事件,才会异步请求数据)

(3) 启用浏览器缓存和文件压缩

(4) cdn加速

(5) 建立独立的图片服务器(减少i/o)

针对JS,图片,样式文件的优化,可使用以下工具检测:

(1)PageSpeed 谷歌开发的工具

网站管理员和网络开发人员可以使用PageSpeed来评估他们网页的性能,并获得有关如何改进性能的建议。

(2)yslow YSlow

可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化

10.流量优化:防盗链处理

可参考博文《8种网站防止盗链的方法

11.其他:针对thinkphp 有以下几种方式

(1) 关闭调试模式

由于关闭调试模式之后,系统会自动生成项目编译缓存以及关闭日志写 入,这样可以减少很多的IO加载和日志写入的开销。

(2)开启页面压缩输出

1版本开始,增加了OUTPUT_ENCODE配置参数,用于控制页面压缩输出。

(3) 开启缓存

在网站部署环境安装APC或者Xcache缓存能够有效提升网站运行性能和内存占用

XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上 的 PHP 性能. 他通过把编译 PHP后的数据缓冲到共享内存从而避免重复的编译 过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生 成速率 2 到5 倍, 降低服务器负载.

Alternative PHP Cache (APC)是一种对PHP有效的开放源高速缓冲储存器工具,它能够缓存opcode的php中间码。

(4)字段缓存

默认情况下,字段缓存是自动生成的,在开发完成之后,基本上数据库的变动变得 比较少,因此可以考虑合并字段缓存到对应的模型类,这样能够减少每次读取字段 缓存的IO开销。合并的方法是在Runtime/Data/_fields下面找到对应的字段缓存文件

来源地址:https://blog.csdn.net/qq_31432773/article/details/127161350

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP 大型网站高并发大流量解决方案

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

保障大型高密度会议wifi网络稳定解决方案是怎样的

这期内容当中小编将会给大家带来有关保障大型高密度会议wifi网络稳定解决方案是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。大型会场或新闻发布会等场景,具有用户密度高、流动率大和应用复杂的特点。由于
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录