broser | 链接 | server | |
1、connect(dns查询) http1.0 /keepline 并发下载 js、css、图片/html | (BGP网络),机房(分发,运营商7-8个) |
HTTP(1、 App Server)配置问题
app server 内存,php及时编译 java jvm 5%-8%
数据库 (缓存、数据库连接池、mysql只读部分)
| |
cdn(带宽比较低)互相访问量比较大的时候 | |||
cdn | 负载匀衡 | 服务器(cpu,内存、网络、磁盘、文件句柄数量) | 缓存 |
问题(原理),用户通过dns找到节点,配的dns的
cdn域名来配置的
内容不常变有效、用户比较大
|
工作方式:
四层(tcp)
七层(http)
会话保持,是不是一个浏览器(cookie) slb生成一个cookie
亚马逊负载均衡(slb 小虚拟机 会达到瓶颈,压力不够,扩不上去)
5G slb 多台服务器,前端用不同的dns
健康检查(一个页面,不能泄露资源,代表服务器健康,代码一定干净整洁)
|
任何一个达到瓶颈都会出现服务不正常
cpu利用率,生成服务器,30%-50%(物理机)50%-70%(虚拟机)
内存,不容易出现瓶颈,应用服务器分发的内容
网络、出口带宽(阿里 1000兆)
场景,(一直往上涨,内存泄露)
磁盘瓶颈(iops、吞吐量)
Iops ,工作原理,cpu发一个指令,磁盘子系统接管(cpu利用率比较低),机械磁盘(转动)寻找时间5ms(200次)
iops读取时间可以忽略,寻找时间占的比较大,
吞吐:数据量(磁盘,读取、主机连接带宽的限制)
ssd :3000-5000
文件句柄:unix
|
减少数据库的压力
所有的服务器的状态信息,化到redis
阿里云的redis是一个集群
上传一个文件(外部化)
memechached
redis(集合) kv(key-value)
求交集,求并集
计算能力是比memechached更多一点
|
数据库
| 数据库集群 | ||
acid(原子,一致性,隔离,持久)
磁盘最重的写io,顺序io,随机io
数据库存储结构,比价数
主键(存储)2-3次找到数据
索引文件(索引项)位置的关系
(只写不查,索引要去掉,因为每一个索引会出现io)
sql优化器,要不要临时表,全表扫,建索引 - 执行计划
1、看所有的sql语句
2、系统层面优化数据库
3、多一级,多一层复杂性
4、查询(不需要索引)只读副本
5、
|
oracle
RAC
支付宝(mysql)
oracle(集群)
| ||
测试
--网络--sld--server --chache--db
server(cpu,磁盘)
db(系统级:内存、cpu,磁盘 数据库级:tps/qps,innodb)
问题点:1,数据库
2,server
思路,反复做的这件事情,隔离法
|