Điểm:0

Vấn đề hiệu suất MySQL do bộ nhớ đệm

lá cờ cn
perl mysqltuner.pl --host 127.0.0.1

[-] Đã bỏ qua kiểm tra phiên bản cho tập lệnh MySQLTuner
[--] Thực hiện kiểm tra trên 127.0.0.1:3306
[!!] Đã xác thực thành công mà không cần mật khẩu - RỦI RO BẢO MẬT!
[!!] không thực thi được: HIỂN THỊ TÌNH TRẠNG NÔ LỆ\G
[!!] FAIL Thực thi SQL / mã trả về: 256
[!!] không thực thi được: SHOW SLAVE HOSTS\G
[!!] FAIL Thực thi SQL / mã trả về: 256
[OK] Hiện đang chạy phiên bản MySQL được hỗ trợ 10.4.17-MariaDB
[OK] Hoạt động trên kiến ​​trúc 64-bit
 
-------- Thống kê công cụ lưu trữ ---------------------------------------- --------------------------
[--] Trạng thái: +Aria +CSV +InnoDB +MEMORY +MRG_MyISAM +MyISAM +PERFORMANCE_SCHEMA +SEQUENCE 
[!!] InnoDB được bật nhưng không được sử dụng
[OK] Tổng số bảng bị phân mảnh: 0
 
-------- Số liệu hiệu suất phân tích ---------------------------------------- -----------------------
[-] innodb_stats_on_metadata: TẮT
[OK] Không có cập nhật thống kê nào trong khi truy vấn INFORMATION_SCHEMA.
 
-------- Khuyến nghị bảo mật ---------------------------------------- --------------------------
[-] Bị bỏ qua do không có cột xác thực nào tồn tại
 
-------- Khuyến nghị bảo mật CVE ---------------------------------------- -----------------------
[!!] CVE-2021-27928(<= 10.4.17) : "Đã phát hiện sự cố thực thi mã từ xa trong MariaDB 10.2 trước 10.2.37
[!!] Đã tìm thấy 1 CVE cho bản phát hành MySQL của bạn.
 
-------- Số liệu hiệu suất ---------------------------------------- -------------------------------
[--] Lên cho: 2d 20h 44m 2s (48K q [0,196 qps], 384 kết nối, TX: 885M, RX: 18M)
[--] Đọc/Ghi: 99%/1%
[-] Ghi nhật ký nhị phân bị vô hiệu hóa
[-] Bộ nhớ vật lý: 1,8G
[-] Bộ nhớ MySQL tối đa: 46,5G
[-] Bộ nhớ tiến trình khác: 0B
[--] Tổng bộ đệm: 8,3G toàn cầu + 258,9M mỗi luồng (tối đa 151 luồng)
[-] P_S Mức sử dụng bộ nhớ tối đa: 0B
[-] Galera GCache Mức sử dụng bộ nhớ tối đa: 0B
[!!] Mức sử dụng bộ nhớ tối đa đạt được: 11,3G (617,92% RAM đã cài đặt)
[!!] Mức sử dụng bộ nhớ tối đa có thể: 46,5G (2537,09% RAM đã cài đặt)
[!!] Tổng mức sử dụng bộ nhớ có thể có với quá trình khác vượt quá bộ nhớ
[OK] Truy vấn chậm: 0% (0/48K)
[OK] Mức sử dụng cao nhất của các kết nối khả dụng: 7% (151/12)
[OK] Kết nối bị hủy: 1,30% (5/384)
[!!] độ phân giải tên đang hoạt động : độ phân giải tên đảo ngược được thực hiện cho mỗi kết nối mới và có thể làm giảm hiệu suất
[!!] Bộ đệm truy vấn có thể bị tắt theo mặc định do tranh chấp về mutex.
[!!] Hiệu suất bộ nhớ cache truy vấn: 19,8% (11K bộ nhớ cache / 56K lựa chọn)
[!!] Số lượng bộ đệm truy vấn bị cắt mỗi ngày: 7584
[OK] Sắp xếp yêu cầu bảng tạm thời: 0% (1 loại tạm thời / 9K loại)
[OK] Không tham gia mà không có chỉ mục
[OK] Bảng tạm thời được tạo trên đĩa: 14% (1K trên đĩa / tổng cộng 10K)
[OK] Tỷ lệ trúng bộ nhớ cache của chủ đề: 80% (73 đã tạo / 384 kết nối)
[OK] Tỷ lệ truy cập vào bộ nhớ cache của bảng: 99% (74 nghìn lần truy cập / 74 nghìn yêu cầu)
[OK] table_definition_cache(400) cao hơn số bảng(77)
[OK] Mở giới hạn tệp được sử dụng: 0% (48/32K)
[OK] Khóa bảng có được ngay lập tức: 99% (5K ngay lập tức / 5K khóa)
 
-------- Lược đồ hiệu suất ---------------------------------------- --------------------------------
[-] Lược đồ hiệu suất bị tắt.
[--] Bộ nhớ được sử dụng bởi P_S: 0B
[-] Lược đồ hệ thống chưa được cài đặt.
 
-------- Số liệu ThreadPool ---------------------------------------- --------------------------------
[-] Chỉ số ThreadPool được bật.
[--] Kích thước nhóm luồng: 1 luồng.
[--] Sử dụng giá trị mặc định là đủ tốt cho phiên bản của bạn (10.4.17-MariaDB)
 
-------- Số liệu MyISAM ---------------------------------------- ------------------------------------
[!!] Bộ đệm khóa đã sử dụng: 18,2% (24M đã sử dụng / 134M bộ đệm)
[OK] Kích thước bộ đệm khóa / tổng số chỉ mục MyISAM: 128,0M/0B
 
-------- Số liệu InnoDB ---------------------------------------- ------------------------------------
[-] InnoDB đã được bật.
[!!] Không có bảng nào là Innodb
[-] Đồng thời chủ đề InnoDB: 0
[OK] Tệp InnoDB trên mỗi bảng được kích hoạt
[OK] Kích thước dữ liệu/nhóm bộ đệm InnoDB: 8.0G/0B
[!!] Tỷ lệ Kích thước tệp nhật ký InnoDB / Kích thước nhóm bộ đệm InnoDB (1,171875 %): 48,0M * 2/8,0G phải bằng 25%
[OK] Phiên bản nhóm bộ đệm InnoDB: 8
[-] Số lượng khối nhóm bộ đệm InnoDB: 64 cho 8 (các) trường hợp nhóm bộ đệm
[OK] Innodb_buffer_pool_size được căn chỉnh với Innodb_buffer_pool_chunk_size & Innodb_buffer_pool_instances
[OK] InnoDB Hiệu suất bộ đệm đọc: 100,00% (609465732 lần truy cập/tổng ​​cộng 609485088)
[!!] Hiệu suất Nhật ký ghi của InnoDB: 88,45% (3109 lần truy cập/ tổng số 3515)
[OK] Nhật ký InnoDB chờ: 0,00% (0 chờ / 406 ghi)
 
-------- Số liệu Aria ---------------------------------------- --------------------------------------
[-] Công cụ lưu trữ Aria được bật.
[OK] Kích thước bộ đệm trang Aria / tổng số chỉ mục Aria: 128,0M/0B
[!!] Tỷ lệ truy cập bộ đệm trang Aria: 94,9% (28K bộ nhớ cache / 1K lượt đọc)
 
-------- Số liệu TokuDB ---------------------------------------- ------------------------------------
[-] TokuDB bị vô hiệu hóa.
 
-------- Số liệu XtraDB ---------------------------------------- ------------------------------------
[-] XtraDB bị tắt.
 
-------- Số liệu Galera ---------------------------------------- ------------------------------------
[-] Galera bị tắt.
 
-------- Số liệu sao chép ---------------------------------------- -------------------------------
[-] Galera Sao chép đồng bộ: KHÔNG
[-] Không có (các) nô lệ sao chép nào cho máy chủ này.
[-] Định dạng Binlog: HỖN HỢP
[-] Đã bật hỗ trợ XA: BẬT
[--] Sao chép bán đồng bộ Master: TẮT
[-] Slave sao chép bán đồng bộ: TẮT
[-] Đây là một máy chủ độc lập

Một trong những máy chủ sản xuất của chúng tôi có một số vấn đề về hiệu suất, tôi nhận thấy rằng nó chủ yếu liên quan đến MySQL và sau khi chạy MySQLTuner, tôi đã tìm thấy một vài điều thú vị. Đáng ngạc nhiên là không có tham gia nào mà không có chỉ mục, vì vậy tôi không nghĩ mình có thể làm được gì nhiều và có vẻ như là do bộ nhớ đệm và tôi biết chúng tôi đang sử dụng W3T Total Cache, nhưng tôi không thấy bất kỳ cấu hình nào ngoại trừ cấu hình chung trong bảng điều khiển quản trị WP, vì vậy tôi tự hỏi liệu có cách nào để tôi có thể lưu vào bộ đệm nhiều truy vấn hơn không, vì dường như chỉ có 20% trong số chúng được lưu vào bộ đệm vì một số lý do. Và số lần cắt bộ đệm truy vấn quá cao, vì vậy tôi tự hỏi liệu tôi có hiểu đúng các số liệu đó không và tôi có thể cắt bớt chúng mỗi ngày để có thể bộ nhớ cache ít nhất 40%. Ngoài ra, tôi nghĩ việc tăng RAM có thể giúp ích cho máy chủ của chúng tôi, nhưng đó gần như là một vấn đề khác.

Đây dường như là có liên quan nhất:

[!!] Mức sử dụng bộ nhớ tối đa đạt được: 11,3G (617,92% RAM đã cài đặt)
[!!] Mức sử dụng bộ nhớ tối đa có thể: 46,5G (2537,09% RAM đã cài đặt)
[!!] Tổng mức sử dụng bộ nhớ có thể có với quá trình khác vượt quá bộ nhớ
[!!] độ phân giải tên đang hoạt động : độ phân giải tên đảo ngược được thực hiện cho mỗi kết nối mới và có thể làm giảm hiệu suất
[!!] Bộ đệm truy vấn có thể bị tắt theo mặc định do tranh chấp về mutex.
[!!] Hiệu suất bộ nhớ cache truy vấn: 19,8% (11K bộ nhớ cache / 56K lựa chọn)
[!!] Số lượng bộ đệm truy vấn bị cắt mỗi ngày: 7584
Điểm:0
lá cờ ua

tôi nghi ngờ rằng tráo đổi là vấn đề thực sự. Bạn có RAM quá mức cam kết. Dưới đây là những điều nhảy ra khỏi tôi:

Bộ nhớ vật lý: 1.8G
Vùng đệm InnoDB/kích thước dữ liệu: 8.0G/0B
Mức sử dụng cao nhất của các kết nối có sẵn: 7% (12/151)

Sau khi chuyển sang InnoDB và tắt QC (như Tero khuyến nghị), hãy lưu ý rằng RAM của bạn quá nhỏ so với mức cho phép innodb_buffer_pool_size.

Cụ thể hơn, hãy thực hiện các thay đổi cấu hình này:

innodb_buffer_pool_size = 500M
max_connections = 30
query_cache_type = 0
truy vấn_cache_size = 0
key_buffer_size = 24M

Nếu bạn vẫn gặp sự cố sau khi thực hiện những thay đổi đó, hãy bắt đầu một câu hỏi mới trong dba.stackexchange.com; nó là một diễn đàn tốt hơn cho cấu hình MySQL/MariaDB.

Điểm:0
lá cờ us

All your tables seem to be MyISAM tables. It is recommended that all table set up as InnoDB tables nowadays.

MySQL query cache is a deprecated feature due to various issues, therefore it is best to disable it.

After changing all tables to InnoDB, run MySQLTuner again and adjust InnoDB buffer pool according to its recommendations.

You must also upgrade your MySQL server, since your version has an open vulnerability.

Michael Hampton avatar
lá cờ cz
Đó là MariaDB chứ không phải MySQL; có gì sai khi sử dụng AriaDB, TokuDB hoặc XtraDB?
lá cờ us
Rất có thể không có gì ngoại trừ kiến ​​thức chưa đầy đủ của tôi về tình trạng nghệ thuật hiện tại :) Cảm ơn vì đã đề cập đến những điều này, chúng trông thật thú vị.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.