Không có lời giải thích rõ ràng trong các BIẾN và TÌNH TRẠNG.
Phân tích TÌNH TRẠNG TOÀN CẦU và BIẾN:
Quan sát:
- Phiên bản: 8.0.20
- 60 GB RAM
- Thời gian hoạt động = 04:49:11; một số giá trị TÌNH TRẠNG TOÀN CẦU có thể chưa có ý nghĩa.
- Bạn đang chạy trên Windows.
- 4,89 Truy vấn/giây : 3,43 Câu hỏi/giây
Các vấn đề quan trọng hơn:
Hầu như không có gì đang xảy ra. Tôi gặp khó khăn khi tưởng tượng rằng MySQL đã gây ra sự cố.
Thấp hơn max_connections
đến 500. (Không có hơn 23 kết nối đồng thời kể từ khi khởi động.)
tmp_table_size = 500M -- nó hiện đang ở mức cao nguy hiểm đối với dung lượng RAM bạn có.
innodb_doublewrite = BẬT
Chi tiết và các quan sát khác:
( innodb_lru_scan_depth * innodb_page_cleaners ) = 1.024 * 4 = 4.096
-- Lượng công việc cho trình dọn dẹp trang mỗi giây.
-- "InnoDB: page_cleaner: mất 1000ms vòng lặp dự kiến..." có thể sửa được bằng cách hạ thấp lru_scan_depth: Cân nhắc 1000 / innodb_page_cleaners (hiện là 4). Cũng kiểm tra trao đổi.
( innodb_lru_scan_depth ) = 1.024
-- "InnoDB: page_cleaner: mất 1000ms vòng lặp dự định..." có thể được khắc phục bằng cách hạ thấp lru_scan_depth
( Innodb_buffer_pool_pages_free * 16384/innodb_buffer_pool_size) = 2.478.311 * 16384/38912M = 99,5%
- vùng đệm miễn phí
-- buffer_pool_size lớn hơn bộ làm việc; có thể giảm nó
( innodb_io_ capacity ) = 200
-- Khi tuôn ra, hãy sử dụng nhiều IOP này.
-- Số lần đọc có thể chậm chạp hoặc đột ngột.
( Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total ) = 2.478.311/2490368 = 99,5%
-- Pct của buffer_pool hiện không được sử dụng
-- innodb_buffer_pool_size (hiện tại là 40802189312) có lớn hơn mức cần thiết không?
( innodb_io_ capacity_max / innodb_io_ capacity ) = 2.000/200 = 10
-- Công suất: max/đồng bằng
-- Đề xuất 2. Giá trị tối đa phải tương đương với IOP mà hệ thống con I/O của bạn có thể xử lý. (Nếu loại ổ đĩa không xác định thì 2000/200 có thể là một cặp hợp lý.)
( Innodb_buffer_pool_bytes_data / innodb_buffer_pool_size ) = 196.214.784/38912M = 0,48%
-- Phần trăm vùng đệm được sử dụng bởi dữ liệu
-- Một phần trăm nhỏ có thể chỉ ra rằng buffer_pool lớn không cần thiết.
( innodb_doublewrite ) = innodb_doublewrite = TẮT
-- Thêm I/O, nhưng thêm an toàn khi va chạm.
-- TẮT là được đối với FusionIO, Galera, Bản sao, ZFS.
( Innodb_os_log_write / (Thời gian hoạt động / 3600) / innodb_log_files_in_group / innodb_log_file_size ) = 3.944.448 / (17351 / 3600) / 2 / 48M = 0,00813
-- Tỉ lệ
-- (xem phút)
( Thời gian hoạt động / 60 * innodb_log_file_size / Innodb_os_log_write ) = 17.351/60 * 48M / 3944448 = 3.690
-- Số phút giữa các lần quay nhật ký InnoDB Bắt đầu với 5.6.8, điều này có thể được thay đổi linh hoạt; hãy chắc chắn cũng thay đổi my.cnf.
-- (Khuyến nghị 60 phút giữa các lần quay là tùy ý.) Điều chỉnh innodb_log_file_size (hiện tại là 50331648). (Không thể thay đổi trong AWS.)
( innodb_flush_method ) = innodb_flush_method = không có bộ đệm
-- Cách InnoDB nên yêu cầu hệ điều hành viết các khối. Đề xuất O_DIRECT hoặc O_ALL_DIRECT (Percona) để tránh đệm đôi. (Ít nhất là cho Unix.) Xem chrischandler để biết trước về O_ALL_DIRECT
( innodb_io_ capacity ) = 200
- I/O ops mỗi giây có khả năng trên đĩa. 100 cho ổ đĩa chậm; 200 đối với ổ quay; 1000-2000 cho SSD; nhân với hệ số RAID.
( innodb_adaptive_hash_index ) = innodb_adaptive_hash_index = BẬT
-- Thông thường nên BẬT.
-- Có những trường hợp TẮT tốt hơn. Xem thêm innodb_adaptive_hash_index_parts (hiện là 8) (sau 5.7.9) và innodb_adaptive_hash_index_partitions (MariaDB và Percona). BẬT có liên quan đến các sự cố hiếm gặp (lỗi 73890). 10.5.0 đã quyết định TẮT mặc định.
( innodb_print_all_deadlocks ) = innodb_print_all_deadlocks = TẮT
-- Có đăng nhập tất cả các Bế tắc hay không.
-- Nếu bạn đang mắc kẹt với Bế tắc, hãy bật tính năng này lên. Thận trọng: Nếu bạn có nhiều bế tắc, điều này có thể ghi rất nhiều vào đĩa.
( max_connections ) = 2.000
-- Số lượng kết nối (luồng) tối đa. Tác động phân bổ khác nhau.
-- Nếu max_connections (hiện là 2000) quá cao và nhiều cài đặt bộ nhớ khác nhau cao, bạn có thể hết RAM.
( số lượng lớn_insert_buffer_size ) = 8/61440M = 0,01%
-- Bộ đệm cho INSERT nhiều hàng và LOAD DATA
-- Quá lớn có thể ảnh hưởng đến dung lượng RAM. Quá nhỏ có thể cản trở các hoạt động như vậy.
( tmp_table_size ) = 4096M
-- Giới hạn về kích thước của KỈ NIỆM các bảng tạm thời được sử dụng để hỗ trợ CHỌN
-- Giảm tmp_table_size (bây giờ là 4294967296) để tránh hết RAM. Có lẽ không quá 64M.
( Select_full_join / Com_select ) = 15.198 / 31082 = 48,9%
-- % trong số các lựa chọn là liên kết không có chỉ mục
-- Thêm (các) chỉ mục phù hợp vào các bảng được sử dụng trong THAM GIA.
( Com_admin_commands / Truy vấn ) = 25.348 / 84808 = 29,9%
-- Phần trăm truy vấn là lệnh "quản trị viên".
-- Có chuyện gì vậy?
( long_query_time ) = 10
-- Ngưỡng (Giây) để xác định truy vấn "chậm".
-- Đề nghị 2
( log_slow_slave_statements ) = log_slow_slave_statements = TẮT
-- (5.6.11, 5.7.1) Theo mặc định, các câu lệnh sao chép sẽ không hiển thị trong nhật ký chậm; điều này khiến chúng lộ ra.
-- Có thể hữu ích trong quá trình ghi chậm để xem các bản ghi có thể cản trở việc đọc Bản sao.
( back_log ) = 80
-- (Được tự động hóa kể từ 5.6.6; dựa trên max_connections)
-- Nâng lên mức tối thiểu(150, max_connections (now 2000)) có thể hữu ích khi thực hiện nhiều kết nối.
( Max_used_connections / max_connections ) = 23/2000 = 1,1%
-- Đỉnh % kết nối
-- Vì một số yếu tố bộ nhớ có thể mở rộng dựa trên max_connections (hiện tại là 2000), nên không nên đặt cài đặt đó quá cao.
( Com_change_db/Kết nối) = 25.413/311 = 81,7
-- Công tắc cơ sở dữ liệu trên mỗi kết nối
-- (phụ) Cân nhắc sử dụng cú pháp "db.table"
( Aborted_connects / Kết nối ) = 227/311 = 73,0%
-- Có lẽ một hacker đang cố gắng đột nhập? (Cố gắng kết nối)
Nhỏ bất thường:
10 * read_buffer_size = 0,6 MB
Com_insert = 4,4 /HR
Handler_read_next = 16 /giây
Innodb_buffer_pool_reads * innodb_page_size / innodb_buffer_pool_size = 0,47%
Innodb_dblwr_pages_write = 0
Innodb_rows_updated = 0,62 /HR
back_log / max_connections = 4,0%
innodb_doublewrite_files = 0
innodb_doublewrite_pages = 0
Lớn bất thường:
Com_create_db = 0,21 / nhân sự
Com_create_table = 92 /HR
Com_show_charsets = 1,7 /HR
Com_show_plugins = 0,41 /HR
Com_show_storage_engines = 0,41 /HR
Innodb_buffer_pool_pages_free = 2,48e+6
Innodb_system_rows_deleted = 0,1 /giây
Innodb_system_rows_inserted = 0,1 /giây
Innodb_system_rows_updated = 0,32 /giây
Ssl_accepts = 304
Ssl_default_timeout = 7.200
Ssl_finished_accepts = 304
Ssl_session_cache_hits = 290
Ssl_session_cache_timeouts = 5
Ssl_verify_depth = 4,29e+9
Ssl_verify_mode = 5
gtid_executed_compression_period = 0,058 /giây
innodb_thread_concurrency = 21
max_error_count = 1,024
max_length_for_sort_data = 4,096
trình tối ưu hóa_trace_offset = --1
performance_schema_max_cond_classes = 100
performance_schema_max_mutex_classes = 300
performance_schema_max_rwlock_classes = 60
performance_schema_max_stage_classes = 175
performance_schema_max_statement_classes = 218
performance_schema_max_thread_classes = 100
Chuỗi bất thường:
event_scheduler = BẬT
ft_boolean_syntax = + -><()~*:\"\"&
have_query_cache = KHÔNG
innodb_fast_shutdown = 1
innodb_temp_tablespaces_dir = .\#innodb_temp\
Lower_case_file_system = BẬT
Lower_case_table_names = 1
mysqlx_compression_algorithms = DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM
Optimizer_trace = đã bật=tắt,one_line=tắt
trình tối ưu hóa_trace_features = tham lam_search=bật, phạm vi_optimizer=bật, dynamic_range=bật, lặp đi lặp lại_subselect=bật
protocol_compression_algorithms = zlib,zstd,không nén
Slave_rows_search_algorithms = INDEX_SCAN,HASH_SCAN