首页  软件  游戏  图书  电影  电视剧

请输入您要查询的图书:

 

图书 性能之道:分布式系统全栈性能优化
内容
编辑推荐
性能的重要性越来越高,但是要想真正实现高性能,必须具有架构思维,从多个层面进行设计和优化。
在AI时代,具有性能+架构这种综合性能力的技术人将成为企业中的高薪者。
本书以方法论为基础,站在架构层面,以网络、通信、客户端、单服务器、数据库为优化方向,深入解读软件全栈优化解决方案,内含4大主流产品优化案例。可以帮助你成为企业中的高端人才。
内容推荐
内容简介
这是一本从点、线、面、体4个维度深度解读分布式系统性能优化方法的专业工具书,更是一套全栈性能优化解决方案。其中,“点”指的是代码中的单个语句或函数,“线”指的是代码中的执行路径,“面”则上升到模块、子系统级别,“体”则指的是整个系统。4个维度对应4个不同的优化层次,只有这4个维度配合,才可以真正实现分布式系统的整体性优化。
全书融合了5位长期(最长有近30年工作经验)从事软件开发及优化工作的一线专家的实践经验和深刻理解,不仅从理论层面深入解读了性能优化的本质,还从软件开发整体流程的角度构建性能优化体系和评估策略。全书本着“没有jue对的好设计,只有适合的设计”的理念展开介绍,不仅提供可落地的技巧,还直指本质,让读者知其然并知其所以然,从而设计出适合自己的性能优化方案。
本书共分为17章。
第1~4章 主要介绍作者对性能优化的理解以及性能优化体系及评测方法,这部分的目的是帮读者形成性能优化方法论,其中包括架构的本质、性能优化的本质、性能优化策略、性能优化4个维度、影响性能的因素、性能测试工具、性能测试方法和流程等重点内容。
第5~9章 对网络、通信、客户端、单服务实体、数据库这5个性能约束特点进行深度剖析,并给出具体的优化方法与策略。
第10章和第11章分别对缓存系统、消息队列在性能优化中的应用进行解读,这两个是实现高性能的途径,也是研发人员必须掌握的技巧。
第12~15章通过对智能音箱、网上商城、营销红包、交易系统4个典型案例性能设计与优化的全面解读,帮读者学以致用,并更深刻理解性能优化的原理。
第16章和第17章分别介绍全链路观测或压测的具体实现方法与应用场景,以
目录
目  录<br />前言 性能是软件非功能特性的基本面<br />认知篇<br />第1章 软件架构的时空观 2<br />1.1 软件架构的时空定义 2<br />1.2 软件架构的分类 3<br />1.2.1 体系结构上的分类 3<br />1.2.2 流程决策上的架构分类 4<br />1.3 软件架构设计的原则与模式 5<br />1.3.1 软件架构设计的原则 5<br />1.3.2 软件架构设计的模式 6<br />1.4 软件架构的常用技术栈 8<br />1.5 本章小结 10<br />第2章 软件性能的时空观 11<br />2.1 软件性能的宏观多维模型 11<br />2.1.1 系统边界 12<br />2.1.2 内部结构 13<br />2.1.3 外部效应 13<br />2.1.4 连接输入 14<br />2.1.5 本节小结 14<br />2.2 软件性能的一般含义 14<br />2.3 软件性能的时空视角 15<br />2.3.1 系统性能的时间指标 16<br />2.3.2 软件性能的空间指标 17<br />2.3.3 系统性能指标的时空关联 18<br />2.3.4 常见的软件性能指标 18<br />2.4 软件性能的描述方式与工具 19<br />2.4.1 软件性能的时间描述——<br /> 时序图 20<br />2.4.2 软件性能的空间描述——<br /> 组件描述直方图 20<br />2.5 软件的性能测试与监控 20<br />2.5.1 性能测试 21<br />2.5.2 监控性能拐点 21<br />2.5.3 容量规划 22<br />2.6 本章小结 22<br />第3章 软件性能优化体系 23<br />3.1 软件性能优化策略 23<br />3.1.1 控制资源需求相关因素 24<br />3.1.2 管理资源相关因素 25<br />3.2 基于“点”的性能优化 27<br />3.3 基于“线”的性能优化 28<br />3.4 基于“面”的性能优化 30<br />3.5 基于“体”的性能优化 33<br />3.5.1 第一阶段:常规优化 34<br />3.5.2 第二阶段:使用缓存与<br /> 读写分离 34<br />3.5.3 第三阶段:异步化与事务 35<br />3.6 性能优化的PDCA 37<br />3.7 性能与其他非功能要素 38<br />3.8 本章小结 39<br />第4章 性能测试与评估 40<br />4.1 软件性能的度量 40<br />4.1.1 性能测试的目的及意义 40<br />4.1.2 性能测试的度量指标 42<br />4.1.3 常见基础设施性能指标 44<br />4.2 性能测试常用工具 45<br />4.2.1 性能测试场景 45<br />4.2.2 性能测试工具简介 47<br />4.2.3 性能测试工具选择 51<br />4.3 性能测试的方法、误区和流程 53<br />4.3.1 性能测试的方法 53<br />4.3.2 性能测试的误区 54<br />4.3.3 性能测试的流程 56<br />4.4 性能测试的结果分析与评估 61<br />4.4.1 施压机器的指标观测 62<br />4.4.2 软件的指标分析 64<br />4.4.3 软件的事后评估 69<br />4.5 本章小结 71<br />实践篇<br />第5章 网络性能 74<br />5.1 互联网的性能问题 74<br />5.1.1 规模问题 75<br />5.1.2 距离瓶颈 75<br />5.2 内容分发的方式与性能 75<br />5.2.1 集中托管 75<br />5.2.2 数据中心 76<br />5.2.3 分布式CDN 76<br />5.2.4 P2P网络 77<br />5.3 CDN的选择 77<br />5.4 应用层的网络性能优化 78<br />5.4.1 减少传输层开销 79<br />5.4.2 寻找更好的路由 79<br />5.4.3 内容预取 79<br />5.4.4 使用压缩和增量编码 79<br />5.4.5 边缘组装 80<br />5.4.6 边缘计算 80<br />5.5 计算密集型应用的性能提升——<br /> 高性能网络 80<br />5.5.1 Inf?iniband网络与RDMA 81<br />5.5.2 RDMA的关键特性 82<br />5.5.3 RDMA的上层接口 83<br />5.5.4 RDMA的底层实现 85<br />5.5.5 RDMA的性能优势与<br /> 主要应用场景 86<br />5.6 网络性能观测工具 86<br />5.6.1 网络可观测性建设 87<br />5.6.2 网络分析工具 88<br />5.7 本章小结 89<br />第6章 通信性能 90<br />6.1 面向互联网的软件 90<br />6.1.1 网络应用并非只是计算 90<br />6.1.2 计算中的通信视角 91<br />6.1.3 网络应用的通信视角 92<br />6.2 通信协议的分层设计与优化 94<br />6.2.1 通信协议的分层设计 94<br />6.2.2 通信协议的优化 95<br />6.3 软件通信中的数据组织 95<br />6.3.1 XML、JSON和<br /> Protocol Buffer 96<br />6.3.2 性能视角的数据包大小 96<br />6.4 软件通信中的复用机制 97<br />6.5 软件通信的纠错处理 98<br />6.5.1 前向纠错与重传纠错 98<br />6.5.2 重传机制 99<br />6.6 软件通信中的流量控制 100<br />6.6.1 反向压力 100<br />6.6.2 减负载 100<br />6.6.3 熔断 101<br />6.7 通信协议的优化示例:基于<br /> HTTP的性能优化 102<br />6.7.1 链路复用 102<br />6.7.2 数据压缩 103<br />6.7.3 SSL加速 103<br />6.8 本章小结 103<br />第7章 客户端性能/前端性能<br /> 优化 105<br />7.1 性能优化指标 105<br />7.1.1 以用户为中心的性能指标 106<br />7.1.2 三大核心指标 107<br />7.1.3 前端性能测量工具汇总 112<br />7.2 前端系统优化 113<br />7.2.1 HTTP中的性能优化 113<br />7.2.2 代码压缩 116<br />7.2.3 JavaScript中的性能优化 117<br />7.2.4 Webpack优化 121<br />7.2.5 Vue项目性能优化 128<br />7.3 客户端系统优化 131<br />7.3.1 Flutter项目优化 131<br />7.3.2 PC端QT项目优化 138<br />7.3.3 客户端性能监控的思考 139<br />7.4 本章小结 140<br />第8章 单服务实体的性能优化 141<br />8.1 单服务实体性能问题定位的<br /> 简单策略 141<br />8.1.1 度量指标 142<br />8.1.2 资源列表 142<br />8.1.3 功能模块图 143<br />8.1.4 度量方法 143<br />8.1.5 软件资源 143<br />8.1.6 性能定位的简单策略 144<br />8.2 操作系统的配置优化 144<br />8.3 代码性能的基础保障——<br /> 静态分析 146<br />8.4 API的性能约定 147<br />8.4.1 面向API的性能分类 147<br />8.4.2 API的性能约定 149<br />8.5 资源池的应用 151<br />8.5.1 连接池 152<br />8.5.2 线程池 155<br />8.5.3 内存池 156<br />8.6 本章小结 157<br />第9章 数据库性能 158<br />9.1 从数据库技术发展看性能问题 158<br />9.1.1 数据库对系统性能的影响 158<br />9.1.2 数据库技术的整体发展 159<br />9.1.3 关系数据库的诸多挑战 159<br />9.1.4 NoSQL运动的百花齐放 164<br />9.1.5 分布式演进的步步为营 164<br />9.1.6 分布式数据库的风起云涌 168<br />9.2 面向分布式应用的数据库<br /> 性能分析 170<br />9.2.1 制定数据库性能规划目标 170<br />9.2.2 通过压测了解数据库性能 170<br />9.2.3 分析应用数据库性能瓶颈 171<br />9.2.4 数据库性能优化一般方法 171<br />9.3 MySQL的常见优化方法 174<br />9.3.1 操作系统参数优化 174<br />9.3.2 数据库配置优化 175<br />9.3.3 数据库设计优化 178<br />9.3.4 SQL查询优化 184<br />9.3.5 SQL写入优化 187<br />9.3.6 应用连接池优化 187<br />9.4 本章小结 189<br />第10章 缓存的应用 190<br />10.1 无处不在的缓存 191<br />10.2 客户端缓存 192<br />10.2.1 页面缓存 192<br />10.2.2 浏览器缓存 194<br />10.2.3 App上的缓存 195<br />10.3 网络端缓存 196<br />10.3.1 Web代理缓存 196<br />10.3.2 边缘缓存 197<br />10.4 服务端缓存 198<br />10.4.1 平台级缓存 198<br />10.4.2 分布式缓存的应用 198<br />10.5 数据库缓存 199<br />10.5.1 数据库缓存:MySQL的<br /> 查询缓存 199<br />10.5.2 检验Query Cache的<br /> 合理性 200<br />10.5.3 数据库缓存:InnoDB的<br /> 缓存性能 200<br />10.6 营销场景案例:优惠券<br /> (红包)发放与核销 202<br />10.7 电商案例:应用多级缓存<br /> 模式支撑海量读服务 204<br />10.7.1 多级缓存介绍 204<br />10.7.2 如何缓存数据 205<br />10.8 本章小结 208<br />第11章 消息队列 210<br />11.1 消息队列概述 210<br />11.2 消息队列使用场景 211<br />11.2.1 削峰填谷 211<br />11.2.2 应用解耦 213<br />11.2.3 异步处理 213<br />11.2.4 分布式事务一致性 214<br />11.2.5 大数据分析 218<br />11.3 消息中间件的选型 219<br />11.3.1 RocketMQ 221<br />11.3.2 RabbitMQ 222<br />11.3.3 ActiveMQ 223<br />11.3.4 Kafka 223<br />11.4 本章小结 224<br />案例篇<br />第12章 小度音箱的性能优化 228<br />12.1 智能音箱的组成和系统架构 228<br />12.1.1 对话式AI操作系统——<br /> DuerOS 229<br />12.1.2 智能音箱的典型工作<br /> 流程 231<br />12.2 小度音箱的性能分析 232<br />12.2.1 核心的性能指标 232<br />12.2.2 核心指标的度量 232<br />12.3 小度音箱系统的网络拓扑<br /> 优化 234<br />12.4 小度音箱系统的应用协议<br /> 优化 234<br />12.5 小度音箱系统的业务逻辑<br /> 优化 235<br />12.5.1 智能音箱业务中的<br /> 延时分布 236<br />12.5.2 预测预取 236<br />12.5.3 连接池的应用 237<br />12.6 小度音箱系统的缓存应用 238<br />12.7 本章小结 238<br />第13章 网上商城的性能优化 239<br />13.1 网上商城的架构与业务流程 239<br />13.1.1 核心模块 242<br />13.1.2 核心业务 242<br />13.2 商城系统的性能指标 244<br />13.3 网上商城核心模块的性能<br /> 优化 245<br />13.3.1 商品管理 245<br />13.3.2 用户管理 248<br />13.3.3 购物车管理 251<br />13.3.4 订单管理 254<br />13.3.5 系统设计 257<br />13.4 本章小结 274<br />第14章 典型并发场景——<br /> 营销红包的性能优化 275<br />14.1 类支付宝红包系统的业务流<br /> 和挑战 275<br />14.1.1 类支付宝红包业务动作<br /> 和潜在技术挑战分析 275<br />14.1.2 讨论方案:大商户红包<br /> 热点问题 276<br />14.1.3 多级缓存策略 277<br />14.1.4 讨论方案:单笔支付咨询<br /> 多红包问题 277<br />14.2 类微信红包系统的业务流和<br /> 挑战 278<br />14.2.1 类微信红包业务动作<br /> 分析 278<br />14.2.2 异步化 278<br />14.2.3 SET化:分拆资源 279<br />14.2.4 无并发写的实践 279<br />14.3 预加载和考虑备案 280<br />14.4 性能优化策略与案例的关系 281<br />14.5 本章小结 282<br />第15章 支付系统/核心交易<br /> 系统的性能优化 283<br />15.1 支付系统/核心交易系统的<br /> 架构特点 284<br />15.1.1 支付系统的作用 284<br />15.1.2 支付系统的架构 285<br />15.2 交易系统的链路优化 291<br />15.3 对账系统的设计 302<br />15.3.1 对账系统概述 302<br />15.3.2 对账需求分析 304<br />15.3.3 对账流程和规则设计 305<br />15.3.4 对账系统实现说明 311<br />15.4 本章小结 312<br />扩展篇<br />第16章 全链路性能压测 314<br />16.1 全链路性能压测的背景与<br /> 价值 314<br />16.2 端到端全链路监控分析 315<br />16.2.1 APM技术 316<br />16.2.2 Apache Skywalking 316<br />16.3 线上流量复制与染色 318<br />16.3.1 流量复制 318<br />16.3.2 流量复制工具 318<br />16.3.3 流量染色 321<br />16.4 全链路压测的数据安全与<br /> 隔离 321<br />16.4.1 数据隔离 322<br />16.4.2 影子库与影子表 322<br />16.4.3 ShardingSphere的影子库<br /> 功能 323<br />16.5 全链路压测下相关系统的<br /> 改造 324<br />16.5.1 业务系统的改造 324<br />16.5.2 消息队列的改造 326<br />16.5.3 外调服务的挡板功能 326<br />16.5.4 缓存中间件的改造 327<br />16.6 全链路压测的行业案例 328<br />16.6.1 滴滴出行的全链路压测 328<br />16.6.2 美团全链路压测自动化<br /> 实践 329<br />16.6.3 饿了么全链路压测平台 331<br />16.7 本章小结 331<br />第17章 云原生技术为性能带来的<br /> 机遇与变革 333<br />17.1 云原生弹性的实现原理 334<br />17.1.1 Kubernetes的资源类型 334<br />17.1.2 Kubernetes的资源管理和<br /> 调度 339<br />17.1.3 Kubernetes的资源动态<br /> 调整能力 342<br />17.1.4 Kubernetes的资源碎片<br /> 问题 345<br />17.2 云原生的可观测性 346<br />17.2.1 可观测性与传统监控的<br /> 区别 347<br />17.2.2 可观测性的维度 349<br />17.3 云原生要解决的性能问题、<br /> 带来的挑战及应对 353<br />17.3.1 云原生解决了哪些性能<br /> 问题 353<br />17.3.2 云原生带来了哪些新的<br /> 挑战 354<br />17.3.3 如何应对云原生带来的<br /> 挑战 355<br />17.4 本章小结 356<br />
标签
缩略图
书名 性能之道:分布式系统全栈性能优化
副书名
原作名
作者 于君泽 曹洪伟 李伟山 秦金卫 陈龙泉
译者
编者
绘者
出版社 机械工业出版社
商品编码(ISBN) 9787111767244
开本 16开
页数 356
版次 1
装订
字数 511
出版时间 2025-01-01
首版时间
印刷时间 2024-12-01
正文语种
读者对象
适用范围
发行范围
发行模式 实体书
首发网站
连载网址
图书大类 教育考试-考试-计算机类
图书小类
重量
CIP核字
中图分类号 TP274
丛书名
印张
印次 1
出版地
整理
媒质
用纸
是否注音
影印版本
出版商国别
是否套装
著作权合同登记号
版权提供者
定价
印数
出品方
作品荣誉
主角
配角
其他角色
一句话简介
立意
作品视角
所属系列
文章进度
内容简介
作者简介
目录
文摘
安全警示 适度休息有益身心健康,请勿长期沉迷于阅读小说。
随便看

 

兰台网图书档案馆全面收录古今中外各种图书,详细介绍图书的基本信息及目录、摘要等图书资料。

 

Copyright © 2004-2025 xlantai.com All Rights Reserved
更新时间:2025/5/7 5:25:44