CATEGORY

Linux

Linux TCP/IP 协议栈调优Linux TCP/IP 协议栈调优 原文地址 colobu.com 最近忙于系统性能的 DEBUG 和调优。 net.core.netdevmaxbacklog = 400000 该参数决定了,网络设备接收数据包的速文章 · 2023/03/15服务器tcp连接timewait过多优化及详细分析服务器tcp连接timewait过多优化及详细分析 [ ](文章 · 2018/07/21byte为什么要与上0xff?byte为什么要与上0xff? < 无意间翻看之间的代码,发现了一段难以理解的代码。 byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetNam文章 · 2018/08/09int最大值, mysql与计算机内int最大值, mysql与计算机内 int 是4个字节,1个字节等于8个比特,共有48个比特,每个比特位不是1就是0,那么就有2种选择, 而在二进制里,我们把第一个比特位用来表示正负,0为正数,1为负数。我们把32个比特位都用上,再减去用来表示正负第一个比特位,有31个比特位可以用,也就是有231个组合方式,那么大家文章 · 2022/08/08机器码、字节码、汇编语言的区别机器码、字节码、汇编语言的区别 机器码 机器码(machine code),机器语言指令,一种CPU的可读指令,是CPU可直接解读的0 1二进制序列。不同的CPU生产厂商,遵守的机器指令标准主体上是通用的,但也会有自己的一些比较特殊的指令。 字节码 字节码(Bytecode),是一种包含执行程序、由一序列 op(操作码文章 · 2022/09/02erc-20和erc-721 ERC-3525 ERC-1155的区别erc20和erc721 ERC3525 ERC1155的区别 首先,我们简单介绍一下ERC20和ERC721。 1、 ERC20 Erc20是最著名的标准。ERC20标准无差异。代币可以互换。这相当于说,按照ERC20标准,你的100元“钱”和我的一样。 Erc20标准规定,代币应具有名称、符号、总供给量和转账、汇款文章 · 2022/09/22-127 原码 反码 补码127 原码 反码 补码 char类型127的有符号右移1位操作 127的原码: 1111 1111 127的反码: 1000 0000 127的补码: 1000 0001 127转换成整形高位用1填: 1111 1111 1111 1111 1111 1111 1000 0001 127右移1位, 高位用1填补: 1文章 · 2022/10/14cpu MESI 缓存行一致性协议cpu MESI 缓存行一致性协议 多核CPU的缓存一致性协议MESI 多核CPU下有多个多级缓存,如何保证缓存中内部数据的一致性,不让数据混乱。这里就引入一个一致性协议MESI MESI是指4种状态的首字母。每个Cache line(缓存行:缓存存储数据的单元)有4个状态,可用2bit表示,如下: [ ](https文章 · 2022/10/24分布式事务——2PC、3PC 和 TCC分布式事务——2PC、3PC 和 TCC 对于单机下的本地事务,很显然我们有已被实文章 · 2022/11/11事件驱动架构要避开的 5 个陷阱事件驱动架构要避开的 5 个陷阱 本文由 简悦 SimpRead 转码, 原文地址 事件驱动架构要避开的 5 个陷阱事件驱动架构文章 · 2023/02/01你不好奇 CPU 是如何执行任务的吗你不好奇 CPU 是如何执行任务的吗 本文由 简悦 SimpRead 转码, 原文地址 xie.infoq.cn 前言你清楚下面这几个问题吗?有文章 · 2023/02/01深入解析actor 模型(一): actor 介绍及在游戏行业应用深入解析actor 模型(一): actor 介绍及在游戏行业应用 原文地址 zhuanlan.zhihu.com 1 介绍 1.1 什么是 actor 对于刚接触 actor 的我,第一感觉就像 redis 一样,每个 actor 就文章 · 2023/03/21被抛弃的 tcp_recycle被抛弃的 tcprecycle 原文地址 juejin.cn 本文从一次巧合发现高版本 Linux 不再支持 tcptwrecycle,深入研究了连接状态 TIMEWAIT 的原理,进而分析了 tcptw 族内核参数和如何应用它文章 · 2023/03/31回顾: 熟悉 HTTP,TCP/IP回顾: 熟悉 HTTP,TCP/IP 原文地址 TCP 的定义 TCP 全称为 Transmission Control Protocol([传输控制协议](https:文章 · 2023/03/31操作系统 集锦操作系统 集锦 操作系统基础 栈 Stack 以及 C 函数的调用过程 操作系统基础 内存管理(二) 虚拟地址是如何生成的 操作系统基础 内存管理(一) 虚拟内存 → 物理内存 操作系统基础 01 起源(一) 图灵机 [原文](文章 · 2023/04/10微服务 名词解释微服务 名词解释 看gozero框架时候偶然看到的 概述 概述​ 在开发中,我们经常提到一些名词 “单体”、“微服务”、“API”、“gRPC”、“gRPC stub”,”Protobuf“、“rest”、“负载均衡”,“服务发现” 等名词,这些名词后后续文文章 · 2023/06/01KCP协议:从TCP到UDP家族QUIC/KCP/ENETKCP协议:从TCP到UDP家族QUIC/KCP/ENET TCP/UDP/KCP TCP TCP协议的可靠性让使用TCP开发更为简单,同时它的这种设计也导致了慢的特点。 TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。 TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的文章 · 2023/06/13OSI 模型(未完待续)OSI 模型(未完待续) 补充:传输层的数据叫作段(segment),网络层的数据叫作包(packet),数据链路层的数据叫作帧(frame),物理层的数据叫作流(stream)。 [ ](文章 · 2023/06/13MQTT协议简介MQTT协议简介 MQTT和Websocket的区别是什么? 苍何的回答 知乎 发布订阅模式是传统 Client/Server 模式的一种解耦方案。发布者通过 Broker 与消费者之间通信,Broker文章 · 2023/06/13Proactor vs ReactorProactor vs Reactor 前面提到的 Reactor 是非阻塞同步网络模式,而 Proactor 是异步网络模式。 先来看看阻塞 I/O,当用户程序执行 read ,线程会被阻塞,一直等到内核数据准备好,并把数据从内核缓冲区拷贝到应用程序的缓冲区中,当拷贝过程完成,read 才会返回。注意,阻塞等待的是「文章 · 2023/06/16火焰图perf火焰图perf yum y install perf 采样 perf record F 99 p <pid g sleep 30 pid表示需要采样的进程id,如果是Java进程可以使用jps等命令获取进程id,perf record表示记录,F 99表示每秒99次,g表示记录调用栈,sleep 30则是持续30秒 s文章 · 2023/06/18Page CachePage Cache linux 内核2.4开始 Cache与Buffer是我们容易混淆的内存概念,Cache名为缓存,Buffer名为缓冲,虽一字文章 · 2023/12/17存储器访问速度 cpu-内存-硬盘(备用)存储器访问速度 cpu内存硬盘(备用) [ ](文章 · 2023/12/21NFSNFS NFS 与 NAS 是什么关系? 数据存储张的回答 知乎文章 · 2024/01/02【网易云信】深度剖析「圈组」消息系统设计【网易云信】深度剖析「圈组」消息系统设计 本文由 简悦 SimpRead 转码, 原文地址 xie.infoq.cn 导读:网易云信新晋的 IM文章 · 2023/06/12http1时代http1时代 http1时代 为何一些站点会有多个静态资源 CDN 域名的原因之一,拿 Twitter 为例, ,目的就是变相的解决浏览器针对同一域名的请求限制阻塞问题。文章 · 2022/11/18shell 变量大括号shell 变量大括号 在shell脚本编程中,我们给变量加上大括号,作用是为了帮助解释器识别变量边界 对于变量有空格隔开独立的情形,$val与 ${val}等价; 对于变量之间无空格隔开,想要组合两个变量或变量与字符串时,{}就起到限定边界作用 echo "I am good at ${skill}Code"文章 · 2023/01/10linux screen命令linux screen命令 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这文章 · 2023/01/11linux bash -c | sh -clinux bash c | sh c c string If the c option is present, then commands are read from string. If there are arguments after文章 · 2023/01/11【知识拓展】音视频中的推流与拉流【知识拓展】音视频中的推流与拉流 推流 推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,文章 · 2023/01/29对于Serverless的定义,文章给出来一个公式:Serverless = FAAS+ BAAS。将FAAS(Functions as a Service)定对于Serverless的定义,文章给出来一个公式:Serverless = FAAS+ BAAS。将FAAS(Functions as a Service)定 对于Serverless的定义,文章给出来一个公式:Serverless = FAAS+ BAAS。将FAAS(Functions as a Service)文章 · 2022/11/12linux NF $NF 区别-awk命令中linux NF $NF 区别awk命令中 NF 表示的是浏览记录的域的个数 $NF 表示的最后一个Field(列),即输出最后一个字段的内容 [root@localhost SHELL] free m | grep buffers/ /+ buffers/cache: 1815 1859 [root@localho文章 · 2023/02/21启动一个tcp 服务 nc命令启动一个tcp 服务 nc命令 nc l 9002 port: 9002 原文地址 mjd507.github.io netcat,简写为 nc,是 unix 系统下一个强大的命令文章 · 2023/03/02Prometheus指标Prometheus指标 场景结构图: Prometheus定义了4种不同的指标类型(metric type): Counter(计数器)、Gaug文章 · 2023/02/22etcd 分布式 - 看图轻松了解 etcdetcd 分布式 看图轻松了解 etcd 本文由 简悦 SimpRead 转码, 原文地址 segmentfault.com 用一些图示结合场景和文字轻松了解 etc文章 · 2023/02/23算力 GPU CPU算力 GPU CPU 算力及其经济效应 所谓算力,就是设备处理数据、输出结果的能力,或者简而言之,就是计算的能力。它的基本单位是用“每秒完成的标准操作数量”(standardized operations per second,简称SOPS)来进行衡量。不过,由于现在的设备性能都非常高,因而在实践中用SOPS来衡量算力文章 · 2023/02/23redis 过期key event订阅redis 过期key event订阅 就是非实时,可能晚很多。不建议用。只有background thread 扫到它,Delete时才会触发 Timing of expi文章 · 2023/02/24ETCD 一文入门ETCD 一文入门 KV 服务,创建,更新,获取和删除键值对。 监视,监视键的更改。 租约,消耗客户端保持活动消息的基元。 锁,etcd 提供分布式共享锁的支持。 选举,暴露客户端选举机制。文章 · 2023/02/24搜索 开源 简介搜索 开源 简介 Bleve & Tantivy Bleve和Tantivy是搜索引擎项目,分别用Golang和Rust编写,灵感来自Apache Lucene及其算法(例如,tfidf,术语频率反向文档频率的缩写)。与Lucene一样,两者都是可用于任何搜索项目的库;但它们没有现成的API,无法做到开箱即用。 tan文章 · 2023/02/27telnet ssh VNCtelnet ssh VNC telnet Telnet是进行远程登录的标准协议,它是当今Internet上应用最广泛的协议之一。它把用户正在使用的终端或计算机变成网络某一远程主机的仿真终端,使得用户可以方便地使用远程主机上的软、硬件资源。 ssh Telnet协议在带来便利性的同时,也带来了许多安全问题,最突出的就是文章 · 2023/02/27基于Redis的Stream类型的完美消息队列解决方案基于Redis的Stream类型的完美消息队列解决方案 本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com ⚠️ 回答于 3 年前 1 概述文章 · 2023/02/27IM 服务器设计 - 消息存储 - codedump 的网络日志IM 服务器设计 消息存储 codedump 的网络日志 本文由 简悦 SimpRead 转码, 原文地址 采用文章 · 2023/02/27现代IM系统中的消息系统架构——架构篇现代IM系统中的消息系统架构——架构篇 本文由 简悦 SimpRead 转码, 原文地址 现代 IM 系统中的消息系统架构——架构文章 · 2023/02/27详解 Server Sent Events详解 Server Sent Events 本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com Server Sent Events 的使用文章 · 2023/02/28http/2 SPDY/2http/2 SPDY/2 特点 首先来说最初的HTTP/1.0的时候,一次TCP的链接上只能发送一个HTTP请求,导致HTTP传输的效率特别低。 好在HTTP/1.1的时候,引入了持久链接和管道机制,使得HTTP的传输效率得到了很大的提升(详细和可查看HTTP基本认识)。持久链接满足了一条TCP链接可以发送多条HTT文章 · 2023/02/28Linux 防火墙之 ipset 表应用Linux 防火墙之 ipset 表应用 本文由 简悦 SimpRead 转码, 原文地址 简介提示线上生产环境不要随便重启 iptables,文章 · 2023/03/01信令服务器信令服务器 都有房间概念 socket.io node gosocket.io文章 · 2023/02/28Socket.IOSocket.IO Socket.IO 是一个封装了 Websocket、基于 Node 的 JavaScript 框架,包含 client 的 JavaScript 和 server 的 Node。其屏蔽了所有底层细节,让顶层调用非常简单。 另外,Socket.IO 还有一个非常重要的好处。其不仅支持 WebSock文章 · 2023/02/28GitOps 介绍 – 云原生实验室GitOps 介绍 – 云原生实验室 本文由 简悦 SimpRead 转码, 原文地址 icloudnative.io 本文介绍了什么是 GitOps,包括 GitO文章 · 2023/03/03服务器观测指标 TP90 P90服务器观测指标 TP90 P90 最常用的主要有P50(中位数)、P95、P99。 平均值一般不具有参考价值 TP=Top Percentile,Top百分位数,是一个统计学里的术语,与平均数、中位数都是一类。 P50: 即中位数值。100个请求按照响应时间从小到大排列,位置为50的值,即为P50值。如果响应时间的P5文章 · 2023/03/08linux 查看网络流量linux 查看网络流量 dstat nf ★ dstat 是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat的全能系统信息统计工具,支持数据实时刷新,输出直观易懂。 [ ](文章 · 2023/03/09iptables 配置,docker容器指定不同网卡iptables 配置,docker容器指定不同网卡 今天遇到个需求。 docker 不同容器 配不同网卡。对外公网ip不同 先备份 把iptables规则备份到my.ipt文件中 iptablessave my.ipt 恢复刚才备份的规则 iptablesrestore < my.ipt 查看 列出 iptables文章 · 2023/03/09docker network 配置网卡docker network 配置网卡 我们使用docker run创建容器时,可以使用net选项指定容器的网络模式,docker一共有4中网络模式: 1:bridge模式,net=bridge(默认)。 这是dokcer网络的默认设置。安装完docker,系统会自动添加一个供docker使用的网桥docker0,我们文章 · 2023/03/09iptables 命令 规则 参数详解iptables 命令 规则 参数详解 表 (table) 原文 包含4个表: 4个表的优先级由高到低:rawmanglenatfilter rawRAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高文章 · 2023/03/09Git 内部原理图解——对象、分支以及如何从零开始建仓库Git 内部原理图解——对象、分支以及如何从零开始建仓库 我们中的许多人每天都在使用 git,但是有多少人知道它的内部是怎么运作的呢? 例如我们使用 git文章 · 2023/03/04看完秒懂什么是 SNI看完秒懂什么是 SNI 本文由 简悦 SimpRead 转码, 原文地址 zhuanlan.zhihu.com SNI(Server Name Indication):是 TL文章 · 2023/02/24浅析开源项目之io_uring浅析开源项目之iouring Linux内核5.1支持了新的异步IO框架iouring,由Block IO大神也即Fio作者Jens Axboe开发,意在提供一套公用的网络和磁盘异步IO,不过iouring目前在磁盘方面要比网络方面更加成熟。 目录 背景简介 iouring 系统API liburing 高级特性 编程文章 · 2023/03/10curl 指定网卡 --interfacecurl 指定网卡 interface curl interface eth1 X GET ipinfo.io文章 · 2023/03/17shell 脚本各种执行方式(source ./*.sh, . ./*.sh, ./*.sh)的区别shell 脚本各种执行方式(source ./.sh, . ./.sh, ./.sh)的区别 结论一: ./.sh的执行方式等价于sh ./.sh或者bash ./.sh,此三种执行脚本的方式都是重新启动一个子shell,在子shell中执行此脚本。 结论二: .source ./.sh和 . ./.sh的执行方式是文章 · 2023/03/15图解分布式系统原理图解分布式系统原理 7 4月 2026 第七章 事务 29 3月 2026 第六章:分区 18 3月 2026 第五章:共识算法 12 3月 2026 第四章:复制 3 3月 2026 第三章:分布式文章 · 2026/08/03Git 关联远程私服并同步上游更新指南Git 关联远程私服并同步上游更新指南 在日常开发中,我们经常需要将 GitHub 或第三方开源项目(如 xxljob)拉取到本地,推送到公司内部的 Git 私服(GitLab / Gitea 等),文章 · 2026/08/12设计数据密集型应用设计数据密集型应用 从数据模型、存储引擎到分布式系统与派生数据,建立设计现代数据系统所需的完整思维框架。 现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将文章 · 2026/09/07