MySQL InnoDB 之 Buffer Pool

Buffer Pool 是innodb 缓存表数据及索引数据的主要内存空间,允许频繁访问的数据直接通过内存访问。在专用的服务器上,通常把物理内存的80%以上分派给buffer pool。可想而知,Buffer Pool 也是利用内存缓存来提高性能的关键,因此如何合理利用 Buffer Pool 使其更好的体现价值是一个重要的话题。但为了适用各种各样的场景,Innodb 为这些可能的性能影响点都提供了配置项,允许根据具体场景设定对应的参数值以达到最佳的性能效果。

阅读剩余部分...

26
Mar 2020
AUTHOR WiFeng
CATEGORY Web
COMMENTS No Comments

MySQL InnoDB 架构

MySQL  Innodb 架构

  • 1. In-Memory Structures
  • 2. On-Disk Structures


In-Memory Structures

1.Buffer Pool

Buffer Pool 是innodb 缓存表数据及索引数据的主要内存空间,允许频繁访问的数据直接通过内存访问。在专用的服务器上,通常把物理内存的80%以上分派给buffer pool。

为了提高大容量读操作的效率,buffer pool 被分成了可以保存多行(mutiple row)的页(page)。为了缓存的有效管理,buffer pool 以 page 链表(linked list)的形式实现,使用一种类似LRU的实现,最近很少访问的页将从缓存中删除。

了解如何利用 buffer pool 使频繁访问的数据保持内存中,是Mysql 调优很重要的一方面。

阅读剩余部分...

22
Mar 2020
AUTHOR WiFeng
CATEGORY Web
COMMENTS No Comments

秒杀系统设计思路

秒杀特性:

1. 商品个数有限
2. 时间分布集中
3. 流量超级大 

整体方案:

1. 产品策略 

a. 分离核心流程与其他可以延后处理的流程
b. 针对异常情况进行文案引导 

阅读剩余部分...

19
Mar 2020
AUTHOR WiFeng
CATEGORY Web
COMMENTS No Comments