Để bạn tham khảo tôi cũng đang cố gắng giải thích một số khái niệm.
Tỷ lệ trúng phím
Về cơ bản có hai hình thức tỷ lệ trúng phím
1. Đọc hiệu quả
Key Reads: Số lần đọc vật lý của một khối khóa từ đĩa.
Yêu cầu đọc khóa: Số lượng yêu cầu đọc một khối khóa từ bộ đệm.
Key Read Efficiency = [1 - (Key_reads/Key_read_requests)]*100
Hiệu quả đọc khóa: Tỷ lệ số lần đọc vật lý của một khối khóa từ bộ đệm đến số lượng yêu cầu để đọc một khối khóa từ bộ đệm theo tỷ lệ phần trăm. Hiệu suất MySQL là tốt nếu giá trị của Hiệu quả đọc chính là 90 phần trăm trở lên. Việc tăng kích thước của bộ đệm sẽ cải thiện giá trị của Hiệu suất đọc chính và do đó cải thiện hiệu suất.
2.Key Viết hiệu quả
Key Writes: Số lần ghi vật lý của một khối khóa vào đĩa.
Yêu cầu ghi khóa: Số lượng yêu cầu ghi một khối khóa vào bộ đệm.
Key Write Efficiency=(Key_write/Key_write_requests)*100
Hiệu quả ghi khóa: Tỷ lệ số lần ghi vật lý của một khối khóa với bộ đệm so với số lượng yêu cầu để ghi một khối khóa vào bộ đệm theo tỷ lệ phần trăm. Để có hiệu suất tốt của máy chủ MySQL, giá trị của Hiệu suất ghi khóa phải từ 90 phần trăm trở lên. Nếu nó được tìm thấy ít hơn, thì bạn có thể tăng kích thước của bộ đệm để cải thiện hiệu suất.
Bộ đệm chính được sử dụng
Tìm giá trị của key_buffer_size là show variables like 'key_buffer_size';
chuyển đổi nó thành MB.
Tìm Kích thước chỉ mục Tất cả MyISAM:
CHỌN SUM (INDEX_LENGTH) / (1024 * 1024) 'Kích thước chỉ mục' TỪ information_schema.TABLES trong đó Engine = 'MyISAM' VÀ TABLE_SCHema KHÔNG IN ('mysql', 'information_schema');
Tìm thấy
(Index Size)/key_buffer_size(in MB) * 100
nếu kết quả là (<= 100) thì tất cả các chỉ mục của bạn sẽ được lưu vào key_buffer
nếu kết quả là (> 100) thì tất cả các chỉ mục của bạn không được lưu vào bộ đệm_buffer, bạn có thể tăng hiệu suất bằng cách tăng key_buffer_size.
truy vấn bộ nhớ cache
Tỷ lệ trúng = Qcache_hits / (Qcache_hits + Com_select) * 100
Chèn tỷ lệ = Qcache_inserts / (Qcache_hits + Com_select) * 100
Tỷ lệ prune = (Qcache_lowmem_prunes / Qcache_inserts) * 100