公众号: 开发内功修炼 在我十年的工作生涯中,我虽然从事的是应用层的开发,但仍然一直保持着对底层的好奇。把工作中遇到的一些问题,进行深度思考。总结出来,在这里分享给有缘的你! 持续更新ing... 一、网络篇 1.1 内核收包原理 图解Linux网络包接收过程 Linux网络包接收过程的监控与调优 1.2 TCP连接时间开销 聊聊TCP连接耗时的那些事儿 1.3 TCP连接内存开销 漫画 | 一台Linux服务器最多能支撑多少个TCP连接 漫画 | 理解了TCP连接的实现以后,客户端的并发也爆发了! 漫画 | 花了七天时间测试,我彻底搞明白了 TCP 的这些内存开销! 二、硬盘篇 2.1 硬件工作原理 磁盘开篇:扒开机械硬盘坚硬的外衣! 磁盘分区也是隐含了技术技巧的 我们怎么解决机械硬盘既慢又容易坏的问题? 拆解固态硬盘结构 2.2 文件系统浅析 新建一个空文件占用多少磁盘空间? 只有1个字节的文件实际占用多少磁盘空间 文件过多时ls命令为什么会卡住? 理解格式化原理 2.3 文件读写性能 read文件一个字节实际会发生多大的磁盘IO? write文件一个字节后何时发起写磁盘IO? 机械硬盘随机IO慢的超乎你的想象 搭载固态硬盘的服务器究竟比搭机械硬盘快多少? 三、内存篇 3.1 硬件工作原理 带你深入理解内存对齐最底层原理 内存随机也比顺序访问慢,带你深入理解内存IO过程 从DDR到DDR4,内存核心频率其实基本上就没太大的进步 3.2 内存性能测试 实际测试内存在顺序IO和随机IO时的访问延时差异 揭穿内存厂家“谎言”,实测内存带宽真实表现 NUMA架构下的内存访问延迟区别! 挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱! 3.3 内存性能优化实例 一次内存性能提升的项目实践 PHP7内存性能优化的思想精髓 四、CPU篇 4.1 了解CPU硬件 你以为你的多核CPU都是真核吗?多核“假象” 听说你只知内存,而不知缓存?CPU表示很伤心! TLB缓存是个神马鬼,如何查看TLB miss? 4.2 内核CPU开销浅析 进程/线程切换究竟需要多少开销? 软中断会吃掉你多少CPU? 一次系统调用开销到底有多大? 一次简单的php请求redis会有哪些开销? 4.3 用户态CPU开销分析 协程究竟比线程牛在什么地方? 函数调用太多了会有性能问题吗?