Linux 线上排查

编程入门 行业动态 更新时间:2024-10-10 13:24:26

Linux <a href=https://www.elefans.com/category/jswz/34/1770445.html style=线上排查"/>

Linux 线上排查

本章介绍一些简单的线上问题排查过程以及解决方案。首先声明一点的是,线上问题的定位主要靠监控和日志,没有什么更好的方法。

服务器

对于服务器,大多数情况下,我们主要关心磁盘、内存、CPU、网络。

1.磁盘
  (1)利用 df -h 获取磁盘空间状况。
  (2)利用 du -h 查看文件夹大小。
  (3)利用 du -sh * 获取目录下文件大小。
  (4)利用 ls -lh 查看文件大小。

2.CPU
  (1)利用 top 查看进程状态。
  (2)利用 top -H 查看线程状态。

3.内存
  (1)利用 free -h 查看内存使用情况

4.网络
  (1)利用 netstat 统计网络状态

以上命令已在 Linux 运维命令 说明。

数据库

对于数据库,大多数情况下,我们关心的是查询效率优化、慢 SQL、连接数等,以 MySQL 为例。
1.慢 SQL
  (1)通过 mysqldumpslow 工具查找慢 SQL。
  (2)利用 explain 执行计划优化 SQL (分析需求,添加合适的索引)。
  (3)利用 show processlist 查找执行的命令。如果需要杀死对应的线程,可以通过 kill 执行。
2.连接数
  (1)利用 show variables like '%max_connections%'  查看最大连接数。
  (2)利用 set global max_connections=xxx  设置连接数。
  (3)利用 show status like 'Threads%' 查看进程数
+-------------------+-------+ 
| Variable_name     | Value | 
+-------------------+-------+ 
| Threads_cached    | 58    | 
| Threads_connected | 57    |   ###这个数值指的是打开的连接数 
| Threads_created   | 3676  | 
| Threads_running   | 4     |   ###这个数值指的是激活的连接数,这个数值一般远低于 connected 数值
+-------------------+-------+
 
Threads_connected 跟 show processlist 结果相同,表示当前连接数。准确的来说,Threads_running 是代表当前并发数。

缓存

对于缓存组件,关心的是内存、慢日志、网络延时、命中率、连接数。以Redis 为例。
1.慢日志
  (1)config set slowlog-log-lower-than 设置慢命令阈值。
  (2)config set slowlog-max-len 设置最大慢命令记录保存数。
  (3)利用 slowlog get 查询慢命令。

2.内存
  (1)执行 info memory 查询 Redis 内存使用情况信息。
  (2)利用 redis-cli --bigkeys 查找大key。
  (3)当内存不足时可以通过 config set maxmemory 临时增加内存同时指定内存淘汰策略。

3.命中率
  (1)利用 info stats 查找系统统计数据
  (2)命中率 keyspace_hits / (keyspace_hits + keyspace_misses)

4.网络延时
 (1) redis-cli --latency 查询延迟信息

5.连接数
  (1)利用 config get maxclients 获取客户端最大连接数
  (2) config set maxclient 设置连接数(限制客户端最大连接数)。
  (3)利用 info clients 获取客户端连接概括,利用client list 客户端连接的详情。

业务异常

这个真的的就只能靠看日志了,所以日志怎么打印是个重要的问题。
1.日志要包含业务标识、时间、IP、进程ID、文件名、行数、函数等基本信息。
2.对于接口,接口要打印入参和响应。
3.对于接口调用方,如果有错误要打印错误信息。

参考

1.

更多推荐

Linux 线上排查

本文发布于:2024-02-06 06:54:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1747020.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:线上   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!