讲一下高并发大数据量项目架构
php吧
全部回复
仅看楼主
level 7
从一个小php到技术经理 从只会写代码到追求性能 分享才是最有意义的事情 下面进入正题 纯手打 无抄袭
2018年05月11日 06点05分 1
level 7
首先 在项目架构的初始阶段 就要考虑到未来的扩展 举个最简单的例子 图片上传 , 如果我们初始的设计就是普通的网站 不追求性能和用户体验的. 那么和代码放在一个服务器上没有问题 如果有一天 走狗屎运了 项目飞速发展 服务器压力大 这个时候准备做负载均衡了 那么会暴露出一个问题 服务器A有图片 服务器B没有图片 我们总不能用户在上传图片的时候 把所有参与负载的服务器都要上传一遍吧
2018年05月11日 06点05分 2
感谢楼主的分享。
2018年06月13日 10点06分
level 11
[真棒]
2018年05月11日 06点05分 3
[哈哈]瞎讲讲
2018年05月11日 06点05分
@LM幽冥冰皇 感觉会被吧主置顶[滑稽]
2018年05月11日 07点05分
@死亡之恋li 说错了,是选为话题贴
2018年05月11日 07点05分
[太开心]集思广益
2018年05月11日 08点05分
level 7
现在 我们要了解的是常见的并发瓶颈 首先最大的肯定是数据库 我们常用的mysql数据库innodb引擎属于并行模式 在高并发量涌入的情况下 很容易发生脏读 幻读 死锁等 还有连接池会不会爆 都是需要考虑的 第二php运行内存 有时候需要大数组的处理 非常吃内存 第一 考虑要不要用迭代器 第二 考虑是不是代码逻辑的问题
然后接下来我们考虑环境配置问题 对于高并发的话 nginx环境比较合适 之后详细介绍nginx的参数配置
2018年05月11日 06点05分 4
level 7
我先去画张图[惊哭]
2018年05月11日 06点05分 5
level 11
[真棒]
2018年05月11日 07点05分 6
[花心]
2018年05月11日 07点05分
level 7
2018年05月11日 07点05分 7
画的***丑
2018年05月11日 07点05分
level 7
针对上面这张图 可以看出 当请求进入php之前 需要走的这么多步骤 那么根据并发处理 = 硬件+架构+代码+sql; 我们可以从第一步开始优化
2018年05月11日 07点05分 8
level 7
从nginx入手
1.检查worker press 启动进程的数量 跟cpu核数量一样就好
2.检查linux内核版本 如果是2.6以上 服务器内存大于8g 建议开启多路复用
use epoll; 这个多路复用的意思呢 就是可以理解为多个请求合并成一个 一起传输过来,就像摩托车,我自己一个人可以骑.开启多路复用后你看印度阿三,一台摩托车能装一个营
3.其他的就比较简单了容易理解了 可以百度一下nginx的配置
接下来说一下 nignx和php-fpm的关系
2018年05月11日 07点05分 9
@0 [哈哈]嗯嗯
2018年07月11日 08点07分
求指点,cpu核数量指的是 物理CPU个数还是物理CPU中core的个数(即核数)[乖]
2018年12月17日 11点12分
level 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的内存来算出配置的进程数量
2018年05月11日 07点05分 10
[真棒]
2018年05月11日 09点05分
2018年05月11日 09点05分
学习了。楼主好人。
2018年07月11日 10点07分
level 7
补充一下 nginx与php-fpm的通信分为.sock模式和监听端口模式
如果nginx与fpm不在一个服务器 只能用监听模式 如果在一台服务器的话 两者都可以 从效率上看 .sock模式因为直接用的文件 比监听模式更直接 效率更高 但是在高并发情况下 .sock模式不稳定 所以还是推荐监听模式
2018年05月11日 07点05分 11
level 7
服务器基本知识普及的差不多 接下来我们进行架构
2018年05月11日 07点05分 12
level 7
先讲一下不差钱模式[滑稽]我去画张丑图
2018年05月11日 07点05分 13
level 16
[真棒]好贴,怒顶
2018年05月11日 07点05分 14
[花心]
2018年05月11日 08点05分
level 3
新手 有点云里雾里~
2018年05月11日 07点05分 15
先听思路 万一哪天用上了是不是
2018年05月11日 08点05分
也是哈~ 回复 LM幽冥冰皇 :
2018年05月11日 08点05分
@LM幽冥冰皇 能问个问题么, 首页图片加载太慢怎么办?图片一节一节的出来,感觉效果好差。
2018年05月11日 08点05分
回复
黑莲病毒
:首先打开控制台 然后刷新页面 看一下请求返回资源耗时 是php接口问题还是浏览器加载问题 然后如果首页图片过多 考虑一下做静态化处理 然后多做ajax异步 这样加载起来资源更快
2018年05月11日 12点05分
1 2 3 4 5 尾页