阅读 594

Linux工具性能调优系列一:性能调优泛谈

一,为什么需要性能调优

我们平时中,总会遇到各种各种的性能问题,有应用层面的,网络层面的,操作系统层面的等等。在我看来,我们需要性能调优的原因有以下几个: (1) 这些问题如果不解决,会直接影响到我们的系统性能,甚至造成我们服务的不可用 (2) 加大我们的服务器成本 (3) 迅速定位问题原因,迅速解决,降低故障影响 (4) 对自己和他人负责

二,我们要优化的是什么性能

(1) 如果我们站在应用层来看,我们更加关注工作负载,工作负载中我们通常会关注:延时和吞吐量。

(2) 如果我们站在系统层面来看,需要关注的问题就很多,CPU,IO,内存,网络,磁盘等。这个时候,我们通常会关注:吞吐量,使用率,饱和度,延迟等

由于应用层面的代码导致的原因不够通用化,但是应用层面导致的问题,最终还是会体现到系统层面上,我们可以利用系统层面的问题反推回去,所以我们会聚焦在系统层面来看问题。

三,怎么优化性能

其实这里有个很难定义的点,就是怎么样性能算是好,怎么样算是不好,几乎每个指标都会遇到这样的问题。在这里,我想说,这是个主观的点,我们通常都是自己去定义这个所谓的阈值。

3.1 分析问题的思路

遇到一个性能问题,我们需要一些排查的方法论,在这里不会提出很多方法论,用的是自己经常用的的方法,每个步骤都有相应的工具来解决。

(1) 出现了什么性能问题 (2) 谁导致了这个问题 (3) 问题是否存在规律性 (4) 为什么会导致这个问题(这里可能需要不断地假设和论证)

3.2 哪些性能需要优化

通常我们优先优化最有价值的性能,但是不同指标之间不是简单的单一关系,很多是错综复杂联系在一起的,我们在优化前后需要都去评价各个方面的指标。

四,知识储备

后续会介绍的每个工具,背后都是相关的各种基础知识。不希望大家只是停留在会用的阶段,需要的是深入理解背后的基础知识,这样才能更好的利用这些兵器。

(1) 最重要的是,操作系统底层知识。例如:CPU,磁盘,网络,IO等知识 (2) Linux常用的操作命令

五,目的

能熟练使用下图的工具,解决相应的问题

关注下面的标签,发现更多相似文章
评论