Xem lại các truy vấn MySQL chậm
Bạn đã bật ghi nhật ký truy vấn chậm và bây giờ có một nhật ký để xem lại. Nếu bạn chưa bật ghi nhật ký, bạn có thể tìm thấy các bước ở đây .Phân tích nhật ký
Vị trí nhật ký:/var/log/slow-queries.log
# Thời gian: 210905 6:33:11 # Người dùng @ Máy chủ lưu trữ: dbuser [dbname] @ tên máy chủ lưu trữ [1.2.3.4] # Query_time: 12.116250 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 201565 use dbname; ĐẶT dấu thời gian = 1409898791; ... CHẬM QUERY Ở ĐÂY ...
Nhật ký có thể khiến bạn choáng ngợp khi có hàng chục, nếu không muốn nói là hàng trăm mục nhập ở định dạng trên. Để làm cho nhật ký dễ đọc hơn, hãy sử dụng mysqldumpslow để phân tích cú pháp nhật ký.
mysqldumpslow -r -a /var/log/mysql/mysqld.slow.logKết quả đầu ra sẽ chứa các thông tin quan trọng như thời gian , hàng và truy vấn .
Đếm: 2 Thời gian = 20,54 giây (41 giây) Khóa = 0,02 giây (0 giây) Hàng = 12547802 (0), dbuser [dbuser] @localhost CHỌN * TỪ db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Đếm: 1 Thời gian = 21,74 giây (21 giây) Khóa = 0,01 giây (0 giây) Hàng = 12547802 (0), dbuser [dbuser] @localhost CHỌN * TỪ db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Đếm: 1 Thời gian = 23,86s (23s) Lock = 0,20s (0s) Hàng = 12547802 (0), dbuser [dbuser] @localhost CHỌN * TỪ db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2
Nhìn vào ví dụ trên, chúng tôi có 1 truy vấn mất 20-24 giây để chạy. Điều này gây ra các vấn đề với trang web của bạn, từ thời gian tải chậm đến lỗi thời gian chờ (quay liên tục). Truy vấn đang kiểm tra 12,547,802 hàng. Một truy vấn lớn (ví dụ. Select *) chạy trên một bảng có hơn 12 triệu hàng sẽ có thể dẫn đến trải nghiệm người dùng kém. Tối ưu hóa truy vấn (ví dụ: chọn "bàn cà phê") hoặc giảm các hàng được kiểm tra (ví dụ: lưu trữ dữ liệu cũ) sẽ tăng tốc truy vấn.
Nếu tập tin nhật ký lớn, hãy chạy mysqldumpslow và lưu kết quả đầu ra vào một tập tin. Điều này sẽ giúp bạn xem lại dễ dàng hơn với các công cụ thao tác tập tin khác như grep hoặc find .
mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed
Các bước tiếp theo
Sau khi xem lại nhật ký truy vấn chậm, bạn nên biết rõ về các truy vấn có vấn đề cần được sửa. Nếu trang của bạn vẫn chạy chậm với MySQL sử dụng tài nguyên cao, bạn có thể cần tối ưu hóa MySQL để sử dụng tốt hơn tài nguyên của máy chủ.
Sau khi bạn hoàn thành nhật ký, hãy nhớ tắt ghi nhật ký truy vấn chậm của MySQL . Việc bật tính năng ghi nhật ký sẽ làm tiêu hao tài nguyên MySQL một cách không cần thiết và có khả năng làm đầy đĩa của bạn (với các truy vấn không hợp lệ).
Xem thêm thông tin
Các chuyên gia máy chủ của chúng tôi có thể thực hiện các bước này với một khoản phí. Để tìm hiểu thêm về các dịch vụ lưu trữ mà GoDaddy cung cấp, hãy xem
Menu Dịch vụ lưu trữ .