用FlashCache加速MySQL

news/2024/11/7 22:45:43/
SSD与FlashCaceh相关参考资料推荐:
Mysql基于SSD_flashcache优化实践》
《SSD+ RAID卡和PCI-E flash卡在淘宝的应用实践》
淘宝商品库MySQL优化实践》 
《混合存储测试结果》
 
国内的姜承尧开发一个INNODB的二级缓存(InnoDB Secondary Buffer Pool),是利用SSD做为二级缓存。Facebook在这个基础上做了扩充将其放到操操作系统的存储层做为一种通用的缓存。

Flashcache是Facebook技术团队的又一力作,最初是为加速MySQL设计的。Flashcache是在Linux层面的,所以任何受磁盘IO困绕的软件或应用都可以方便的使用之。

1. Why Flashcache

随着时间的流逝,网站上的数据一直在不停的积累。如果你经营的只是一个博客的话,这不会是问题,因为10G的空间,大概就够你写一辈子了(如果放在硬盘上,其实一辈子很短)。如果你恰巧在一个快速增长的公司,数据会越来越多,从MB,到GB,再到TB。

如果将这些数据全部放在大容量的SATA、SAS盘上时,会发现性能(响应时间)不够;如果全放在SSD上时,又会发现成本很高。即使公司能够大气 到都放到SSD上,你会发现1TB的数据里面可能只有200G是经常被访问的,300G可能偶尔被访问到,最后剩下的500G可能已经成为历史数据了,几 乎不被访问到,如果全部都放在SSD上有略有浪费。于是就有了Flashcache。

Flashcache一个非常不错的软件(准确的说是一个Linux的模块), 可以动态加载。Flashcache通过在文件系统(VFS)和设备驱动之间新增了一次缓存层,来实现对热门的缓存。Flashcache是另一种缓存, 一般用SSD作为介质的缓存(一般的缓存用的是内存),通过将传统硬盘上的热门数据缓存到SSD上,然后利用SSD优秀的读性能,来加速系统。这个方法较 之内存缓存,没有内存快,但是空间可以比内存大很多。

本文是一个关于Flashcache的初步介绍。

2. 谁适合用Flashcache

数据量很大(例如4TB),热门数据也很大(800GB),不必要或者不舍得全部买内存来缓存。

3. 谁 适合用Flashcache

数据量不大的话,一般Flashcache就没什么用武之地了,内存就可以帮你解决问题了;

不差钱,买内存呗;

另外Flashcache的加入也使得系统的复杂度增加了一层,如果你坚持KISS原则(Keep it simple, Stupid!),也可以弃用之。

4. 基本原理图 
大小: 48.66 K 尺寸: 500 x 296 浏览: 116 次 点击打开新窗口浏览全图

上图中,Flashcache将普通的SAS盘(/dev/sda)和一个高速的SSD(/dev/sdb)虚拟成一个带缓存的块设备(/dev/mapper/cachedev)。

Facebook 称,Flashcache是其内部开发用于帮助扩展InnoDB/MySQL数据库,但同时Flashcache也是作为一个通用的缓存模块设计的,因此 能用在任何搭建在块设备之上的应用程序。 

对于InnoDB,当工作集不与 InnoDB缓冲池一致,由于更多的工作集缓存在快速的媒介如固态硬盘上,将能显著的改进读取延迟。


利用FlashCache,就可以将MySQL的数据,索引,日志写到FlashCache设备上,并可以将下面参数都特定优化:

日志

1、减少切换次数

innodb_log_file_size=1300m

innodb_log_files_in_group=3

2、独立硬盘

redo log   240G/天

并发线程

innodb_thread_concurrency


IO

innodb_io_capacity

innodb_read_io_threads

innodb_write_io_threads


未定

innodb_change_buffering=none

adaptive_flushing

ssd随机写,不需要顺序化的额外代价


http://www.ppmy.cn/news/560039.html

相关文章

5G加速卡

加速卡概念 加速卡的作用就是为CPU“减负”。 CPU专为顺序串行处理设计,FPGA/GPU的核心专为同时处理多任务而设计。FPGA/GPU包含普通CPU更多的处理单元、更大的带宽,在处理过程中能够发挥更大的效能。 加速卡的工作机理如下: 1)C…

NorFlash的存储原理

NorFlash是E2PROM中的一种,利用特殊的浮栅MOS场效应晶体管进行编程。它是一个 N 沟道增强型的 MOS 管,有 Gf 和 Gc 两个栅极。 Gc 为控制栅,它有引出线。 Gf 栅极没有引出线,而是被包围在二氧化硅中,称之为浮栅&#x…

英飞凌 AURIX TC3XX 系列单片机的 NVM-Flash 功能代码实现

前言 上一篇介绍了 Flash 的一些基本知识,这一篇主要如何进一步封装 illD 库的Flash驱动代码,并进行使用。以 TC37X 为例子,附完整代码实现。 通过封装可以快速上手使用,同时在一定程度上提高 Flash 的使用寿命 接口设计 根据PFlash和DFlash的擦除特性,PFlash擦除后不能…

加速基于flash的嵌入式应用程序

大多数现代嵌入式软件应用程序都是从闪存存储和执行的。闪存为基于微控制器的应用程序提供了一种廉价且快速的存储介质。但这些应用程序通常是实时应用程序,其中执行时间和确定性行为至关重要。虽然闪存速度很快,但不如从RAM执行代码快。为了加快基于fla…

某游戏浏览器Flash加速dll调用,打造我们自己的Flash加速器

前几天有个朋友让我帮忙看看一个叫"HookDll.dll"的dll里面的函数该怎么调用. 他把dll的导出表截图我看了一下: 后来才知道,原来这个hookdll.dll是某游戏浏览器里面的一个文件,而他的主要作用就是用作Flash加速... 看上去貌似挺不错的,如果自己写一个小程序,也可以加速…

flash计算机硬件,实测Flash在硬件加速下的对比

测试平台介绍及测试方法说明: 硬件平台 CPU Intel Core i5 3570K 主板 技嘉 GA-Z77X-UD3H 内存 DDR3 1600 4GB2(8-8-8-24) 硬盘 西部数据1TB 64M SATA3黑盘 电源 LEPA G1600-MA-EU 显卡 NVIDIA GTX560SE Intel HD Graphic 4000 软件平台 操作系统 Windows 7 SP1 64位…

浏览器flash/html5视频播放如何倍速(Enounce MySpeed)

因为某些需要,得使用flash观看一些直播或者回放什么的,但有些视频是没有倍速的,基于此寻求答案。 1.F12控制台修改倍速。我试过了无用--面对flash播放的视频,Q了半天网页代码想着算了算了换吧。 2.使用的谷歌浏览器,HT…

怎样解决部分网站网页中IE9无法播放flash视频的问题--硬件加速功能存在冲突

这个问题困扰了好久! 必须记录一下! 如果flash插件已经是最新版本,加载项显示“已启用”仍无法播放视频,这个问题可能是因为电脑里的显卡驱动与IE9硬件加速功能存在冲突,打开IE9,单击“工具”图标,在单击“…