Linux性能优化 第一章 性能追踪建议
1.1常用建议
1.1.1记大量的笔记(记录所有的事情)
在做性能调优问题的时候很重要的一个操作就是记录下所有的事情,包括每一个输出、执行的结果。可以新建一个文件夹,然后把结果的文件都塞到该文件夹内。包括如下:
- 记录硬件/软件的配置情况,比如dmesg和uname –a的输出
- 保存并组织性能结果,记录系统配置的同时也要保存测试的结果。
- 写下命令行调用,可以把复杂的命令写成script或者记录到终端上。
- 记录研究信息和URL,将互联网找到的相关信息记录下来。
记录这些信息之外,在调查问题时,还要牢记以下几点: - 结果的含义可能是不明确的,有时候你需要更多的信息才能理解结果的含义
- 所有的信息都是有用的,就好像侦查破案一样
- 定期回顾你的笔记可以得到新的想法——温故而知新。
1.1.2 自动执行重复任务
Linux 的命令很多,输入负责的命令很容易出现错误。所以,自动执行性能工具和应用程序测试是个好办法。 - 性能工具的调用,建议写成script或者保存到一个txt文件里面。
1.1.3 尽可能选择低开销工具
一般情况下,观察系统会修改系统的行为。(物理上叫做海森堡不确定性原理)所以,我们尽量要使用低开销的工具,比如用ps就不错,而用memprof或者valgrind就开销过大了,会改变系统的行为。
1.1.4 使用多个工具来搞清楚问题
只使用一个工具可能会造成判断上的误导,比如工具A说是IO慢,B说是系统使用了大量的交换。如果只根据A而更换更快的磁盘,结果性能提升很少。实际应该要增加内存,少使用交换,这样就不会有大量的磁盘IO了。
1.1.5 相信你的工具
工具是公正的,要相信它。
1.1.6 利用其他人的经验(慎重)
利用他人的经验可能会事半功倍,但是要保持怀疑的态度。
1.2 性能调查概要
1.2.1 找到指标、基线和目标 - 确定指标,知道什么时候应该要停止优化,比如web的每秒服务的请求数。
- 确定基线,在调整和优化之前,运行应用程序并记录其性能,这就是基线。
- 确定目标,目标会引导你完成性能的追踪。可以尝试寻找其他有相同配置的人,查找工业标准测试程序的结果或者在不同的OS或应用程序上使用你的硬件。
1.2.2 追踪近似问题
1.2.3 查看问题是否早已解决
网上查找相似的信息。
1.2.4 项目开始(启动调查)
开始调查的使用可以尝试下面的一些方法。
分离问题、利用系统差异发现原因、一次只改变一件事、始终在优化后重新测量。
1.2.5 记录,记录,记录
Linux性能优化 第一章 性能追踪建议的更多相关文章
- Linux性能优化 第二章 性能工具:系统CPU
2.1 CPU性能统计信息 2.1.1运行队列统计 在Linux中,一个进程要么是可运行的,要么是阻塞的(正在等待一个事件的完成).阻塞进程可能在等待从I/O设备来的数据,或者是系统调用的结果如果一个 ...
- mysql 查询性能优化第一章 为什么查询速度会慢
一 为什么查询速度会慢 在尝试编写快速的查询之前,咱们需要清除一点,真正重要的是响应时间.如果把查询看成是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要有 优化查询,实际上要 ...
- Tsql2008查询性能优化第一章---APPLY
APPLY运算符涉及以下两个步骤中的一步或两步(取决于APPLY的类型): 1.A1把右表表达式应用于左表的行. 2.A2:添加外部行. Ap ...
- Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化
拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tp ...
- web性能优化-网络传输性能优化
浏览器工作原理:https://www.cnblogs.com/thonrt/p/10008220.html 浏览器渲染原理: https://www.cnblogs.com/thonrt/p/100 ...
- 性能优化——Web前端性能优化
核心知识点: 1.排查网站性能瓶颈的手法:分析各个环节的日志,找出异常部分 2.Web前端:网站业务逻辑之前的部分(浏览器.图片服务.CDN) 3.优化手段 1)浏览器优化 (1)减少http请求 a ...
- Android App性能优化笔记之一:性能优化是什么及为什么?
By Long Luo 周星驰的电影<功夫>里面借火云邪神之口说出了一句至理名言:“天下武功,唯快不破”. 在移动互联网时代,同样如此,留给一个公司的窗口往往只有很短的时间,如何把握住 ...
- 微擎开启性能优化里面的性能优化memcache内存优化及数据库读写分离
http://www.mitusky.com/forum.php?mod=viewthread&tid=3135 [微擎 安装使用] 微擎开启性能优化里面的性能优化memcache内存优化及数 ...
- Linux性能优化之内存性能统计信息
关于内存的概念及其原理在任何一本介绍操作系统的书本中都可以查阅到. 理论放一遍,在Linux操作系统中如何查看系统内存使用情况呢?看看内存统计信息有哪些维度. 一.内存使用量 详细使用方法,man f ...
随机推荐
- k8s-YAML配置文件
一.YAML基础 YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便.它实质上是一种通用的数据串行化格式. YAML语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用 ...
- 配置zabbix当内存剩余不足15%的时候触发报警
zabbix默认的剩余内存报警:Average Lack of available memory on server {HOST.NAME}{Template OS Linux:vm.memory.s ...
- create-react-app 搭建的项目中,让 antd 通过侧边栏导航 Menu 的 Menu.Item 控制 Content 部分的变化
第一种:BrowserRouter把Menu和Route组给一起包起来 <Router></Router> 标签要把Menu和Route组给一起包起来 修改src/index. ...
- pip查看已安装包列表
输入命令: pip freeze 结果: certifi==2018.10.15chardet==3.0.4Django==2.1.2idna==2.7pytz==2018.5requests==2. ...
- redis sentinel哨兵的使用
哨兵模式是Redis集群管理的一种方式. 下面以Go语言为例介绍其使用方式. 使用举例 package main import ( "fmt" "strings" ...
- 字符串CRC校验
字符串CRC校验 <pre name="code" class="python"><span style="font-family: ...
- EXPLAIN执行计划中要重点关注哪些要素
MySQL的EXPLAIN当然和ORACLE的没法比,不过我们从它输出的结果中,也可以得到很多有用的信息. 总的来说,我们只需要关注结果中的几列: 列名 备注 type 本次查询表联接类型,从这里可以 ...
- MIME 设置
1,打开iis7,选择你要设置网站,打开mime类型选项 2,找到.rar的mime类型,复制他的类型 3,复制后选项添加,在文件扩展名那一栏填入.*,然后在下面的mime类型复制你刚复制的appli ...
- mysql编译安装(详细)(转载)
mysql编译安装(详细) 一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从 ...
- 【NIO】之IO和NIO的区别
在Java1.4之前的版本,Java对I/O的支持并不完善,开发人员在开发高性能I/O程序的时候,会面临以下几个问题: 1.没有数据缓存区,I/O性能存在问题 2.没有C/C++通道的概念,输入和输出 ...