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 ...
随机推荐
- C语言struct小知识
1.C语言里的struct是不能包含成员函数的,只能有数据成员2.C语言struct定义变量只能用一下两种方式:struct { ... } x, y, z;struct point pt;直接poi ...
- thinkphp5 列表页数据分页查询2-带搜索条件
一.控制器部分 <?php namespace app\user\controller; use app\index\controller\Common; use app\user\model\ ...
- Centos Java环境(转)
https://jingyan.baidu.com/article/d7130635e6118213fdf47589.htm 解压jdk的安装包. 将解压后的文件夹重命名,便于后续操作(非必需) ...
- Jmeter--报错 WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
今天要用Jmeter测试服务器性能,发现GUI界面总是有warning提示: WARNING: Could not open/create prefs root node Software\JavaS ...
- C# 打印、输入和for循环的使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Kafka研究【一】:bring up环境
kafka是干什么的,有和特性,我这里就不多说,详情自己研究官方文档. 0. 背景介绍 我需要在三台机器上分别部署kafka broker的实例,构建成一个集群.kafka的broker集群,是基于z ...
- ueditor图片上传和显示问题
图片上传: 这段是contorller代码 @RequestMapping(value = "/uploadImg", method = RequestMethod.POST) @ ...
- msp430学习笔记-实现开方log等计算及FFT算法(待续)
MSP430 FFT算法实现 http://bbs.21ic.com/icview-391532-1-1.html http://blog.sina.com.cn/s/blog_6cd2030b010 ...
- system.Data.Entity.Infrastructure.DbUpdateConcurrencyException: Store update, insert, or delete statement affected an unexpected number of rows (0) 问题
页面控件没有做限制.提交后还可以继续点击,造成了在短时间内的多次请求.查看日志两次错误在200ms之内. 错误信息 system.Data.Entity.Infrastructure.DbUpdate ...
- TensorFlow Saver的使用方法
我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试.Tensorflow针对这一需求提供了Saver类. Saver类提供了向checkpoint ...