`
jahu
  • 浏览: 60967 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

查询十分慢,内存 cache与buffer 突然过大

 
阅读更多

场景

        数据库压测人员发现统计查询十分慢。

        进入服务 查看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内存中Buffer与Cache的区别 #### 概述 Linux操作系统在管理内存资源时采用了高效且灵活的方法。当我们使用`free`命令查看系统的内存使用情况时,可能会注意到一个现象:即使系统似乎没有运行太多的应用...

    Oracle Buffer和Cache的区别

    在计算机硬件层面,CPU中的L1、L2、L3 Cache就是用来加速CPU与内存之间的数据交换。这些高速缓存层次结构的设计目的,是尽可能让CPU在执行指令时快速获取所需数据,避免频繁地等待较慢的主内存响应。Cache的大小、...

    Linux内存中Swap和Buffer Cache机制

    总之,Linux的Swap和Buffer Cache机制是内存管理的重要组成部分,它们在提供更大的内存使用空间和提高磁盘I/O效率的同时,也需平衡风险和性能。了解和掌握这些机制对于优化Linux服务器的性能和稳定性至关重要。

    Linux操作系统中内存buffer和cache的区别.docx

    Linux 操作系统中内存 buffer 和 cache 的区别 在 Linux 操作系统中,内存 buffer 和 cache 是两个重要的概念,它们都是占用内存的,但是它们的作用和特点却不同。本文将详细介绍内存 buffer 和 cache 的概念、区别...

    Linux内存buffer和cache的区别

    ### Linux内存管理中的Buffer与Cache区别详解 #### 一、引言 在现代操作系统中,内存管理是一项极其重要的任务,特别是在Linux这样的多用户多任务环境中。Linux系统在内存管理方面采取了许多高效的策略来提高系统...

    oracle性能调优之buffer cache

    * 大表的全扫描会降低 Buffer Cache 的命中率。 * 等待事件会影响 Buffer Cache 的性能情况。 总结 Buffer Cache 是 Oracle 中的一种缓存机制,负责将磁盘上的数据 block 读取到内存中,以提高数据库的访问速度。...

    buffer cache深度分析.zip

    8. **缓存与JVM内存管理**:Buffer Cache与Java的堆内存和非堆内存(如Direct Memory)相互关联,需要综合考虑JVM的内存配置以避免内存溢出。 综上所述,Buffer Cache深度分析涵盖了数据库系统设计、Java内存管理、...

    oracle_buffer_cache深入分析

    而为了提高数据访问速度,Oracle 引入了一个重要的内存组件——Buffer Cache(数据高速缓存区)。Buffer Cache 的核心作用在于减少磁盘 I/O 操作,因为相较于磁盘访问,内存访问速度快得多。 **1.1 Buffer Cache ...

    Linux操作系统中内存buffer和cache的区别.pdf

    #### 三、buffer与cache的定义 1. **Buffer**: - Buffer是某种东西尚未被“写”到磁盘上。 - Buffer主要用于存储块设备的读写缓冲区,例如磁盘I/O操作时临时存放的数据。 2. **Cache**: - Cache是某种东西已经被...

    深入Buffer Cache 原理

    ### 深入Buffer Cache 原理 #### Buffer Cache 概述 Buffer Cache作为System Global Area (SGA) 的一部分,在Oracle数据库中扮演着极其重要的角色。它的主要任务是缓存数据块以减少磁盘I/O操作,提高数据访问速度...

    解决 linux 下 buffcache 占用过高的问题.docx

    Buffer(缓冲区)主要存储的是磁盘I/O操作的数据,目的是减少磁盘和内存之间的数据交换次数,提高读写速度。Cache(缓存)则是用于存储经常访问的数据,加快程序访问速度,比如文件系统和数据库的缓存。这两种内存...

    Oracle 中 Buffer Cache 的研究.pdf

    优化Buffer Cache不仅可以减少磁盘I/O,提高查询速度,还能降低数据库系统的整体负载。但需要注意的是,优化工作需要根据实际的数据库工作负载和资源情况进行,避免过度配置导致不必要的内存浪费。 总之,Oracle的...

    Linux内核内存Cache机制原理

    5. **内存管理子系统**:Linux内核内存管理子系统负责分配和回收内存,以及维护Page和Buffer Cache。它包括伙伴系统(用于分配连续内存块)和slab分配器(用于高效管理小对象的内存分配)。slab分配器根据对象大小...

    深入学习Buffer cache

    在Oracle 10g中,Buffer Cache的设计和管理更加先进,实现了更高效的内存利用和并发访问控制。 Buffer Cache的结构主要包括以下几个关键部分: 1. **Data Buffer Header List**:数据缓冲区头部列表是由哈希桶...

    Oracle buffer cache

    Oracle Buffer Cache 是 Oracle 数据库中的一种内存缓存机制,用于提高数据库的性能。Buffer Cache 通过将频繁访问的数据块缓存在内存中,减少了磁盘 I/O 操作,从而提高了数据库的响应速度。 Buffer Cache 的原理...

    操作系统课程作业-队列管理、进程管理、内存管理、bufferCache、系统文件、内存管理.zip

    操作系统课程作业-队列管理、进程管理、内存管理、bufferCache、系统文件、内存管理.zip

    linux下释放cache内存

    为了提升文件系统访问速度,Linux内核会利用空闲内存来缓存文件数据(称为Page Cache)和其他类型的缓存(如Buffer Cache)。这样做的目的是减少磁盘I/O操作,从而提高系统性能。 然而,在某些情况下,用户可能会...

    BIGIPLTM内存Cache原理与配置[定义].pdf

    【BIG-IP内存Cache原理与配置】是关于网络性能优化技术的一种,主要应用于软件开发领域。内存Cache,也称为RAM Cache,是BIG-IP系统中一种优化HTTP对象访问的技术,它将频繁访问的HTTP对象存储在系统的随机存取内存...

    linux内存中cache分析

    缓存(Cache)主要包含两种类型:页高速缓存(Page Cache)和块设备缓存(Buffer Cache)。页高速缓存用于存储文件系统的数据,当程序读取文件时,内核会尝试从缓存中直接获取,从而提高数据访问速度。块设备缓存则...

    ramdisk+supercache内存做硬盘,显著提升电脑速度,做到多余内存不浪费,特别适用于大内存的32位操作系统。

    综上所述,对于大内存的32位系统,结合Ramdisk和Supercache可以有效利用内存资源,显著提升电脑的运行速度。但需要注意的是,这种优化策略可能会增加电力消耗,且由于内存中的数据易失性,重要数据不应存储在Ramdisk...

Global site tag (gtag.js) - Google Analytics