文章目录
  1. 2017-04-06 检查Linux服务器性能命令
    1. uptime
    2. vmstat 1
    3. mpstat-P ALL 1
    4. pidstat 1
    5. iostat -xz 1
    6. sar -n DEV 1
    7. sar -n TCP,ETCP 1
  2. 2017-04-01 从日志统计到大数据分析
    1. 数据采集
    2. 数据传输
    3. 数据驱动
    4. 数据分析
    5. 数据系统的架构
    6. 元数据
      1. 元数据的好处

博文阅读笔记 - 四月

2017-04-06 检查Linux服务器性能命令

原文链接

uptime

查看系统1分钟、5分钟、15分钟内的负载,表示等待CPU的进程和阻塞的进程(D状态)数量。如果15分钟的负载高1分钟的负载低,说明机器说明机器紧张状态在缓解。如果15分钟的低而1分钟的高,说明机器负载在加大,需要排查CPU占用。

vmstat 1

  1. vmstat 1表示每秒输出一次
  2. r是等待在CPU资源的进程数
  3. si,so是交换区写入和读取的数量。如果这个数据不为0,说明系统已经在使用交换区(swap),机器物理内存已经不足
  4. us(用户时间), sy(系统时间), id(空闲时间), wa(IO等待时间)

如果IO等待时间长,那么瓶颈在于磁盘IO。如果用户时间长,说明是应用程序在消耗CPU时间

mpstat-P ALL 1

查看每个CPU的时间占用

pidstat 1

查看每个进程的CPU占用率

iostat -xz 1

  1. r/s w/s 表示读写秒读写次数
  2. await:IO操作平均等待时间(ms)
  3. %util:设备利用率。表示设备的繁忙程度,超过60会影响IO性能,达到100%说明硬件已经饱和

sar -n DEV 1

查看网络设备的吞吐率。rxkB表示每秒吞吐的数据量。

sar -n TCP,ETCP 1

查看TCP连接状态

  1. active/s :每秒本地发起的TCP(connect)连接数
  2. passive/s:每秒远程发起的TCP(accept)连接数
  3. retrans/s:每秒TCP重传数量

2017-04-01 从日志统计到大数据分析

原文链接

不管是推进公司的日志采集结构化,还是提供更强大的查询引擎,都是在尝试把这条流建设的更好。

数据采集

  1. 初始的数据源尽量全而细
  2. 源头进行结构化、预处理能大大降低后期成本
  3. 对存储的数据进行抽象,区分类型(行为数据、业务数据)
    ETL(Extract-Transform-Load)是对对数据进行抽取、变换和加载的过程。数据源预处理的越好,ETL过程就能越简单。

数据传输

避免重复造轮子

  1. Sqoop:用于传统数据库和Hadoop之间的数据传输。
  2. Scribe:Facebook开源的一套日志传输系统,将源日志传输到Hadoop等分布式文件系统中。
  3. Flume:Cloudera开源的一套日志传输系统,和Scribe类似。
  4. Kafka:Linkedin开源的一套消息传输系统。

数据驱动

理想状态:服务方数据准备好,又提供强大的工具,需求方自行处理数据分析需求。

数据分析

漏斗分析和留存分析
分析case
数据分析的最终目的是数据驱动产品

数据系统的架构


横向为上文说的数据流,纵向包含三个重要的系统:调度系统、监控系统、元数据系统。
调度器的核心功能:一是定时器;二是优化资源利用,特别是任务优先级的控制;三是管理任务依赖关系

元数据

  • 数据的Schema:表、字段定义等。
  • 数据的就绪状态:数据就绪时间、存放位置等动态信息。
  • 元数据的访问API。
    拓展:
  • 权限控制
  • 元数据变更记录

元数据的好处

  1. 可以作为数据平台内部模块间通讯的接口
  2. 数据发现