场景
数据库压测人员发现统计查询十分慢。
进入服务 查看free,发现 cache/buffer 十分大。
执行
echo 3 > /proc/sys/vm/drop_caches
cache/buffer正常了。
但是查询还是慢
看到mysql的innodb_buffer_poll 的大小,小于 文件大小。造成了 大量的 文件被操作系统 cache。
提高 innodb_buffer_poll大小,ok了
随便说下 磁盘读写
公司给的 hdd盘,而且还是7200转,坑死了。
那么每秒的 iops是 7200/60=120.
innodb_page 大小是 16K
每秒随机读写是 120*16 = 1920K,最多也就2M。一小时也就7.2G
24G数据,需要读 3个多小时。
把24G数据加载到内存,只用了 573秒。
那么每秒循序读是 573秒
24*1024*/573 = 43M/S
这个速度还是无法接受。
相关推荐
### Linux内存中Buffer与Cache的区别 #### 概述 Linux操作系统在管理内存资源时采用了高效且灵活的方法。当我们使用`free`命令查看系统的内存使用情况时,可能会注意到一个现象:即使系统似乎没有运行太多的应用...
在计算机硬件层面,CPU中的L1、L2、L3 Cache就是用来加速CPU与内存之间的数据交换。这些高速缓存层次结构的设计目的,是尽可能让CPU在执行指令时快速获取所需数据,避免频繁地等待较慢的主内存响应。Cache的大小、...
总之,Linux的Swap和Buffer Cache机制是内存管理的重要组成部分,它们在提供更大的内存使用空间和提高磁盘I/O效率的同时,也需平衡风险和性能。了解和掌握这些机制对于优化Linux服务器的性能和稳定性至关重要。
Linux 操作系统中内存 buffer 和 cache 的区别 在 Linux 操作系统中,内存 buffer 和 cache 是两个重要的概念,它们都是占用内存的,但是它们的作用和特点却不同。本文将详细介绍内存 buffer 和 cache 的概念、区别...
### Linux内存管理中的Buffer与Cache区别详解 #### 一、引言 在现代操作系统中,内存管理是一项极其重要的任务,特别是在Linux这样的多用户多任务环境中。Linux系统在内存管理方面采取了许多高效的策略来提高系统...
* 大表的全扫描会降低 Buffer Cache 的命中率。 * 等待事件会影响 Buffer Cache 的性能情况。 总结 Buffer Cache 是 Oracle 中的一种缓存机制,负责将磁盘上的数据 block 读取到内存中,以提高数据库的访问速度。...
8. **缓存与JVM内存管理**:Buffer Cache与Java的堆内存和非堆内存(如Direct Memory)相互关联,需要综合考虑JVM的内存配置以避免内存溢出。 综上所述,Buffer Cache深度分析涵盖了数据库系统设计、Java内存管理、...
而为了提高数据访问速度,Oracle 引入了一个重要的内存组件——Buffer Cache(数据高速缓存区)。Buffer Cache 的核心作用在于减少磁盘 I/O 操作,因为相较于磁盘访问,内存访问速度快得多。 **1.1 Buffer Cache ...
#### 三、buffer与cache的定义 1. **Buffer**: - Buffer是某种东西尚未被“写”到磁盘上。 - Buffer主要用于存储块设备的读写缓冲区,例如磁盘I/O操作时临时存放的数据。 2. **Cache**: - Cache是某种东西已经被...
### 深入Buffer Cache 原理 #### Buffer Cache 概述 Buffer Cache作为System Global Area (SGA) 的一部分,在Oracle数据库中扮演着极其重要的角色。它的主要任务是缓存数据块以减少磁盘I/O操作,提高数据访问速度...
Buffer(缓冲区)主要存储的是磁盘I/O操作的数据,目的是减少磁盘和内存之间的数据交换次数,提高读写速度。Cache(缓存)则是用于存储经常访问的数据,加快程序访问速度,比如文件系统和数据库的缓存。这两种内存...
优化Buffer Cache不仅可以减少磁盘I/O,提高查询速度,还能降低数据库系统的整体负载。但需要注意的是,优化工作需要根据实际的数据库工作负载和资源情况进行,避免过度配置导致不必要的内存浪费。 总之,Oracle的...
5. **内存管理子系统**:Linux内核内存管理子系统负责分配和回收内存,以及维护Page和Buffer Cache。它包括伙伴系统(用于分配连续内存块)和slab分配器(用于高效管理小对象的内存分配)。slab分配器根据对象大小...
在Oracle 10g中,Buffer Cache的设计和管理更加先进,实现了更高效的内存利用和并发访问控制。 Buffer Cache的结构主要包括以下几个关键部分: 1. **Data Buffer Header List**:数据缓冲区头部列表是由哈希桶...
Oracle Buffer Cache 是 Oracle 数据库中的一种内存缓存机制,用于提高数据库的性能。Buffer Cache 通过将频繁访问的数据块缓存在内存中,减少了磁盘 I/O 操作,从而提高了数据库的响应速度。 Buffer Cache 的原理...
操作系统课程作业-队列管理、进程管理、内存管理、bufferCache、系统文件、内存管理.zip
为了提升文件系统访问速度,Linux内核会利用空闲内存来缓存文件数据(称为Page Cache)和其他类型的缓存(如Buffer Cache)。这样做的目的是减少磁盘I/O操作,从而提高系统性能。 然而,在某些情况下,用户可能会...
【BIG-IP内存Cache原理与配置】是关于网络性能优化技术的一种,主要应用于软件开发领域。内存Cache,也称为RAM Cache,是BIG-IP系统中一种优化HTTP对象访问的技术,它将频繁访问的HTTP对象存储在系统的随机存取内存...
缓存(Cache)主要包含两种类型:页高速缓存(Page Cache)和块设备缓存(Buffer Cache)。页高速缓存用于存储文件系统的数据,当程序读取文件时,内核会尝试从缓存中直接获取,从而提高数据访问速度。块设备缓存则...
综上所述,对于大内存的32位系统,结合Ramdisk和Supercache可以有效利用内存资源,显著提升电脑的运行速度。但需要注意的是,这种优化策略可能会增加电力消耗,且由于内存中的数据易失性,重要数据不应存储在Ramdisk...