Có nhiều yếu tố góp phần vào hiệu suất của trang web. Điểm hiệu suất của Lighthouse có xu hướng thay đổi do sự thay đổi vốn có trong công nghệ web và mạng, ngay cả khi không có thay đổi nào đối với trang.
Nguồn gây ra sự thay đổi
Sự thay đổi trong hoạt động đo lường hiệu suất được đưa ra thông qua một số kênh có các mức độ tác động khác nhau. Dưới đây là bảng chứa một số nguồn biến động chỉ số phổ biến, tác động điển hình của các chỉ số đó đối với kết quả và mức độ biến động của chỉ số có khả năng xảy ra trong nhiều môi trường.
Nguồn | Mức độ tác động | Người dùng cuối thông thường | PageSpeed Insights | Phòng thí nghiệm có kiểm soát |
---|---|---|---|---|
Tính không xác định của trang | Cao | CÓ THỂ | CÓ THỂ | CÓ THỂ |
Sự thay đổi mạng cục bộ | Cao | CÓ THỂ | KHUYẾN KHÍCH | KHUYẾN KHÍCH |
Sự thay đổi của mạng Cấp 1 | Phương tiện | CÓ THỂ | CÓ THỂ | CÓ THỂ |
Sự thay đổi của máy chủ web | Kém | CÓ THỂ | CÓ THỂ | CÓ THỂ |
Sự thay đổi phần cứng ứng dụng | Cao | CÓ THỂ | KHUYẾN KHÍCH | KHUYẾN KHÍCH |
Tranh chấp tài nguyên ứng dụng | Cao | CÓ THỂ | CÓ THỂ | KHUYẾN KHÍCH |
Chủ nghĩa không định nghĩa của trình duyệt | Phương tiện | NHẤT ĐỊNH | NHẤT ĐỊNH | NHẤT ĐỊNH |
Dưới đây là nội dung mô tả chi tiết hơn về các nguồn phương sai và tác động của những nguồn này đến các tổ hợp có nhiều khả năng nhất giữa thời gian chạy và môi trường Lighthouse. Mặc dù bạn có thể sử dụng các phương pháp điều tiết và điều tiết mô phỏng đã áp dụng trong bất kỳ môi trường nào trong số 3 môi trường này, nhưng người dùng cuối thông thường sẽ sử dụng chế độ điều tiết mô phỏng.
Thuyết không định nghĩa của trang
Trang có thể chứa logic không xác định và thay đổi cách người dùng trải nghiệm một trang, tức là thử nghiệm A/B thay đổi bố cục và thành phần đã tải hoặc một trải nghiệm quảng cáo khác dựa trên tiến trình của chiến dịch. Đây là nguồn phương sai có chủ ý và không thể xoá bỏ. Nếu trang thay đổi theo cách làm ảnh hưởng đến hiệu suất, thì Lighthouse có thể xác định trường hợp này. Giải pháp duy nhất ở đây là chủ sở hữu trang web đảm bảo rằng cùng một phiên bản trang đang được kiểm thử giữa các lần chạy.
Sự khác biệt về mạng cục bộ
Mạng cục bộ vốn có nhiều biến đổi từ việc mất gói dữ liệu, mức độ ưu tiên thay đổi về lưu lượng truy cập và tình trạng nghẽn mạng chặng cuối. Những người dùng có bộ định tuyến giá rẻ và nhiều thiết bị dùng chung băng thông hạn chế thường dễ bị ảnh hưởng nhất. Chế độ điều tiết đã áp dụng sẽ giảm thiểu một phần những tác động này bằng cách áp dụng độ trễ yêu cầu tối thiểu và thông lượng tối đa để che đi các lần thử lại cơ bản. Chế độ điều tiết mô phỏng sẽ giảm thiểu những tác động này bằng cách tự phát lại hoạt động mạng.
Sự thay đổi về mạng cấp 1
Việc kết nối mạng thường rất ổn định và ít ảnh hưởng đến nhau, nhưng các yêu cầu giữa các vị trí địa lý, tức là đo lường hiệu suất của một trang web Trung Quốc tại Hoa Kỳ, có thể bắt đầu có độ trễ cao do các bước nhảy mạng cấp 1 gây ra. Đã áp dụng chế độ điều tiết che giấu một phần các hiệu ứng này bằng tính năng hạn chế băng thông mạng. Chế độ điều tiết mô phỏng sẽ giảm thiểu những tác động này bằng cách tự phát lại hoạt động mạng.
Sự thay đổi của máy chủ web
Máy chủ web có khả năng tải thay đổi và không phải lúc nào cũng phản hồi với cùng một độ trễ. Các trang web có lưu lượng truy cập thấp và có cơ sở hạ tầng lưu trữ dùng chung thường dễ gặp vấn đề này. Chế độ điều tiết đã áp dụng giúp che đi một phần những tác động này bằng cách áp dụng độ trễ yêu cầu tối thiểu trong tính năng hạn chế băng thông mạng. Tính năng điều tiết mô phỏng dễ bị ảnh hưởng bởi tác động này, nhưng tác động tổng thể thường thấp khi so sánh với sự biến đổi khác của mạng.
Sự thay đổi của phần cứng ứng dụng
Phần cứng mà trang web đang tải có thể ảnh hưởng lớn đến hiệu suất. Chế độ điều tiết đã áp dụng không thể giúp bạn giảm thiểu vấn đề này. Tính năng mô phỏng điều tiết giúp giảm thiểu một phần vấn đề này bằng cách giới hạn thời gian thực thi lý thuyết của các tác vụ CPU trong quá trình mô phỏng.
Nội dung về tài nguyên ứng dụng
Các ứng dụng khác chạy trên cùng một máy trong khi Lighthouse đang chạy có thể gây tranh chấp về CPU, bộ nhớ và tài nguyên mạng. Phần mềm độc hại, tiện ích của trình duyệt và phần mềm diệt vi-rút có tác động đặc biệt mạnh đến hiệu suất web. Các môi trường máy chủ nhiều khách hàng (chẳng hạn như Travis, AWS, v.v.) cũng có thể gặp phải những vấn đề này. Việc chạy nhiều thực thể của Lighthouse cùng một lúc cũng thường làm sai lệch kết quả do vấn đề này. Chế độ điều tiết đã áp dụng dễ gặp vấn đề này. Chế độ điều tiết mô phỏng giúp giảm thiểu một phần vấn đề này bằng cách tự phát lại hoạt động mạng và giới hạn quá trình thực thi bằng CPU.
Chủ nghĩa không xác định của trình duyệt
Các trình duyệt vốn có sự thay đổi trong việc thực thi các tác vụ tác động đến cách tải trang web. Điều này là không thể tránh khỏi đối với tính năng điều tiết được áp dụng vì vào cuối ngày, chúng chỉ đơn giản là báo cáo bất cứ điều gì mà trình duyệt quan sát được. Chế độ điều tiết mô phỏng có thể giảm thiểu một phần tác động này bằng cách tự mô phỏng quá trình thực thi, chỉ sử dụng lại thời gian thực thi tác vụ từ trình duyệt theo thông tin ước tính của trình duyệt.
Tác động của các chiến lược điều tiết
Dưới đây là bảng chứa một số nguồn biến đổi chỉ số phổ biến, tác động điển hình của chúng đối với kết quả và mức độ mà các chiến lược điều tiết Lighthouse có thể giảm thiểu tác động của các chiến lược điều tiết đó. Tìm hiểu thêm về các chiến lược điều tiết khác nhau trong tài liệu về cách điều tiết của chúng tôi.
Nguồn | Mức độ tác động | Điều tiết mô phỏng | Đã áp dụng chế độ điều tiết | Không điều tiết |
---|---|---|---|---|
Tính không xác định của trang | Cao | KHÔNG HOẠT ĐỘNG | KHÔNG HOẠT ĐỘNG | KHÔNG HOẠT ĐỘNG |
Sự thay đổi mạng cục bộ | Cao | TỔNG HỢP | ĐƯỢC CHIA SẺ DOANH THU GẦN ĐÂY | KHÔNG HOẠT ĐỘNG |
Sự thay đổi của mạng Cấp 1 | Phương tiện | TỔNG HỢP | ĐƯỢC CHIA SẺ DOANH THU GẦN ĐÂY | KHÔNG HOẠT ĐỘNG |
Sự thay đổi của máy chủ web | Kém | KHÔNG HOẠT ĐỘNG | ĐƯỢC CHIA SẺ DOANH THU GẦN ĐÂY | KHÔNG HOẠT ĐỘNG |
Sự thay đổi phần cứng ứng dụng | Cao | ĐƯỢC CHIA SẺ DOANH THU GẦN ĐÂY | KHÔNG HOẠT ĐỘNG | KHÔNG HOẠT ĐỘNG |
Tranh chấp tài nguyên ứng dụng | Cao | ĐƯỢC CHIA SẺ DOANH THU GẦN ĐÂY | KHÔNG HOẠT ĐỘNG | KHÔNG HOẠT ĐỘNG |
Chủ nghĩa không định nghĩa của trình duyệt | Phương tiện | ĐƯỢC CHIA SẺ DOANH THU GẦN ĐÂY | KHÔNG HOẠT ĐỘNG | KHÔNG HOẠT ĐỘNG |
Chiến lược để đối phó với sự khác biệt
Tách biệt các yếu tố bên ngoài
- Tách biệt trang của bạn khỏi ảnh hưởng của bên thứ ba nhiều nhất có thể. Không bao giờ có thể đổ lỗi cho các lỗi biến đổi của người khác.
- Tách biệt tính không xác định của mã trong quá trình kiểm thử. Nếu bạn đã nhận được ảnh động hiển thị ngẫu nhiên, thì số liệu hiệu suất của bạn cũng có thể là ngẫu nhiên!
- Tách biệt máy chủ kiểm thử khỏi nhiều biến động mạng nhất có thể. Sử dụng localhost hoặc một máy trên cùng một mạng bất cứ khi nào bạn lo ngại về độ ổn định.
- Tách biệt môi trường khách hàng khỏi các tác động từ bên ngoài như phần mềm diệt vi-rút và tiện ích của trình duyệt. Sử dụng một thiết bị chuyên dụng để kiểm thử khi có thể.
Nếu máy của bạn thực sự có tài nguyên hạn chế hoặc việc tạo một môi trường sạch gặp khó khăn, hãy sử dụng một môi trường phòng thí nghiệm được lưu trữ như PageSpeed Insights hoặc WebPageTest để chạy kiểm thử cho bạn. Trong trường hợp tích hợp liên tục, hãy sử dụng máy chủ chuyên dụng nếu có thể. Môi trường CI miễn phí và các thực thể "có thể liên tục" thường khá biến động.
Chạy Lighthouse nhiều lần
Khi tạo các ngưỡng thất bại, dù là thuộc tính tâm thần hay có lập trình, hãy sử dụng các giá trị tổng hợp như trung vị, phân vị thứ 90 hoặc thậm chí là tối thiểu thay vì các phép kiểm thử đơn lẻ.
Điểm số trung bình của Lighthouse là 5 lần chạy ổn định gấp đôi so với 1 lần chạy và các công cụ như pwmetrics có thể tự động chạy Lighthouse cho bạn. Việc sử dụng giá trị tối thiểu cũng là một điểm cải tiến lớn so với việc không kiểm thử. Việc triển khai rất đơn giản, chỉ cần chạy Lighthouse tối đa 5 lần cho đến khi thành công!