#定位系统性能瓶颈# 序言

http://blog.csdn.net/JeffreyNicole

这是我在csdn的博客,现在搬迁到51cto把原来的文章也拷贝过来

1、监控:

2、测试:

3、优化:

linux系统的全部常见的性能工具,包括监控、测试、优化三个范畴,这三张图来自系统性能专家 Brendan D. Gregg  (Linux Performance Tools)

我希望把这里全部工具都简单介绍一遍,但不是想做成大而全的参考文档形式

而是想用几个简单的例子,用实战的方式把这些工具的常见使用方法和场景介绍给大家,让大家可以迅速上手解决系统性能问题

为什么需要学那么多种工具呢?我觉得多学一种工具就会多一种思路,技多不压身,特别是遇到棘手性能问题的时候,一个突如而来的灵感可以让你瞬间解决问题

这批工具的数量有数十个,我会从监控开始,慢慢把这批工具都介绍一遍

然而介绍的顺序不一定按下面的列表,而且我会把有关联的工具合在一起介绍

1 监控工具:

应用层
ltrace perf

系统调用接口
strace sysdig perf

文件系统、
pidstat iostat

网络、
ss netstat iptraf tcpdump

调度与虚拟内存
perf mpstat top ps pidstat vmstat slabtop free

设备驱动器

IO总线设备
perf tiptop

IO控制器、
iostat iotop blktrace swapon

网络控制器
iptraf ethtool snmpget lldptool nicstat netstat ip

其他
sar dstat /proc
perf ftrace stap ktap ebpf dtrace lttng

2 测试工具:

。。。

3 优化工具:

。。。

==============以下是正文=====================

#定位系统性能瓶颈# strace & ltrace

时间: 2024-12-23 18:25:33

#定位系统性能瓶颈# 序言的相关文章

#定位系统性能瓶颈# strace & ltrace

strace和ltrace分别相应的是系统调用和库函数调用, 系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思,面向的是硬件. 而库函数调用则面向的是应用开发的.相当于应用程序的api.常见的lib有openssl.libxml等. 前者属于内核层.后者属于用户层,以下有其层次相应图 引用<UNIX环境高级编程>对这两个概念的差别描写叙述例如以下:      还有一个可说明系统调用和库函数之间的区别的样例是, U N I X提供决定当前时间和日期的 界面.某些操

#定位系统性能瓶颈# strace &amp; ltrace

strace和ltrace分别对应的是系统调用和库函数调用, 系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思,面向的是硬件. 而库函数调用则面向的是应用开发的,相当于应用程序的api,常见的lib有openssl.libxml等. 前者属于内核层,后者属于用户层,下面有其层次对应图 引用<UNIX环境高级编程>对这两个概念的区别描述如下:      另一个可说明系统调用和库函数之间的差别的例子是, U N I X提供决定当前时间和日期的 界面.某些操作系统提供

#定位系统性能瓶颈# sysdig

安装方法: curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash [[email protected] ~]# curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash * Detecting operating system * Installing EPEL

#定位系统性能瓶颈# perf

perf是一个基于Linux 2.6+的调优工具,在liunx性能测量抽象出一套适应于各种不同CPU硬件的通用测量方法,其数据来源于比较新的linux内核提供的 perf_event 接口 系统事件: perf tool 支持一系列可计算的事件类型.该工具和底层内核接口可以监测来自不同来源的事件. 例如,一些事件是来源于纯粹的内核计数器,这些event在这种情况下被称为软件事件.例子包括:context-switch.minor-fault等. 事件的另一个来源是处理器本身及其性能监控装置(PM

浮躁时代的安静角落——《Linux大棚命令百篇》

曾几何时,急功近利.揠苗助长之风吹遍了整个互联网行业,孜孜不倦.循序渐进技术博客Linux大棚成了这个浮躁时代的安静角落,博主多年如一日的积累汇聚成了一本<Linux大棚命令百篇>. 与适合作为系统学习的教材的<循序渐进Linux>不同,<Linux大棚命令百篇>的最大特点就是取材于Linux大棚,以博客系列文章的形式组织全书,在文风轻松生动.诙谐风趣的同时又不失知识的结构化和系统化,不但可以作为案头书,也能在欧阳修的"三上"像读小说一样阅读. 本书

性能测试工Loadrunner使用经验总结

1. 引言 1.1. 简介 loadrunner是一种预测系统行为和性能的负载测试工具,它可以轻松创建虚拟用户.创建真实的负载.定位性能问题.重复测试保证系统的高性能 1.2. 组成 1.1.1. Vuser Generator c语言脚本开发的 1.1.2. Controller 指挥官的作用,控制执行场景 1.1.3. Analysis 收集测试数据,进行结果分析的 1.3. 文档说明 本博客是结合我所在公司性能测试过程中使用loadrunner工具,总结出的经验文档,包括了安装.编写脚本.

压力测试~一套完整的压力测试项目文档

Web压力架构 张占岭 Web压力架构... 1 一 系统性能测试概述... 1 1.1 性能测试概述... 1 1.2 性能测试的指标... 2 1.3 关键点的描述... 2 1.4 性能测试的目的... 2 1.5 测试项目开发规范... 2 二 使用VS压力测试工具进行测试... 3 2.1 性能测试(WebTest). 3 2.1.1 概念... 3 2.1.2 如何建立性能测试... 3 2.1.3 使用CS代码快速建立性能测试... 5 2.1.4 运行当前性能测试... 6 2.

性能测试场景浅析

性能测试过程中,目标不同,需要选择的性能测试场景也有很大的差异,今天以HyperPacer为例,简单说说并发测试.负载测试.压力测试到底都是什么怎么个含义. 并发测试 所谓并发测试就是模拟一群人同一时间做事.在性能测试工具还未普及的暗黑岁月,并发测试都是一群人盯着电脑,一个人喊开始,大家便在同一时间点开始操作的那种,点完之后还得每个人看响应,报时间,一群人玩儿的不亦乐乎,做个性能测试顺道还能交流交流,联络联络感情,看着挺好玩,但效率上保证不了.而且并发量不是非常大这样还能玩的起来,并发量要是成百

如何做好IT运营.

定义IT管理的重点在于业务策略与 IT 部门提供的服务之间的一致性.IT 管理可建立必要的管理机制来确保可预测的 IT 服务交付,从而确保业务流程和 IT 流程之间的联系.IT 管理传统上属于CIO.CEO和一些 IT 和业务线(line of business,LOB)执行人员的专属领域.SOA管理是 IT 管理的扩展.它与 IT 管理的区别在于,SOA 管理的重点具体放在通过服务和面向服务的计算交付的有效 IT 实现上.面向服务的计算机的目标是把业务流程作为 IT 服务交付.与 IT 管理不