【Linux调优】linux系统性能监控与优化(1)–简介

最近几年做了很多性能优化的事情,但是一直没有形成一套理论,也没有很好的形成一个好的排查问题的流程,每次做优化,大多是经验式的查找,最近看了一下这本书《linux system and performance monitoring》,写的太好了,仔细看了一遍,下面的是读书笔记和个人的一些体会。

1.性能优化

性能优化的过程就是打到系统的瓶颈,并且消除这处瓶颈的过程。对于操作系统来说,就是在4个子系统(CPU,Memory,IO,Network)之间达到平衡和取舍。
不同子系统之间会相互影响,某一个子系统过高的使用率,会导致问题:
1)大量的页调入请求会填满队列
2)网卡设备上大量的吞吐,会导致CPU load过高
3)管理空闲内存队列也会消耗CPU
4)大量的磁盘写请求,会消耗CPU和IO带宽

2.应用类型

要找到系统瓶颈,应该先了解应用类型:
1)IO密集型
大量消耗内存和存储系统,对CPU和网络(存储系统是基于网络的除外)要求不高。这种应用使用CPU来发起IO请求,然后进入sleep状态。比如数据库。
2)CPU密集型
需要CPU进行批处理和数学计算。比如:web servers,mail servers,rendering server

3.找系统性能瓶颈的方法:

最好的找性能瓶颈的方法,是先对在正常满足性能要求的情况下,统计系统的各个参数,做为baseline.
然后在高压力下,当系统性能满足不了需求时,与baseline进行对比,找到性能问题。

4.常用的性能监控工具:

来源链接:http://www.trueeyu.com/?p=1745 网摘文章,如有问题,请联系我们

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2015-10-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

缓存更新的套路

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作...

35913
来自专栏腾讯大数据的专栏

大型web系统数据缓存设计

1. 前言 在高访问量的web系统中,缓存几乎是离不开的;但是一个适当、高效的缓存方案设计却并不容易;所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些...

4286
来自专栏嵌入式程序猿

今日我推荐:libModbus

我们曾在公众号里给大家讲过很多有关于Modbus的知识,还培训过Modbus驱动的开发和调试,今天我们给大家推荐一个常用的开源Modbus协议栈libmodbu...

4437
来自专栏Java职业技术分享

并发模型比较

Golang 的特色之一就是 goroutine ,使得程序员进行并发编程更加方便,适合用来进行服务器编程。作为后端开发工程师,有必要了解并发编程面临的场景和常...

1940
来自专栏杨建荣的学习笔记

sysbench压测小记(r11笔记第99天)

对于很多线上业务而言,如果有新服务器,新的环境,新的业务,到底资源和预期的承载压力是否匹配,这个得用数据说话,或是通过严谨的论证来阐述。 比如一台新...

4366
来自专栏黑白安全

Hitokoto·一言经典语句接口搭建

以上代码保存为 index.php,然后上传到网站根目录下的 hitokoto 文件夹(这个自己随机定义)最后, hitokoto.txt 文本文件,一行一句话...

1733
来自专栏杂七杂八

itchat实现微信好友头像拼接图

偶然在网上发现itchat这个框架,itchat是一个开源的微信个人号接口,它使python调用微信变得非常简单。看到网上有人发自己微信好友的头像拼接图,自己也...

4078
来自专栏进击的程序猿

高效的并发控制

本文是阅读论文Efficient Optimistic Concurrency Control Using Loosely Synchronized Clock...

713
来自专栏Debian社区

Go 1.9 的新特性介绍

Go 1.9 beta版已发布, 正式版预期在8月初发布,让我们先来看看你Go 1.9带来了那些新特性。

754
来自专栏信安之路

web测试方法工具篇

之前写过一个文章《web应用渗透测试流程》,这个文章的主要内容是关于一个web应用如何进行测试,测试什么地方,没有过多的提供使用的工具,只是一个针对web测试的...

1270

扫码关注云+社区

领取腾讯云代金券