- 博客(26)
- 收藏
- 关注
原创 理解网卡RSS
在之前文章中提到过网卡的多队列聊聊intel网卡收包之多中断、多队列、ringbuffer,其主要作用就是支持将数据包分布到不同的队列、交给不同核心去处理,以降低单核心的负载,减少由于单核心处理慢导致的丢包。将数据包分布到不同队列这一步,就是由网卡的RSS特性来实现的。那么RSS如何将数据包分布到不同队列?分布的结果是否均衡?假如不均衡能再做哪些优化呢?
2025-05-23 16:51:08
260
原创 软件的价值维度
成年人不做选择,但却是把选择留给了后来人去做。一味地满足当下,优先当下,对架构缺乏重构意识,随着时间的推移,人均产出会越来越低、bug层出不穷,事实上软件的价值已经降到了零甚至为负。作为一个负责任的架构师,应该适时重构,让软件未来价值和软件现在价值保持正相关关系,使未来的软件功能实现起来更容易、修改起来更简单、扩展起来更轻松。
2025-05-13 13:18:37
221
原创 聊聊intel网卡驱动中的ringbuffer
intel 40g 网卡的i40e驱动是怎么实现多中断、多队列、ringbuffer的呢?点击以下链接查看详情。
2025-02-11 19:59:43
206
原创 聊聊linux中的丢包
在Linux中,很多情况下都会导致网络包错误,丢包也算错误的一种。一般我们说的入向丢包可以通过netstat工具看到,那么这个drop值是怎么被读取的呢?点击下面链接一起来看看。
2024-12-06 13:23:19
146
原创 三次握手时服务端做了什么
之前的几篇文章我们介绍了linux中socket相关的系统调用,比如socket、linsten、accept等,这些系统调用更偏向于初始化、分配需要的资源。那么在这些初始化结束后,tcp两端进行建连操作时,服务端这边做了什么工作呢?聊聊Linux tcp/ip之建立连接时服务端干了什么-从syn-recv到established。
2024-11-11 18:17:27
139
原创 Linux内核之sockt listen&accept的实现
在服务端编程中,bind到端口后,就需要调用listen来监听,然后调用accept来接收连接。那么Linux中listen和accept是怎么实现的呢?
2024-11-10 10:21:39
259
原创 Linux内核之sock bind的实现
在服务端编程中,创建好sock之后,就需要bind到一个端口,供客户端连接。那么Linux中bind是如何实现的呢?
2024-11-10 10:17:17
143
原创 Linux内核之socket调用的实现
我们在网络编程中经常使用socket来创建一个套接字,实现两端的通信。那么在linux中socket调用的背后发生了什么?
2024-10-30 08:59:27
136
原创 日志监控的各种方式-mtail
日志监控有很多方式,google出品的一款开源项目mtail支持流式读取日志,进行关键字匹配,然后生成metric。
2024-09-24 15:16:31
271
原创 聊聊常用Linux命令的实现-ss
ss命令我们平时一直在使用,可以使用它来解决平时生产环境中碰到的网络类问题,比如查看连接信息、连接数量、套接字状态、监听的端口等。那么它的内部是怎么实现的呢,掌握了其内部实现原理,有助于我们更好的使用它来解决生产问题?
2024-09-12 19:35:56
688
原创 iproute2之ip命令实现详解
iproute2中包含了很多Linux中网络相关的命令,ip就是其中之一,我们可以用它来查询网卡的IP地址,那么它是怎么实现这一功能的呢?
2024-09-03 09:09:21
427
原创 聊聊c++ stl pair&tuple的实现
相信大家对c++ pair&tuple并不陌生,平时也会使用到,那么清不清楚它们是怎么实现的呢,中间有哪些值得我们学习的点?
2024-08-10 10:37:06
770
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人