---- 背景 之前做 MySQL 参数优化的时候,为了寻找瓶颈,我通常是观察 MySQL 的 status ,看哪些计数器有问题,以便确认问题的大致范围和应该调整的参数。...既然 MySQL 是运行在操作系统之上的,那我们观测操作系统的内核事件,应该也能发现性能问题。 说干就干,下面是我最近新入手的云主机上的优化效果对比。...,其在 x 轴方向上的长度代表抽样时被抽到的比例(也可以看成时间上的占比);也就是说那些比较长的方块通常是性能问题的元凶,找到并解决掉他们性能就会好起来。...---- 观察 Linux 的 IO 使用情况 对于 IO 的观察也有一个原则,那就是先看总量再看结构,最后精确到文件。 1....看总量 mpstat 1 20 Linux 5.14.0-55.el9.x86_64 (git-sqlpy-com) 07/21/2022 _x86_64_ (2 CPU) 01:16:46
Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的、简单的小工具。系统性能专家 Brendan D....Gregg 在最近的 LinuxCon NA 2014 大会上更新了他那个有名的关于 Linux 性能方面的 talk (http://www.brendangregg.com/linuxperf.html...和 Brendan 去年的 talk (http://www.vpsee.com/2013/06/linux-system-performance-monitoring-tools/)比较,今年增加了测试和优化两部分...下面的三张图片分别总结了 Linux 各个子系统以及监控、测试、优化这些子系统所用到的工具。 监控 ? 测试 ? 优化 ?
---- 书接上回 上回我们通过 linux 内核的 ebpf 模块观测能力定位了 MySQL 的瓶颈,并通过调整相应的 MySQL参数把 tps 由 158 提升到了 1673 ;但是从性能上讲我们还有提升的空间...我们还是按照方法论走,先从整体上把握 linux 的资源使用情况。...---- 调整参数验证性能 由于我们的目标是性能,所以压缩 BIN-LOG 在这个目标下对我们是没有意义的。...并且最终的结果上看,最左边之前有一个叫 `syscall` 的峰也没有了(目前还分析不出这个调用是在做什么,别慌以后会填坑的),它在没有优化之前大概占用 5% 。...一个 10% 另一个 5% ,也就是说,总的性能大致是之前的 115%,我们现在就可以估算一下提升。
前言 在linux的高性能网络编程中,绕不开的就是epoll。和select、poll等系统调用相比,epoll在需要监视大量文件描述符并且其中只有少数活跃的时候,表现出无可比拟的优势。...本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。...源码看socket的阻塞和非阻塞>>中,博客地址如下: https://my.oschina.net/alchemystar/blog/1791017) 既然知道了tfile->f_op->poll的实现...的软中断机制调用net_rx_action,如下图所示: 注:上图来自PLKA(>) step2: 紧接着跟踪next_rx_action next_rx_action...总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐_。
从linux源码看epoll 前言 在linux的高性能网络编程中,绕不开的就是epoll。...本文就是笔者在探究epoll源码过程中,对kernel将就绪描述符添加到epoll并唤醒对应进程的一次源码分析(基于linux-2.6.32内核版本)。...(注:由于是tcp socket,所以这边sock->ops=inet_stream_ops,这个初始化的过程在我的另一篇博客>中,博客地址如下: https...注:上图来自PLKA(>) step2: 紧接着跟踪next_rx_action next_rx_action |-process_backlog .........总结 epoll作为linux下非常优秀的事件触发机制得到了广泛的运用。其源码还是比较复杂的,本文只是阐述了epoll读写事件的触发机制,探究linux kernel源码的过程非常快乐^_^。
一个基于 Linux 操作系统的服务器运行的同时,也会表征出各种各样参数信息。...毕竟来说,系统性能监控本身就是个大学问。...说到这里,想到以前很多人纠结编译 linux kernel 的时候 -j 参数究竟是 CPU Core 还是 CPU Core+1?...通过上面修改 -j 参数值编译 boost 和 linux kernel 的同时开启 vmstat 监控,发现两种情况下 context switch 基本没有变化,且也只有显著增加 -j 值后 context...此后将数据包拿下线来,用 wireshark 想怎么看就怎么看,岂不乐哉!
/proc/meminfo used=total-(buffers+cached+free)
Linux 性能分析大神 Brendan Gregg 博客: https://www.brendangregg.com/ https://www.brendangregg.com/linuxperf.html
示例:点击 -> 性能监控 先上效果: monitor1.png 内存监控: /proc/meminfo used=total-(buffers+cached+free) [root@wangzi
选择指标评估应用程序和系统性能 为应用程序和系统设置性能目标 进行性能基准测试 性能分析定位瓶颈 性能监控和告警 对于不同的性能问题要选取不同的性能分析工具。...下面是常用的Linux Performance Tools以及对应分析的性能问题类型。...对于僵尸问题,用pstree找到父进程,然后看源码检查子进程结束的处理逻辑即可。 CPU性能指标 CPU使用率 用户CPU使用率, 包括用户态(user)和低优先级用户态(nice)....上下文切换本身是保证Linux正常运行的一项核心功能....多M(这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)
1、ldd /bin/ls #查看ls依赖于哪些库 2、objdump -T /xx.so #查看库文件提供哪些接口 objdump -T /us...
) 的缩写,意思是 Nigel(nmon 的作者是 Nigel Griffiths) 的 Linux 性能检测器。...这一系统管理员、调谐器、基准测试工具将提供给你大量重要的性能信息。它可以有两种方式输出这些数据: 1....将数据保存到一个逗号分隔的文件以供分析,并进行长时间数据捕捉 配合使用 nmon Excel 2000 电子表格分析器,该分析器能够加载 nmon 输出文件并自动为你创建几十个图形,你可以基于这些图形研究或填写性能报告...下载 nmon Excel 电子表格分析器 这个比较原始工具多年前由 Stephen Atkins 研发 你可以通过性能工具论坛请求支持 Linux 用户可能并不喜欢使用微软电子表格的想法,他们很难自动生成图形...这使得你可以轻松为你特定版本的 Linux 编译 nmon,甚至还可以做一些其他额外选项: 修改源代码 - 谨慎 缩减图片数量 为一些奇特环境进行研发,比如没有硬盘的机器,NFS 引导刀片,内部基于 Linux
/dev/zero也是一个模拟设备用于产生空字节并不真正进行IO,所以第一条命令相当天测试当前文件夹对应的磁盘的写入性能(711MB/s)。.../dev/null是一个模拟设备并不真正进行IO,所以第二条相当于测试/dev/vdb1的读取性能(150MB/s)
概述 free 命令 指定的时间段内不间断地监控内存的使用情况 通过watch与free相结合动态监控内存状况 vmstat命令监控内存 “sar –r”命令组合 小结 概述 内存的管理和优化是系统性能优化的一个重要部分...,内存资源的充足与否直接影响应用系统的使用性能。...在进行内存优化之前,一定要熟悉Linux的内存管理机制,这里我们重点探讨如何通过系统命令监控Linux系统的内存使用状况。 free 命令 free是监控Linux内存使用状况最常用的指令....<应用程序可用内存/系统物理内存<70%时,表示系统内存资源基本能满足应用需求,暂时不影响系统性能。...“sar –r”命令组合 sar命令也可以监控Linux的内存使用状况。可以通过“sar –r”命令组合查看系统内存和交换空间的使用率。
notes perf stat -a sleep 10 perf stat -e cycles,instructions,cache-references,ca...
在使用操作系统的过程中,我们经常需要查看当前的性能如何,需要了解CPU、内存和硬盘的使用情况;本节介绍的这几个工具能满足日常工作要求 监控CPU 查看CPU使用率 $sar -u eg: $sar -...u 1 2 [/home/weber#]sar -u 1 2 Linux 2.6.35-22-generic-pae (MyVPS) 06/28/2014 _i686_ (1 CPU...查看该目录下所有文件夹的排序后的大小 for i in `ls`; do du -sh $i; done | sort 或者 du -sh `ls` 综合运用 当系统中sar不可用时,可以使用以下工具替代:linux
model name' /proc/cpuinfo | wc -l 2 Stress 是一款压力测试工具 ,详情可参考http://stresslinux.org/sl/ Sysstat 包含了常用的性能工具.../configure make sudo make install mpstat 是常用的多核CPU性能分析工具 pidstat 是一个常用的进程分析工具 下面使用案例进行分析 场景一 CPU 密集型测试
1、mii-tool -v eth0 查看物理网卡的协商方式,相关信息 📷 image.png 2、ethtool ens33 📷 image.png ...
什么是上下文切换 根据任务的不同 CPU上下文切换可以分为进程上下文切换 线程上下文切换和中断上下文切换 CPU上下文切换是保证Linux系统正常工作的核心功能之一,Linux多任务操作系统主要原因之一就是因为将...频繁的上下文切换会把时间用在寄存器/内核栈/以及虚拟内存等数据的保存和恢复上,从而缩短进程真正执行的时间,导致系统的整体性能下降 系统调用完成的是用户到内核态的转变,系统调用需要将用户态的指令位置先保存起来
Linux 软中断 使用hping3 来模拟SYN攻击观察软中断 # hping3 -S -p 80 -i u10 10.0.0.31 观察发现CPU使用率比较低,到底是什么原因导致被测试机器比较卡呢
领取专属 10元无门槛券
手把手带您无忧上云