网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月04日漏签0天
php吧 关注:280,629贴子:1,321,114
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 3 4 5 下一页 尾页
  • 120回复贴,共5页
  • ,跳到 页  
<<返回php吧
>0< 加载中...

讲一下高并发大数据量项目架构

  • 只看楼主
  • 收藏

  • 回复
  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
从一个小php到技术经理 从只会写代码到追求性能 分享才是最有意义的事情 下面进入正题 纯手打 无抄袭


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
首先 在项目架构的初始阶段 就要考虑到未来的扩展 举个最简单的例子 图片上传 , 如果我们初始的设计就是普通的网站 不追求性能和用户体验的. 那么和代码放在一个服务器上没有问题 如果有一天 走狗屎运了 项目飞速发展 服务器压力大 这个时候准备做负载均衡了 那么会暴露出一个问题 服务器A有图片 服务器B没有图片 我们总不能用户在上传图片的时候 把所有参与负载的服务器都要上传一遍吧


2025-07-04 17:31:23
广告
  • 死亡之恋li
  • 继承
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
现在 我们要了解的是常见的并发瓶颈 首先最大的肯定是数据库 我们常用的mysql数据库innodb引擎属于并行模式 在高并发量涌入的情况下 很容易发生脏读 幻读 死锁等 还有连接池会不会爆 都是需要考虑的 第二php运行内存 有时候需要大数组的处理 非常吃内存 第一 考虑要不要用迭代器 第二 考虑是不是代码逻辑的问题
然后接下来我们考虑环境配置问题 对于高并发的话 nginx环境比较合适 之后详细介绍nginx的参数配置


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我先去画张图


  • 老衲法号帅哥HI
  • 继承
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
针对上面这张图 可以看出 当请求进入php之前 需要走的这么多步骤 那么根据并发处理 = 硬件+架构+代码+sql; 我们可以从第一步开始优化


2025-07-04 17:25:23
广告
  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
从nginx入手
1.检查worker press 启动进程的数量 跟cpu核数量一样就好
2.检查linux内核版本 如果是2.6以上 服务器内存大于8g 建议开启多路复用
use epoll; 这个多路复用的意思呢 就是可以理解为多个请求合并成一个 一起传输过来,就像摩托车,我自己一个人可以骑.开启多路复用后你看印度阿三,一台摩托车能装一个营
3.其他的就比较简单了容易理解了 可以百度一下nginx的配置
接下来说一下 nignx和php-fpm的关系


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
首先要走出一个误区 那就是nginx环境 不是只针对php出来的 那么php和nginx之间进行交互 靠的是cgi协议 这个cgi协议又是啥呢 每次建立通信 调取ini 各种乱七八糟的全要初始化 结束后干掉这个通信 通俗的讲 你上网 是不是要身份证 网管看到这个身份证 哦 国家的法定公民 给你开机器 这就是一个协议 你上机 网管给你充钱 你下机网管给你退钱 有点麻烦 那就整个会员吧 充一次以后就一直可以上 没钱了再充 自己结账下机就行 所以就出现了fastcgi 我只要初始化一次 之后就是大爷常来玩 那么php-fpm和fastcgi又是什么关系呢 php-fpm就是实现这个fastcgi的一种方式 也可以理解为 php-fpm 就是一种fastcgi php-fpm启动后 建立主进程 每次接到请求 fork出一个子进程处理 进程结束后 挂着 给别接下来的请求用 达到复用 这样不会过多的消耗cpu
所以在配置的时候 要综合考虑 自己的内存 预留的内存 nginx的内存 缓存用的内存 最后分配给php-fpm的内存来算出配置的进程数量


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
补充一下 nginx与php-fpm的通信分为.sock模式和监听端口模式
如果nginx与fpm不在一个服务器 只能用监听模式 如果在一台服务器的话 两者都可以 从效率上看 .sock模式因为直接用的文件 比监听模式更直接 效率更高 但是在高并发情况下 .sock模式不稳定 所以还是推荐监听模式


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
服务器基本知识普及的差不多 接下来我们进行架构


  • LM幽冥冰皇
  • 框架好玩
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
先讲一下不差钱模式我去画张丑图


  • SeaDrip_Poplar
  • 大爱开源
    16
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好贴,怒顶


2025-07-04 17:19:23
广告
  • 黑白毒师
  • 记事本
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
新手 有点云里雾里~


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 4 5 下一页 尾页
  • 120回复贴,共5页
  • ,跳到 页  
<<返回php吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示