0xFE

运维之道 本站总阅读量

[转载]告警的哲学

原文 审核和编写报警规则时,需要考虑以下的这些原则: 报警的(电话,短信)触达应当是紧急的,重要的,可行动的,真实的。 规则应当表示是你的服务处于过程中或者即将发生的问题。 为了保持报警项的精确,有效;宁可过度移除报警噪音。因为过度监控比监控不足更难解决 你应该总是能够将问题分为以下几种:基本功能的可用性问题;延迟;正确性(数据的完整性、新鲜性和持久性);以及特定功能问题。 ......

使用ftrace获取函数调用图

使用ftrace获取函数调用图 1$ trace-cmd list -f #获取可用函数名 记录tcp_v4_connect函数的调用路径: 12$ trace-cmd record -p function_graph -g tcp_v4_connect$ trace-cmd report trace.dat |awk -F "|" '{print $2}' >......

awk使用笔记

awk使用笔记 编者按 本篇为编者阅读博客[笔记] The AWK Programming Language(ADDISON-WESLEY, 1988)做的笔记,跟着博客把awk编程相关的内容进行梳理以及少数地方的勘误,如果有需要请阅读原文。 1.AWK 入门教程(AN AWK TUTORIAL) 1.1 Getting Started Awk 程序一般都很简短,只有一两行。通用格式为: 1......

TCP握手,客户端第三次ack比数据包晚到会发生什么事情?

问题 知乎上看到的一个有意思的问题,TCP握手中,客户端第三次ack比数据包晚到会发生什么事情?下面的回答中看出部分答者对TCP协议理解的不够深入,作者通过packetdrill工具模拟重现这一现象,看看系统中是怎么实现的! 先看结论 结论:只要第三个包的ack序列号正确(即和不带数据的第三次ack序列号相同)的话,可以正常连接 packetdrill复现 下面是使用packetdrill......

内核内存分配的基础分析

内核内存分配的基础分析 通常,内存泄漏会发生在用户态,比如开发者使用malloc()分配一部分空间后,使用完后没有通过free()进行回收,那么就会出现内存泄漏问题,导致内存占用越来越大。 如果内存泄漏发生在内核或者设备驱动中,可能应用开发者排查起来相对陌生,那么怎么分析内存泄漏是否是内核或者设备驱动导致的呢? 本文将会通过简单的实验测试流程为你分析内核中内核泄漏,通过systemstap等......

你对指针理解了吗?

想知道对指针的理解怎样?试着看下这道题吧。这个题是我在学习指针的时候测试的,包括指针运算,指针数组,数组指针等易混淆的概念,如果这题能想出结果的话,基本就过关啦! 123456789int main(){ int a = 0; int b = 1; int *c[2] = {&a, &b}; int *(*pc)[2] =......

[译]This is strictly a violation of the TCP specification

本文翻译自cloudflare的一篇文章,描述了服务端socker泄漏停留在CLOSE-WAIT状态,但客户端的FIN-WAIT2状态超时回收并使用该socket新建立连接,导致出现Connection TIme Out的情况。因现象和backlog溢出现象有点类似,遂将本文的翻译转载到本博客中,和读者一起进步。 补充,我在最后补充了自己的测试复现,在测试中,没有复现出文中的现象,最终测试的......

Perf:Linux下性能分析工具

简介 Perf全名是Performance Event,是在Linux 2.6.31以后内建的系统效能分析工具,依靠perf,应用程式可以利用PMU (Performance Monitoring Unit), tracepoint和核心内部的特殊计数器(counter)来进行统计,另外还能同时分析运行中的核心程式码,从而更全面了解应用程式中的效能瓶颈。 perf基本原理是对目标进行取样,纪......

使用packetdrill模拟Challenge-ACK

背景 packetdrill 在 2013 年开源,在 Google 内部久经考验,Google 用它发现了 10 余个 Linux 内核 bug,同时用测试驱动开发的方式开发新的网络特性和进行回归测试,确保新功能的添加不影响网络协议栈的可用性。 github地址 使用参考文章 Challenge-ACK定义: Linux 内核对于收到的乱序 SYN 报文,会回复一个携带了正确序列号和确认号......

中断亲和性和进程亲和性配置-Nginx

本文准备总结下平时工作中用到的CPU亲和性设置,主要是把用到的配置和验证方法总结起来。因为之前刚接触的时候总是这一篇那一篇的查找文章,遂以Nginx设置亲和性调优来举例,希望新手看到这篇文章能有所帮助。 性能优化目标为下图: 网卡RSS 关于网卡相关的调优,可以系统的学习下这两篇文章Linux 网络栈监控和调优:接收数据,深入了解10G网卡 查看网卡多队列: 123456789101112......