阿萍的博客

“Linux 性能优化”

案例篇:一个SQL查询要15秒,这是怎么回事?

1 现象$ curl http://192.168.0.10:10000/products/geektime Got data: () in 15.364538192749023 sec发出请求...

案例篇:Redis响应严重延迟,如何解决?

1 现象如下查询耗时 10s,响应时间过久:$ curl http://192.168.0.10:10000/get_cache2 查看系统资源查看 CPU 和内存:$ top top - 12...

案例篇:为什么我的磁盘I/O延迟很高?

1 现象请求服务后大概 3min 才会收到响应:$ curl http://192.168.0.10:1000/popularity/word 且在服务器终端随便执行一个命令都会很久才会响应。2...

案例篇:为什么我的磁盘I/O延迟很高?

1 现象请求服务后大概 3min 才会收到响应:$ curl http://192.168.0.10:1000/popularity/word 且在服务器终端随便执行一个命令都会很久才会响应。2...

基础篇:Linux 文件系统是怎么工作的?

1 索引节点和目录项索引节点,简称 inode,记录文件的元数据,如 inode 编号,文件大小,修改日期,访问权限,数据位置等。索引节点会占用磁盘空间。索引节点是文件的唯一标志。目录项,简称 ...

基础篇:Linux 磁盘I/O是怎么工作的

文件系统是对存储设备上的文件进行统一管理的一种机制。Linux 在各种文件系统的基础上又抽象了一层虚拟文件系统 VFS。VFS 内部通过超级块、逻辑块、索引节点和目录项等数据结构管理文件。其中,...

套路篇:如何“快准狠”找到系统内存的问题?

1 内存性能指标系统内存指标应用内存剩余内存可用内存:新进程可以使用的最大内存,包括了剩余内存和可回收缓存。共享内存:通过 tmpfs 实现。缓存/缓冲区:缓存包括对文件页的缓存和 Slab 分...

套路篇:如何迅速分析出系统CPU的瓶颈在哪里?

1 CPU 性能指标CPU 利用率用户 CPU 利用率高,说明用户程序比较繁忙。系统 CPU 利用率高,说明内核比较繁忙。等待 I/O 的 CPU 使用率,即 iowait 高,说明系统与硬件的...

案例篇:如何利用系统缓存优化程序的运行效率?

1 缓存命中率缓存命中率,是指通过缓存获取数据的次数占所有数据请求次数的比例。cachestat 提供了整个操作系统缓存的读写命中情况。cachetop 提供了每个进程的缓存命中情况。安装好 b...

基础篇:Linux内存是怎么工作的?

1 内存映射每个进程都有独立的虚拟空间,虚拟空间包含了用户空间和内核空间,不同进程的内核空间关联的都是相同的物理内存。内存映射,其实就是将虚拟地址映射为物理内存地址。内核为每个进程都维护了一张页...