当前位置:   article > 正文

微信公众号高质量技术贴-提炼总结_两小时搞定pb级hdfs数据迁移,挪走日均近5亿rpc

两小时搞定pb级hdfs数据迁移,挪走日均近5亿rpc

微信公众号高质量技术贴

  • 过滤掉对自己感觉没有技术相关性的,或者是那种水贴
  • 对内容进行归类整理
  • 阅读完写下自己的读后感

LINUX

从无盘启动看 Linux 启动原理

“只读内存”(ROM)----“基本输入输出系统”(BIOS)----“硬件自检”(POST)----“启动顺序”(Boot Sequence)
上电自检----UEFI 固件被加载----加载 UEFI 应用----启动内核及 initramfs
/sbin/init----/etc/inittab----etc/rcN.d

Linux 机器 CPU 毛刺问题排查

Linux Agent 每分钟会采集 4 次 15 秒内的 CPU 平均使用率。为了避免漏采集 CPU 峰值,网管 Agent 取这一分钟内四次采集的最大值上报。
gcore {pid}的命令,可以保留堆栈信息,明确具体高负载的位置
spp 的cost_stat_tool工具/tcpdump抓包确认

Linux 入门必看:如何60秒内分析Linux性能

uptime 系统启动时间
dmesg | tail 系统的错误日志,eg:杀死 OOM 问题的进程,丢弃 TCP 请求的问题
vmstat 1 查看CPU、内存、磁盘IO等待
mpstat -P ALL 1 打印各个 CPU 的时间统计,eg:一个使用率明显较高的 CPU 就可以明显看出来这是一个单线程应用
pidstat 1 pidstat 命令有点像 top 命令中的为每个 CPU 统计信息功能,但是它是以不断滚动更新的方式打印信息,而不是每次清屏打印
iostat -xz 1 这个工具对于理解块设备(比如磁盘)很有用,展示了请求负载和性能数据
free -m 显示了系统内存不足
sar -n DEV 1 使用这个工具是可以检测网络接口的吞吐
sar -n TCP,ETCP 每秒本地发起的 TCP 连接数;每秒远程发起的连接数;每秒 TCP 重传数(重传是网络或者服务器有问题的一个信号)
top

​Linux CPU 性能优化指南

工具帖

Linux I/O 原理和 Zero-copy 技术全面揭秘

内核从本质上看是一种软件 —— 控制计算机的硬件资源,并提供上层应用程序 (进程) 运行的环境
用户态即上层应用程序 (进程) 的运行空间,应用程序 (进程) 的执行必须依托于内核提供的资源,这其中包括但不限于 CPU 资源、存储资源、I/O 资源等等
用户进程如何切换到内核态去使用那些内核资源呢?答案是:1) 系统调用(trap),2) 异常(exception)和 3) 中断(interrupt)
利用 DMA 而非 CPU 来完成硬件接口和内核缓冲区之间的数据拷贝,从而解放 CPU,使之能去执行其他的任务,提升系统性能
后面的就看不懂了

Linux 网络层收发包流程及 Netfilter 框架浅析

传输层负责创建 sk_buff,并将用户数据(应用层数据)填充到缓冲区,做合法性检查后,添加传输层头部,并通过网络层注册的接口将数据包交给网络层处理
网络层收到传输层数据包后,会查询路由表,决定数据包去向,如果是需要发出的数据包,会填充网络层头部,并交到内核虚拟网络接口设备的发送队列中
Linux 内核中,Netfiler 在网络层设置了多个 Hook 点

如何写出让 CPU 跑得更快的代码?

进程可能在不同 CPU 核心来回切换执行,这对 CPU Cache 不是有利的,虽然 L3 Cache 是多核心之间共享的,但是 L1 和 L2 Cache 都是每个核心独有的,如果一个进程在不同核心来回切换,各个核心的缓存命中率就会受到影响
在 Linux 上提供了 sched_setaffinity 方法,来实现将线程绑定到某个 CPU 核心这一功能

彻底搞懂 IO 底层原理

BIO 一个线程大约占用1M的空间;如果线程数量庞大,会造成线程做上下文切换的时间甚至大于线程执行的时间,CPU负载变高
NIO 用户进程需要不断去主动询问内核数据准备好了没有;用户进程不断切换到内核态
IO多路复用
select():复杂度O(n)fd_set不可重用,fd_set有大小的限制,目前被硬编码成了1024;每次操作完都必须重置,数据取出后也需要轮询哪个fd上发生了变动
poll():通过event变量注册感兴趣的可读可写事件(POLLIN、POLLOUT),最后把 pollfd 交给内核。当有读写事件触发的时候,我们可以通过轮询 pollfd,判断revent确定该fd是否发生了可读可写事件
epoll()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/592984
推荐阅读
相关标签