一.缓存命中率 1.引子 1.我们想利用缓存来提升程序的运行效率,应该怎么评估这个效果呢? 用衡量缓存好坏的指标 2.有没有哪个指标可以衡量缓存使用的好坏呢? 缓存命中率 3.什么是缓存命中率? 所谓缓存命中率,是指直接通过缓存获取数据的请求次数,占所有数据请求次数的百分比.命中率越高,表示使用缓存带来的收益越高,应用程序的性能也就越好 2.查看系统命中情况的工具 1.缓存在高并发系统的应用 实际上.缓存是现在所有高并发系统必须的核心模块,主要作用就是把经常访问的数据(也就是热点数据),提取读入…
一.案例环境描述 1.环境准备 2CPU,4GB内存 预先安装docker sysstat工具 2.温馨提示 案例中 Python 应用的核心逻辑比较简单,你可能一眼就能看出问题,但实际生产环境中的源码就复杂多了.所以,我依旧建议,操作之前别看源码,避免先入为主,要把它当成一个黑盒来分析.这样 你可以更好把握住,怎么从系统的资源使用问题出发,分析出瓶颈所在的应用,以及瓶颈在应用中大概的位置 3.测试环境准备 1.运行目标应用 docker run --name=app -p 10000:80 -…
一.环境准备 1.安装软件包 终端1 机器配置:2 CPU,8GB 内存 预先安装 docker.sysstat.perf等工具 [root@luoahong ~]# docker -v Docker version 18.09.1, build 4c52b90 [root@luoahong ~]# rpm -qa|grep sysstat sysstat-12.1.2-1.x86_64 终端2 机器配置:1 CPU,2GB 内存 预先安装ab 等工具 [root@nfs ~]#yum -y i…
一.怎么查看系统上下文切换情况 通过前面学习我么你知道,过多的上下文切换,会把CPU时间消耗在寄存器.内核栈以及虚拟内存等数据的保存和回复上,缩短进程真正运行的时间,成了系统性能大幅下降的一个元凶 既然上下文切换对系统性能影响那么大,你肯定迫不及待想知道,道题怎么查看上下文切换 1.系统总的上下文切换情况 [root@nfs ~]# vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ------c…
一.环境准备 1.安装软件包 终端1 机器配置:2 CPU,8GB 内存 预先安装 docker.sysstat.perf等工具 [root@luoahong ~]# docker -v Docker version 18.09.1, build 4c52b90 [root@luoahong ~]# rpm -qa|grep sysstat sysstat-12.1.2-1.x86_64 终端2 机器配置:1 CPU,2GB 内存 预先安装ab 等工具 [root@nfs ~]#yum -y i…
一.进程的状态 1.命令查看 top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28961 root 20 0 43816 3148 4040 R 3.2 0.0 0:00.01 top 620 root 20 0 37280 33676 908 D 0.3 0.4 0:00.01 app 1 root 20 0 160072 9416 6752 S 0.0 0.1 0:37.64 systemd 1896 root 20 0 0…
一.坏境准备 1.拓扑图 2.安装包 在第9节的基础上 在VM2上安装hping3依奈包 wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz tar xf libpcap-1.9.0.tar.gz cd libpcap-1.9.0/ ./configure && make && make install [root@luoahong pcap]# pwd /root/libpcap-1.9.0/pcap [roo…
一 内存性能指标 1.系统内存使用情况 共享内存:是通过tmpfs实现的,所以它的大小也就是tmpfs使用的大小了tmpfs其实也是一种特殊的缓存 可用内存:是新进程可以使用的最大内存它包括剩余内存和可回收缓存. 缓存包括两部分: 1.一部分是磁盘读取文件的页缓存,用来缓存从磁盘读取的数据,可以加快以后再次访问的速度. 2.另一部分,则是 Slab 分配器中的可回收内存2.进程内存使用情况, 缓冲区是对原始磁盘块的临时存储,用来缓存将要写入磁盘的数据.这样,内核就可以把分散的写集中起来,统一优化…
一.环境准备 1.在第6节的基础上安装dstat wget http://mirror.centos.org/centos/7/os/x86_64/Packages/dstat-0.7.2-12.el7.noarch.rpm rpm -ivh dstat-0.7.2-12.el7.noarch.rpm 2.故障现象 # 按下数字 1 切换到所有 CPU 的使用情况,观察一会儿按 Ctrl+C 结束 $ top top - 05:56:23 up 17 days, 16:45, 2 users,…
一.性能指标 1.性能指标思维导图 2.CPU使用率 3.CPU平均负载 4.CPU缓存的命中率 CPU 在访问内存的时候,免不了要等待内存的响应.为了协调这两者巨大的性能差距,CPU 缓存(通常是多级缓存)就出现了 二.性能工具 掌握了 CPU 的性能指标,我们还需要知道,怎样去获取这些指标,也就是工具的使用 1.根据指标找工具 2.根据工具找指标 三.把性能指标和工具联系起来 四.如何迅速分析CPU瓶颈 通过这张图你可以发现,这三个命令,几乎包含了所有主要的CPU性能指标 1.从 top 的…