Đo hiệu năng trước khi tối ưu bất cứ thứ gì
Một quy trình nhỏ để tìm nút thắt, ghi lại số đo ban đầu và kiểm tra tác động của từng thay đổi.
Chọn một thao tác cụ thể
Cảm giác một trang đang chậm là điểm bắt đầu, nhưng chưa đủ để quyết định sửa gì. Tôi chọn một thao tác có thể lặp lại: mở trang danh sách, tìm kiếm một từ khoá hoặc chuyển sang trang chi tiết.
Sau đó tôi ghi lại thiết bị, điều kiện mạng, lượng dữ liệu và trạng thái cache. Khi những điều kiện này thay đổi giữa hai lần đo, kết quả rất dễ dẫn đến kết luận sai.
Ghi lại số đo ban đầu
Tôi dùng công cụ của trình duyệt để xem yêu cầu mạng và hoạt động trên main thread. Mục tiêu là tìm phần công việc chiếm nhiều thời gian trong chính thao tác đang quan sát.
- Tài liệu HTML trả về lúc nào?
- Ảnh quan trọng có được tải đúng thời điểm không?
- Có tác vụ JavaScript dài làm trì hoãn tương tác không?
- Giao diện có dịch chuyển sau khi nội dung xuất hiện không?
Một bản ghi tốt cần đủ thông tin để người khác thực hiện lại phép đo. Tôi giữ cả dấu vết ban đầu để có thể đối chiếu sau khi sửa.
Thay đổi từng phần
Nếu ảnh đầu trang là nút thắt, tôi thử chỉnh kích thước và cách tải ảnh trước. Nếu thời gian nằm ở xử lý dữ liệu, tôi xem lại phép tính hoặc số lần nó chạy.
Mỗi thay đổi nên đi kèm một giả thuyết và một cách kiểm tra giả thuyết đó.
Tôi đo lại nhiều lần trong cùng điều kiện, so sánh xu hướng và kiểm tra chức năng liên quan. Sau khi triển khai, dữ liệu từ người dùng thực giúp xác nhận kết quả có còn đúng trên những thiết bị và mạng khác nhau hay không.