Khi máy chủ bỗng dưng hoạt động chậm chạp, phản hồi từ website bị trễ (lag), việc đầu tiên mà một quản trị viên cần làm không phải là khởi động lại server, mà là kiểm tra log. Các file log chính là "nhật ký" ghi lại mọi vấn đề đang xảy ra ngầm bên trong hệ thống.
Bài viết này sẽ hướng dẫn bạn quy trình 5 bước để tìm ra nguyên nhân gốc rễ khiến server bị chậm.
1. Quan sát tài nguyên hệ thống theo thời gian thực
Trước khi đọc log, hãy xem tổng quan về CPU, RAM và Load Average bằng các công cụ như htop hoặc top.
# Nếu chưa có htop, hãy cài đặt
sudo apt install htop -y
htop
Lưu ý: Nếu Load Average vượt quá số lượng core CPU của máy chủ, đó là dấu hiệu của việc quá tải xử lý.
2. Phân tích Nginx Error & Access Log
Nginx có thể ghi lại thời gian xử lý của mỗi yêu cầu. Hãy kiểm tra các lỗi 502, 504 hoặc các yêu cầu mất quá nhiều thời gian:
# Xem log lỗi mới nhất
sudo tail -f /var/log/nginx/error.log
# Tìm các yêu cầu chậm trong access log (nếu đã cấu hình log_format)
sudo grep " 504 " /var/log/nginx/access.log
3. Kích hoạt và đọc PHP-FPM Slow Log
Đây là công cụ cực kỳ mạnh mẽ để tìm ra chính xác script PHP nào đang chạy chậm. Hãy mở file cấu hình pool (thường là www.conf):
# Tìm dòng sau và bỏ comment
slowlog = /var/log/php/slow.log
request_slowlog_timeout = 5s # Ghi lại nếu chạy quá 5 giây
Sau đó khởi động lại PHP-FPM và theo dõi file slow.log.
4. Truy tìm "Query tử thần" trong MySQL Slow Query Log
Một câu lệnh SQL thiếu Index có thể làm treo toàn bộ máy chủ. Hãy bật slow query log trong /etc/mysql/my.cnf:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 2
5. Kiểm tra Disk I/O (Nghẽn cổ chai ổ cứng)
Nếu CPU và RAM vẫn thấp nhưng server vẫn lag, có thể do ổ cứng đang bị quá tải (I/O Wait). Hãy sử dụng iotop:
sudo apt install iotop -y
sudo iotop -o # Chỉ hiện các tiến trình đang đọc/ghi thực sự
6. Xem log hệ thống (dmesg & syslog)
Đôi khi nguyên nhân đến từ lỗi phần cứng hoặc xung đột kernel:
sudo dmesg -T | tail -n 50
sudo tail -f /var/log/syslog
Việc phân tích log đúng cách giúp bạn tiết kiệm hàng giờ đồng hồ phán đoán mò mẫm. Hãy luôn bắt đầu từ những dấu hiệu rõ ràng nhất trong log hệ thống trước khi can thiệp vào cấu hình server.
Leave a Comment