数据结构论坛

首页 » 分类 » 分类 » 性能优化如何更快地接收数据
TUhjnbcbe - 2024/6/26 16:55:00

从网卡到应用程序,数据包会经过一系列组件,其中驱动做了什么?内核做了什么?为了优化,我们又能做些什么?整个过程中涉及到诸多细微可调的软硬件参数,并且相互影响,不存在一劳永逸的“银弹”。本文中又拍云系统开发高级工程师杨鹏将结合自己的的实践经验,介绍在深入理解底层机制的基础上如何做出“场景化”的最优配置。

文章根据杨鹏在又拍云OpenTalk技术沙龙北京站主题演讲《性能优化:更快地接收数据》整理而成,现场视频及PPT可点击阅读原文查看。

大家好,我是又拍云开发工程师杨鹏,在又拍云工作已有四年时间,期间一直从事CDN底层系统开发的工作,负责调度、缓存、负载均衡等CDN的核心组件,很高兴来跟大家分享在网络数据处理方面的经验和感受。今天分享的主题是《如何更快地接收数据》,主要介绍加速网络数据处理的方法和实践。希望能帮助大家更好的了解如何在系统的层面,尽量在应用程序无感的情况下做到极致的优化。言归正传,进入主题。

首先需要清楚在尝试做任何优化的时候,想到的第一件事情应该是什么?个人觉得是衡量指标。做任何改动或优化之前,都要明确地知道,是怎样的指标反映出了当前的问题。那么在做了相应的调整或改动之后,也才能通过指标去验证实际效果与作用。

针对要分享的主题,有一个围绕上面指标核心的基本原则。在网络层面做优化,归根结底只需要看一点,假如可以做到网络栈的每个层次,加入能监控到对应层次的丢包率,这样核心的指标,就可以明确地知道问题出在哪一层。有了明确可监控的指标,之后做相应的调整与实际效果的验证也就很简单了。当然上述两点相对有点虚,接下来就是比较干的部分了。

如上图所示,当收到一个数据包,从进入网卡,一直到达应用层,总的数据流程有很多。在当前阶段,无需

1
查看完整版本: 性能优化如何更快地接收数据