leader说:查一查为什么系统性能这么差

技术小能手 2018-11-20

云栖社区 linux 性能优化 性能 网络性能 容器 操作系统 CPU 分布式系统 桌面应用 网络协议

3263110a20183fd517de79003d0bc0fba34a5b81

些问题或者场景,你是否曾经遇到过?

 ●  流量高峰期,服务器CPU使用率过高报警,你登录Linux上去top完之后,却不知道怎么进一步定位,到底是系统CPU资源太少,还是程序并发部分写的有问题?
 ●  系统并没有跑什么吃内存的程序,但是敲完free命令之后,却发现系统已经没有什么内存了,那到底是哪里占用了内存?为什么?
 ●  一大早就收到Zabbix告警,你发现某台存放监控数据的数据库主机CPU的I/O Wait较高,这个时候该怎么办?

作为一个程序员,性能优化是无法避开的事情,不管是桌面应用还是web应用,不管是前端还是后端,不管是单点应用还是分布式系统,并且性能优化也是软件系统中最有挑战的工作之一,更是每个工程师都需要掌握的核心技能

但是在实际的工作中,很多情况下只能看到症状,却完全不知道该从哪儿下手去排查和解决它。

之前有读者问过到,琪琪有没有系统学习Linux性能优化的书籍推荐?

网上的资料和书籍可以扩充底层知识体系,从虚拟化的原理、到操作系统和网络原理、再到Linux内核和硬件驱动程序等等。但是Linux性能优化是个系统工程,除了基础知识点之外,学习中还有两点是比较重要的,第一、要学习大量性能优化的思路和方法,尝试大量的Linux性能工具。第二、要不断的实践和总结。这样你才能把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序、库函数、系统调用、再到内核和硬件等不同的层级贯穿起来。

9af9299337cae4737d8694d6e80b5b86f527d962

对于我们大多数人来说,最好的学习方式一定是带着问题学习,而不是先去啃那几本厚厚的原理书籍,这样容易把自己的信心压垮。我认为,学习要会抓重点,只要你了解少数几个系统组件的基本原理和协作方式,掌握基本的性能指标和工具,学习实际工作中性能优化的常用技巧,你就已经可以准确分析和优化大多数的性能问题了。

在这个认知和基础上,再反过来去阅读那些经典的操作系统或者其它图书,你才能事半功倍

琪琪在网上调研了一圈,还是觉得倪朋飞老师的《Linux性能优化实战》更体系化,故在此推荐给大家,专栏会以案例驱动的思路,给你讲解Linux性能的基本指标、工具,以及相应的观测、分析和调优方法,不会像教科书那样,详细教你操作系统、算法原理、网络协议乃至各种编程语言的全部细节,但是会为你讲述性能相关的重要系统原理,并且用实际案例教你贯穿从应用程序到操作系统的各个组件

倪鹏飞老师是谁?

倪朋飞,微软Azure资深工程师,主要负责开源容器编排系统Kubernetes在Azure的落地实践。之前先后任职于盛大云和腾讯,一直致力云计算领域,主攻IaaS和容器技术。而近十年的云计算工作经验,也让他对Linux的系统原理、常见的性能问题以及优化方式了如指掌。

学完这个专栏,你能获得什么?

1、掌握Linux必备的基本原理以及linux系统必懂的性能指标(CPU 性能磁盘 I/O 性能内存性能以及网络性能等)和性能工具。

b5ee27a2ccd0c84d62d12957c16077ff0e33009f

Linux性能工具图谱

2、结合实际案例分析,让你在遇到资源瓶颈时不在束手无策,学会观测和准确定位、快速分析并高效优化,具备高手解决性能优化问题的思路和全局观

3、5个综合实战模块还原真实的工作场景结合开源项目、框架或者系统设计的案例,手把手带你在“高级战场”演练,目的是让你把之前学到的所有知识融会贯通,马上能将所学应用在工作当中。


原文发布时间为:2018-11-19

本文作者:琪琪

本文来自云栖社区合作伙伴“LuckQI”,了解相关信息可以关注“LuckQI”。

登录 后评论
下一篇
冒顿单于
5192人浏览
2019-08-28
相关推荐
(转载)WCHAR与CHAR的转换
690人浏览
2009-09-15 10:22:00
NSURLErrorDomain Code=-999
9732人浏览
2016-05-03 12:43:00
程序员的三年创业之路
596人浏览
2017-08-01 13:31:00
12条自问让你更好地编程
345人浏览
2015-04-03 12:34:00
0
0
0
853