系统缓存优化

本文介绍了如何通过缓存命中率来评估程序效率,强调了缓存在高并发系统中的重要性。通过cachestat和cachetop命令,我们可以监控操作系统的缓存性能,包括读写命中率、缓存大小等关键指标。举例展示了dd命令在读取文件时的缓存效果,揭示了缓存对程序性能的显著提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何判断缓存对程序效率的提升?

 缓存命中率:直接通过缓存获取数据的请求次数,占所有请求次数的百分比。

  命中率越高,表示使用缓存带来的收益越高,应用程序的性能越好

 缓存是现在所有高并发系统必须的核心模块,主要作用是把经常访问的数据,提前读入到内存中,这样下次读取时,可以直接从内存中读取,而不需要经过磁盘,从而加快应用程序的响应速度。

  cachestat:提供了整个操作系统缓存的读写命中情况

  cachetop:提供了每个进程的缓存命中情况

 1、查看内核版本 uname -a

 2、将内核版本升级至4.0以上

 3、安装bcc,yum -y install bcc-tools

输入命令cachestat 1 3   以1秒的间隔,输出3组数据

  HITS:表示缓存命中次数

  MISSS:表示缓存未命中次数

  DIRTIES:新增到缓存中的脏页数

  HITRATIO:缓存命中率

  BUFFERS_MB:表示Buffers的大小,以MB为单位

  CACHED_MB:表示Cache的大小,以MB为单位

输入命令cachetop

   相同的指标与Cachestat相同。

    READ_HIT:读的缓存命中率

    WRITE_HIT:写的缓存命中率

使用dd命令生成一个临时文件

  dd if=/dev/sda1 of=file bs=1M count=512

  通过cachetop可以查看当前的文件写的缓存命中情况

再次运行读缓存文件命令

  dd if=file of=/dev/null bs=1M

    第一次读取

    

    第二次读取

    

     第一次运行命令cachetop 3。查看结果

    

     第二次运行命令的结果

    

  1、从结果分析,可以看出dd命令在每次读取的时候,并不是全部都落在磁盘上,有接近50%是从缓存中读取的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值