内存

磁盘空间

[root@ZT-TEST ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G  402M  3.6G   11% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   95G   10G   86G   11% /
/dev/sda1               1014M  207M  808M   21% /boot
tmpfs                    799M   16K  799M    1% /run/user/42
tmpfs                    799M     0  799M    0% /run/user/0

运行内存

[root@ZT-TEST ~]# free -gtotal        used        free      shared  buff/cache   available
Mem:              7           0           2           0           4           6
Swap:             3           0           3
[root@ZT-TEST ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:           7982         880        2851         408        4250        6394
Swap:          4095           3        4092
[root@ZT-TEST ~]# free -ktotal        used        free      shared  buff/cache   available
Mem:        8174056      902304     2919436      417952     4352316     6547824
Swap:       4194300        3368     4190932

虚拟内存(swap)

[root@ZT-TEST ~]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st2  0   3368 2919400   4204 4348128    0    0     0     1    0    0  0  0 100  0  00  0   3368 2919252   4204 4348128    0    0     0     0  173  240  1  0 99  0  00  0   3368 2919220   4204 4348128    0    0     0     0  139  219  1  0 99  0  00  0   3368 2919220   4204 4348128    0    0     0     0  121  208  1  0 99  0  0

内存交换设置:

  • 查看 swappiness 比例:
[root@ZT-TEST ~]# cat /proc/sys/vm/swappiness
30
  • 临时修改 swappiness 比例:
sudo sysctl vm.swappiness=10
  • 永久修改 swappiness 比例:
vim /etc/sysctl.conf
  • 关闭 swap:swapoff -a
  • 开启 swap:swapon -a

瓶颈分析

命令: vmstat

[root@ZT-TEST ~]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st2  0   3368 2919400   4204 4348128    0    0     0     1    0    0  0  0 100  0  00  0   3368 2919252   4204 4348128    0    0     0     0  173  240  1  0 99  0  00  0   3368 2919220   4204 4348128    0    0     0     0  139  219  1  0 99  0  0

其中关于 IO 的几个指标解释如下:

  • bi:读磁盘的速度,单位 KB/秒
  • bo:写磁盘的速度
  • wa:IO 的时间

瓶颈分析:

  1. wa 并不能反应磁盘的瓶颈,实际反应的是 CPU 的 IO 等待时间
  2. bi+bo 参考值为 1000,如果超过 1000,而且 wa 值比较大,表示系统磁盘 IO 存在瓶颈

命令: iostat

[root@ZT-TEST ~]# iostat -x -k -d 1
Linux 3.10.0-957.el7.x86_64 (ZT-TEST)   2021年10月03日  _x86_64_        (4 CPU)Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.02    0.00    0.23     0.11     2.22    20.25     0.01   58.40    5.38   59.03  13.86   0.32
dm-0              0.00     0.00    0.00    0.24     0.11     2.21    18.71     0.01   57.77    5.58   58.32  13.01   0.32
dm-1              0.00     0.00    0.00    0.00     0.00     0.00    11.00     0.00    3.65    5.39    2.36   0.65   0.00###
rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块 (block) 的请求进行合并
wrqm/s: 每秒对该设备的写请求被合并次数
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量 (kB 为单位)
wkB/s: 每秒写数据量 (kB 为单位)
avgrq-sz:平均每次 IO 操作的数据量 (扇区数为单位)
avgqu-sz: 是平均请求队列的长度。队列长度越短越好
await: 平均每次 IO 请求等待时间 (包括等待时间和处理时间,毫秒为单位)。一般地系统 IO 响应时间应该低于 5ms
svctm: 平均每次 IO 请求的处理时间 (毫秒为单位)
%util: 1 秒中有百分之多少的时间用于 I/O 操作。该参数表示了设备的繁忙程度

瓶颈分析:

  1. CPU 会拿出一部分时间来等待 IO(iowait)。如果磁盘的利用率已经满了(util%),即使 CPU 使用率不高,但是系统整体 QPS 已经上不去了,如果继续加大流量,会导致单次 iowait 持续增加(IO 请求都堵在队列里),从而使整体性能塌方
  2. 高 iowait 并不代表磁盘的瓶颈。唯一能说明磁盘是系统瓶颈的方法是很高的 svctm(IO 请求的处理时间),一般来说超过 20ms,就代表了不太正常的磁盘性能。只要大于 20ms,就必须考虑是否磁盘读写的次数太多,导致磁盘性能降低
  3. svctm 一般要小于 await。svctm 的大小和磁盘性能有关,请求过多也会导致 svctm 的增加。await 的大小一般取决于 svctm 以及 I/O 队列的长度。如果 svctm 接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用的响应时间变慢,如果响应时间超过了用户可以容许的范围,需要考虑更换更快的磁盘;调整内核 elevator 算法;优化应用;升级 CPU

浏览器层面

关注白屏时间/首屏时间

接口层面

  • 并发测试
  • 负载测试
  • SQL 层

服务端层面

08-10 性能瓶颈证据链相关推荐

  1. 网管日志-06.08.10

    日志记录的是06.08.10的事情,这一天没什么内容,但还是要写点,毕竟今天上过班.         尽管感冒了,我感觉自己还是可以坚持住的,因为我从小身体素质非常好,很少生病,连感冒都很少有,偶尔有 ...

  2. 2018年最值得关注的10家区块链公司新秀

    随着分布式账本技术规模化应用的案例开始出现,采用这一技术的企业逐步增多,预计2014年全球区块链行业的市场规模将达到600亿美元.尽管该技术目前还处于十分早期的阶段,但受其巨大的潜力的吸引,世界各国的 ...

  3. 君子签“区块链+保全链+全证据链”保障电子合同签署全程可靠可信

    随着数字经济的快速发展,企业开始积极拥抱信息化.数字化转型,越来越多的合同通过互联网.电子化的形式订立,以电子合同区块链存证为代表的电子证据应用被越来越多企业所采用,更被最高法官宣认可其法律效力,成为 ...

  4. 10月区块链领域投融资事件盘点

    区块链寒冬依然继续,但是仍然阻碍不了行业发展.据统计,10月份全球区块链共斩获29笔融资,融资总额超过21.3亿元人民币,环比增长169.6%,但10月份区块链融资额的大幅增长动力主要来源于海外.以下 ...

  5. 君子签用区块链打造电子合同证据链闭环,提升电子合同证据效力

    电子合同作为电子证据的主要表现形式,采用电子合同发生纠纷时,相关的电子合同数据成为证据证明的关键.运用区块链去中心化.分布式存储.加密可溯源等技术特性,让电子合同的整个过程都可以在互联网上安全地进行, ...

  6. 面试题 08.10. 颜色填充

    面试题 08.10. 颜色填充 编写函数,实现许多图片编辑软件都支持的「颜色填充」功能. 待填充的图像用二维数组 image 表示,元素为初始颜色值.初始坐标点的行坐标为 sr 列坐标为 sc.需要填 ...

  7. 10本区块链热门图书(应用开发、智能合约等)免费送!

    欢迎访问网易云社区,了解更多网易技术产品运营经验. "互联网之后就是区块链时代,区块链是实现未来跟踪经济的关键技术."世界上真的存在 100% 去中心化的系统吗?区块链到底是什么? ...

  8. 电子合同数据全流程实时上链存证,君子签打造数据证据链闭环

    数字时代,越来越多的企业将传统纸质合同签署转变为线上化签署.合同记录着商业核心数据,勘称企业的"生命线".企业也越来越重视数据安全与隐私保护问题,合同数据的安全传输与存储,成为企业 ...

  9. 商业银行贷款业务电子签:防范萝卜章-保存证据链-安全高效放款

    商业银行贷款因"章"难 萝卜章难辨:"萝卜章"凭肉眼很难识别真假,贷款资金坏账风险高,风控难优化! 虚假身份:借款.风控审批.放款等各环节人员身份易伪造,贷款被 ...

最新文章

  1. OpenCV中图像旋转(warpAffine)算法的实现过程
  2. Hibernate5.x Eclipse搭建
  3. Beta冲刺 day1
  4. 4_Tensorflow框架的使用(20181217-)
  5. 【⚠️阴沟里翻船,这题都做错了!⚠️】C语言宏定义
  6. 两台电脑可以用同一IP上网吗?
  7. oracle em 空白,Oracle em中出现按钮乱码的实际解决方案
  8. Python之路【第一篇】:环境搭建
  9. windowbuilder安装
  10. 面试官留步!听我跟你侃会儿Docker原理
  11. 【codevs1079】回家
  12. 股市太火 !“牛市”搜索热度暴涨9倍:80后疯狂开户
  13. python入门第八章 商品数量检测 头像格式检测
  14. 把图像划分为patch以及用图像块重建图像
  15. Flask-WTF CSRF 保护P3
  16. C语言编写九九乘法表
  17. 各种格式的地图瓦片下载
  18. 比例电磁阀(零)液压知识
  19. 同相加法器电路图_反相加法器电路图_运放加法器电路图解析
  20. [转载]JS和AS交互 作者:ludanlove

热门文章

  1. java删除文件的上一级_java中多级目录的删除
  2. MQTT-WebSocket连接通信
  3. 什么是分布式数据库中间件
  4. 项目管理学习总结(14)——优秀技术Leader应该具备什么哪些方面的能力
  5. Docker学习总结(17)——学会使用Dockerfile
  6. python提取文本中的手机号_Python从vcf文件中读取手机号并进行去重操作
  7. php中get结合mysql_php中,$_GET中的数值能被mySQL读到么?
  8. 第 2 章 MongoDB
  9. MOOC网站日志分析
  10. RecyclerView实现滑动删除和拖拽功能