Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

NVDIMM Caching for MySQL 5.7

License

NotificationsYou must be signed in to change notification settings

FlashSQL/mysql-nvdimm-caching

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimize MySQL/InnoDB using NVDIMM

Publication

  • Mijin An, Jonghyeok Park, Tianzheng Wang, Beomseok Nam, and Sang-Won Lee, "NV-SQL: Boosting OLTP Performance with Non-Volatile DIMMs", VLDB'23
  • Publication Link

Build and install

  1. Clone the source code:
$ git clone https://github.com/meeeejin/mysql-57-nvdimm-caching.git
  1. Modify thePASSWD value in the build script:
$ vi build.sh#!/bin/bashBASE_DIR=`pwd -P`BUILD_DIR=$BASE_DIR/bldPASSWD="sudo-passwd"...
  1. Run the script file:
$ ./build.sh

The above command will compile and build the source code with the default option (i.e., caching new-orders and order-line pages). The available options are:

OptionDescription
--originNo caching (Vanilla version)
--origin-monitorNo caching but monitoring the flush status
--ncCaching New-Orders and Order-Line pages (default)
--nc-stCaching New-Orders, Order-Line and Stock pages
--nc-st-odCaching New-Orders, Order-Line, Stock and Orders pages
--mtrCaching New-Orders, Order-Line, Stock and Orders pages with mtr logging enabled

If you want the vanilla version, you can run the script as follows:

$ ./build.sh --origin

Run

  1. Add the following three server variables to themy.cnf file:
System VariableDescription
innodb_use_nvdimm_bufferSpecifies whether to use NVDIMM cache.true orfalse.
innodb_nvdimm_buffer_pool_sizeThe size in bytes of the NVDIMM cache. The default value is 2GB.
innodb_nvdimm_buffer_pool_instancesThe number of regions that the NVDIMM cache is divided into. The default value is 1.
innodb_nvdimm_pc_threshold_pctWakeup the NVDIMM page cleaner when this % of free pages remaining. The default value is 5.
innodb_nvdimm_home_dirNVDIMM-aware files resident directory

For example:

$ vi my.cnf...innodb_use_nvdimm_buffer=trueinnodb_nvdimm_buffer_pool_size=2Ginnodb_nvdimm_buffer_pool_instances=1innodb_nvdimm_pc_threshold_pct=5innodb_nvdimm_home_dir=/mnt/pmem...
  1. Run the MySQL server:
$ ./bld/bin/mysqld --defaults-file=my.cnf

About

NVDIMM Caching for MySQL 5.7

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++53.6%
  • C21.8%
  • JavaScript14.5%
  • Java3.0%
  • CSS1.8%
  • Perl1.0%
  • Other4.3%

[8]ページ先頭

©2009-2025 Movatter.jp