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性能优化 第一章 性能追踪建议的更多相关文章

  1. Linux性能优化 第二章 性能工具:系统CPU

    2.1 CPU性能统计信息 2.1.1运行队列统计 在Linux中,一个进程要么是可运行的,要么是阻塞的(正在等待一个事件的完成).阻塞进程可能在等待从I/O设备来的数据,或者是系统调用的结果如果一个 ...

  2. mysql 查询性能优化第一章 为什么查询速度会慢

    一 为什么查询速度会慢 在尝试编写快速的查询之前,咱们需要清除一点,真正重要的是响应时间.如果把查询看成是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要有 优化查询,实际上要 ...

  3. Tsql2008查询性能优化第一章---APPLY

       APPLY运算符涉及以下两个步骤中的一步或两步(取决于APPLY的类型):           1.A1把右表表达式应用于左表的行.           2.A2:添加外部行.       Ap ...

  4. Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化

    拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tp ...

  5. web性能优化-网络传输性能优化

    浏览器工作原理:https://www.cnblogs.com/thonrt/p/10008220.html 浏览器渲染原理: https://www.cnblogs.com/thonrt/p/100 ...

  6. 性能优化——Web前端性能优化

    核心知识点: 1.排查网站性能瓶颈的手法:分析各个环节的日志,找出异常部分 2.Web前端:网站业务逻辑之前的部分(浏览器.图片服务.CDN) 3.优化手段 1)浏览器优化 (1)减少http请求 a ...

  7. Android App性能优化笔记之一:性能优化是什么及为什么?

    By Long Luo   周星驰的电影<功夫>里面借火云邪神之口说出了一句至理名言:“天下武功,唯快不破”. 在移动互联网时代,同样如此,留给一个公司的窗口往往只有很短的时间,如何把握住 ...

  8. 微擎开启性能优化里面的性能优化memcache内存优化及数据库读写分离

    http://www.mitusky.com/forum.php?mod=viewthread&tid=3135 [微擎 安装使用] 微擎开启性能优化里面的性能优化memcache内存优化及数 ...

  9. Linux性能优化之内存性能统计信息

    关于内存的概念及其原理在任何一本介绍操作系统的书本中都可以查阅到. 理论放一遍,在Linux操作系统中如何查看系统内存使用情况呢?看看内存统计信息有哪些维度. 一.内存使用量 详细使用方法,man f ...

随机推荐

  1. ZeroTier One

    ZeroTier – 无配置,零基础「内网穿透」随时随地连回家/学校/办公室 [跨平台] https://www.appinn.com/zerotier-one/ Virtual NetworkZer ...

  2. MySQL 5.7新特性之在线收缩undo表空间

    1. MySQL 5.5时代的undo log 在MySQL5.5以及之前,大家会发现随着数据库上线时间越来越长,ibdata1文件(即InnoDB的共享表空间,或者系统表空间)会越来越大,这会造成2 ...

  3. reduceByKey和groupByKey区别与用法

    在spark中,我们知道一切的操作都是基于RDD的.在使用中,RDD有一种非常特殊也是非常实用的format——pair RDD,即RDD的每一行是(key, value)的格式.这种格式很像Pyth ...

  4. django报错解决:Invalid HTTP_HOST header: 'xxx.com'. You may need to add u'xxx.com' to ALLOWED_HOSTS.

    django版本:1.11.15 使用uwsgi+nginx运行django程序,出现报错,报错为:Invalid HTTP_HOST header: 'xxx.com:82'. You may ne ...

  5. Day 04 if判断,while循环,for循环

    if判断语法一:if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例:sex='female'age=18is_beautiful=True if sex == 'female' ...

  6. Redis 键命令

    1.设置key值 set name zhangsan 删除key del name 2. 判断key是否存在 exists a,返回1 说明存在:  0 表示不存在 3. 剩余过期时间 ttl 返回- ...

  7. C# 泛型类和泛型方法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. libextobjc使用

    pod 'libextobjc' #import "extobjc.h" 使用@weakify(self); @strongify(self)

  9. java取余%练习

    package ltb6w1; import java.io.*; public class TestMod { String st; int c; InputStreamReader is=new ...

  10. Java第03次实验提纲(面向对象1-基本概念)

    0. 将码云的项目clone到本机 请参考使用Eclipse Egit与码云管理你的代码中的3 从码云将项目clone到你的电脑 之后就可以在Eclipse中提交本地项目新增或修改的文件.如果在Ecl ...