Mysql warm up strategy
TIL
498
Mysql
40
White

huydx viết ngày 06/10/2016

Mysql warm up strategy

Có một cách để scale out mysql server mà thao tác read là chủ yếu là tăng số lượng slave lên. Tuy nhiên khi đưa một slave mới vào thì những query đầu tiên sẽ rất chậm, lý do cơ bản là nếu bạn dùng innodb thì buffer pool sẽ chưa được fill, do đó query sẽ hit chủ yếu vào disk.

Để giải quyết vấn đề này thì cách đơn giản nhất là làm thế nào để buffer pool được fill đầy, nhưng how?

Theo như bài viết này của mình thì InnoDB có cơ chế là cluster index, tức là về cơ bản riêng index đã chứa toàn bộ thông tin của row rồi, thế nên mình làm thế nào để "touch" cái index đó là được.

Để làm thế thì cần 2 step

  • 1. Select toàn bộ primary key của toàn bộ các bảng
select sum(primary_key) from tbl;
  • 2. Select toàn bộ các index liên quan của các bảng đó
select sum(key) from (select key from tbl order by key) as t1;

để làm việc trên một cách tự động thì bạn có thể viết một script để làm thay bạn.
Có người đã viết bằng perl:
https://github.com/Songmu/p5-MySQL-Warmer

huydx 06-10-2016

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

huydx

115 bài viết.
858 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
135 8
Introduction (Link) là một cuộc thi ở Nhật, và cũng chỉ có riêng ở Nhật. Đây là một cuộc thi khá đặc trưng bởi sự thú vị của cách thi của nó, những...
huydx viết hơn 1 năm trước
135 8
White
109 14
Happy programmer là gì nhỉ, chắc ai đọc xong title của bài post này cũng không hiểu ý mình định nói đến là gì :D. Đầu tiên với cá nhân mình thì hap...
huydx viết gần 3 năm trước
109 14
White
86 10
(Ảnh) Mở đầu Chắc nhiều bạn đã nghe đến khái niệm oauth. Về cơ bản thì oauth là một phương thức chứng thực, mà nhờ đó một web service hay một ap...
huydx viết hơn 2 năm trước
86 10
Bài viết liên quan
White
18 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết hơn 1 năm trước
18 1
White
1 1
Chào mọi người, hôm nay mình viết một bài TIL nhỏ về cách lấy độ phân giải của màn hình hiện tại đang sử dụng. xdpyinfo | grep dimensions Kết quả...
namtx viết 7 tháng trước
1 1
White
8 0
Lấy fake path của file trong html input Ngữ cảnh: em cần làm một cái nút tải ảnh lên có preview. GIải pháp đầu: Dùng (Link) đọc file ảnh thành ba...
Hoàng Duy viết gần 2 năm trước
8 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
115 bài viết.
858 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!