系统性能调优必知必会
深入底层直击性能问题本质
陶辉  智链达 CTO,前阿里云 P8 高级技术专家
专栏
已完结·共 47 讲
|
3.6w 人已学
|
收藏
为何要多此一举呢?这是因为在对方没有明确表示收到前,TCP 会通过定时器重发写缓冲区中的数据,保证消息能够到达对方。写缓冲区是有大小限制的,我在[第 10 讲]中会详细介绍。这里假设写缓冲区只有 1MB,所以调用 write 发送 2MB 数据时,write 函数的返回值只有 1MB,表示写缓冲区已用尽。当收到对方发来的 ACK 报文后,缓冲区中的数据才能释放,就会产生写事件通知进程发送剩余的那 1MB 数据。
来自:08 | 事件驱动:C10M是如何实现的?
7 人划过
如果主要分配 256KB 以下的内存,特别是在多线程环境下,应当选择 TCMalloc;否则应使用 Ptmalloc2,它的通用性更好
来自:02 | 内存池:如何提升内存分配的效率?
6 人划过
协程与异步编程相似的地方在于,它们必须使用非阻塞的系统调用与内核交互,把切换请求的权力牢牢掌握在用户态的代码中。但不同的地方在于,协程把异步化中的两段函数,封装为一个阻塞的协程函数。这个函数执行时,会使调用它的协程无感知地放弃执行权,由协程框架切换到其他就绪的协程继续执行。当这个函数的结果满足后,协程框架再选择合适的时机,切换回它所在的协程继续执行。
来自:05 | 协程:如何快速地实现高并发服务?
6 人划过
传输层的 TCP 协议为了保证可靠性,建立了逻辑上的连接概念,由于一个连接上只能有两方,所以 TCP 无法进行一对多通讯。而传输层的 UDP 协议无需建立连接,所以我们常用 UDP 协议发送广播。
来自:07 | 性能好,效率高的一对多通讯该如何实现?
5 人划过
接收方根据它的缓冲区,可以计算出后续能够接收多少字节的报文,这个数字叫做接收窗口。
来自:11 | 如何修改TCP缓冲区才能兼顾并发数量与传输速度?
4 人划过
字节中第 1 个比特位仅用于指示由哪些字节编码 1 个数字
来自:17 | Protobuf是如何进一步提高编码效率的?
4 人划过
如果 HTTP/2 能在一个连接上传输所有对象,那么只要客户端与服务器按照同样的规则,对首次出现的 HTTP 头部用一个数字标识,随后再传输它时只传递数字即可,这就可以实现几十倍的压缩率。所有被缓存的头部及其标识数字会构成一张表,它与已经传输过的请求有关,是动态变化的,因此被称为动态表
来自:16 | HTTP/2是怎样提升性能的?
4 人划过
自旋锁比互斥锁快得多,因为它通过 CPU 提供的 CAS 函数(全称 Compare And Swap),在用户态代码中完成加锁与解锁操作。
来自:06 | 锁:如何根据业务场景选择合适的锁?
4 人划过
这其中的秘密就是使用多个并发线程来执行 IO,这就利用了 SSD 的内部并行性。记住,多个 IO 线程对 HDD 毫无益处,因为 HDD 只有一个磁头
来自:大咖助场2|庄振运:与程序员相关的SSD性能知识
3 人划过
首先是通过缓存避免发送 HTTP 请求;其次,如果不得不发起请求,那么就得思考如何才能减少请求的个数;最后则是减少服务器响应的体积。
来自:15 | 如何提升HTTP/1.1性能?
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
免费试读
讲师

陶辉

智链达 CTO,前阿里云 P8 高级技术专家

陶辉,杭州智链达数据有限公司 CTO 兼联合创始人,前阿里云高级技术专家,腾讯云 TVP,著有《深入理解 Nginx:模块开发与架构解析》一书。 陶辉曾任职于阿里巴巴、华为、腾讯、思科等知名企业,有近 20 年互联网一线工作经验,目前致力于 Linux 下高性能服务器的开发,以...查看更多
编辑推荐
讲师的其他课程
Nginx 核心知识 150 讲
陶辉
智链达 CTO,前阿里云 P8 高级技术专家

155讲 | 61678 人已学习

¥98¥299
Web 协议详解与抓包实战
陶辉
智链达 CTO,前阿里云高级技术专家

121讲 | 43211 人已学习

¥68¥199
包含这门课的学习路径

分布式工程师

8门课程 48.8w人学习
看过的人还看了
MySQL 实战 45 讲
林晓斌
网名丁奇,前腾讯云数据库负责人

49讲 | 224952 人已学习

¥68¥199
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283818 人已学习

¥68¥199
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 181015 人已学习

¥98¥399
设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者

113讲 | 123480 人已学习

¥98¥299
从 0 开始学架构
李运华
网名“华仔”,前阿里资深技术专家(P9)

66讲 | 152636 人已学习

¥68¥199
深入剖析 Kubernetes
张磊
Kubernetes 社区资深成员与项目维护者

57讲 | 116777 人已学习

¥68¥199