Categories Công cụ

14 công cụ kiểm tra tốc độ website tôi thường dùng

Tốc độ trang web không chỉ có mỗi chỉ số “trang web của tôi tải chưa đến x, y, z giây nào đó”. Còn có nhiều yếu tố khác mà bạn cần xem xét.

Dưới đây là danh sách các công cụ và dịch vụ tôi thường sử dụng để đánh giá hoặc kiểm tra tốc độ trang WordPress. Không chỉ WordPress, chúng còn có thể sử dụng để đánh giá bất kỳ website nào.


1. Mắt của bạn

Đừng hiểu lầm tôi, tôi không có ý đùa cợt gì đâu.

Để tôi dẫn một ví dụ nhé, plugin Flying Pages giúp bạn tìm nạp trước (sử dụng thẻ link prefetch) các trang nội bộ trong background và tải trang ngay lập tức khi người dùng điều hướng đến (trang đã tìm nạp). Điều đó đem lại trải nghiệm người dùng tốt hơn rất nhiều.

Tôi không thấy công cụ nào có khả năng đo đạc điều đó.

Dù các công cụ bạn đang dùng có đưa ra điểm số hoàn hảo, và website của bạn chỉ tải trong vài trăm mili giây thôi, hãy luôn cẩn thận kiểm tra lại trang bằng đôi mắt trần.


2. Chrome Developer Tools

Google Chrome Developer Tools có một số công cụ tiện dụng để đánh giá website. Mở công cụ dành cho nhà phát triển này bằng cách nhấn tổ hợp phím Ctrl + Shift + I (Windows) hoặc Ctrl + Opt + J (MacOS)

2.1. Theo dõi mạng

Theo dõi mạng (network monitor) đưa ra cái nhìn chi tiết về tất cả các request (yêu cầu) được thực hiện bởi trình duyệt, các phản hồi của nó, thời gian, vân vân.

  • Trạng thái (Status) – Giúp dễ dàng phát hiện ra bất kỳ tài nguyên nào hiện không khả dụng;
  • Giao thức (Protocol) – Kiểm tra xem đó là giao thức HTTP1.1, HTTP2, Quic, vân vân;
  • Kiểu (Type) – Định dạng file trả về, giúp bạn dễ dàng phát hiện xem định dạng ảnh WebP có đang hoạt động hay không;
  • Dung lượng (Size) – Lượng dữ liệu lưu chuyển, khi có và không có nén Gzip. “Disk cache” hoặc “Memory Cache” chỉ ra rằng cache phía trình duyệt đang hoạt động.
  • Ưu tiên (Priority) – Mức độ ưu tiên của từng file mà trình duyệt yêu cầu. CSS, JS, Fonts có mức độ ưu tiên cao, ảnh thì thấp hơn, SendBeacon (ví dụ: Google Analytics), prefetch (ví dụ: plugin Flying Pages) có mức độ ưu tiên thấp nhất.
  • Waterfall – Bảng waterfall các yêu cầu và dữ liệu nhận được. Nó cũng đưa ra cái nhìn sâu hơn về dữ liệu tìm kiếm DNS, kết nối TCP, SSL, TTFB, vân vân. Ngoài ra giúp bạn tháo gỡ vấn đề liên quan đến lazy loading (xem thêm cơ sở lý thuyết về lazy load ảnh ở đây)
waterfall trong devtools

2.2. Audits

Kiểm tra hiệu suất của trang web, PWA, các thực hành tốt nhất, khả năng truy cập và SEO. Bạn có thể lựa chọn thiết bị (máy bàn, di động) và điều chỉnh tốc độ mạng, cũng như CPU.

Bạn có thể sử dụng công cụ “Lighthouse” mà tôi đề cập dưới đây (mục 14) để thu được kết quả tương tự.

công cụ audit trong devtools

2.3. Security

Bảo mật (security) có mối quan hệ như thế nào đến hiệu suất?

Phiên bản TLS có ảnh hưởng đáng kể đến TTFB. Phiên bản mới nhất hiện nay là TLS 1.3

TLS 1.3

3. Google PageSpeed Insights

Google PageSpeed Insights là một trong các công cụ ưa thích của tôi (xem thêm hướng dẫn cách dùng PageSpeed Insights ở đây). Điều mà tôi thích ở công cụ này là thay vì chỉ tập trung vào “thời gian tải”, nó còn đo lường trải nghiệm người dùng nữa.

Một số người than phiền rằng nó không hiển thị thời gian tải toàn trang (fully loaded time). Tôi tin rằng Google không hiển thị nó bởi vì điều đó không phải là cách thức tốt để đo lường tốc độ website.

kiểm tra bằng Google PageSpeed Insights

Một trang khác có tốc độ tốt hơn:

trang Chim cắt có tốc độ tốt hơn

Google PSI là một trong các công cụ tốt nhất để phân tích:

  • TTFB – Time to First Byte (thời gian phản hồi của máy chủ)
  • FCP – First Contentful Paint / Thời gian phản hồi khi người dùng nhìn thấy hình ảnh có nội dung đầu tiên
  • FMP – First Meaningful Paint / Thời gian phản hồi khi người dùng nhìn thấy hình ảnh có ý nghĩa đầu tiên
  • TTI – Time to Interactive / Thời điểm người dùng có khả năng tương tác

và nhiều chỉ số khác nữa.


4. Công cụ phân tích GTmetrix

GTmetrix sẽ phân tích website của bạn và có thể đưa ra lời khuyên các chỗ cần sửa chữa. Cũng vậy, nó sẽ đưa ra một vài điểm số và thời gian tải toàn trang. Bạn có thể lựa chọn khu vực địa lý, thiết bị, trình duyệt để thực hiện kiểm tra.

kiểm tra bằng GTmetrix

GTmetrix đưa ra bảng Waterfall của tất cả các request đến website, cái mà tôi thấy rằng rất hữu ích.

bảng Waterfall trên GTmetrix

Hầu hết mọi người chỉ để ý đến điểm số và thời gian tải toàn trang, nhưng các yếu tố mà tôi chủ yếu xem xét nằm trong tab “Timing”:

tab timing trong GTmetrix

5. GTmetrix monitor

GTmetrix cũng có thêm tính năng thú vị là định kỳ kiểm tra website của bạn và gửi cho bạn bản tóm tắt hàng tuần. Tôi không cần phải kiểm tra đi kiểm tra lại trang web khi tôi cập nhật điều gì đó trên trang.

Gói miễn phí của họ (Basic plan) cho phép theo dõi (monitor) 3 URL.

theo dõi định kỳ website

6. Pingdom Speed Test

Pingdom Speed Test là công cụ miễn phí của SolarWinds. Nó rất giống với GTmetrix, cung cấp cho bạn bản báo cáo với các điểm số và thời gian tải.

Pingdom chấm điểm

Điểm mà tôi yêu thích ở công cụ này là nó hiển thị kích cỡ và số lượng của từng yêu cầu theo mỗi tên miền, định dạng file. Điều này cho phép bạn nhanh chóng biết được cần tối ưu ở phần nào.

phân loại kích cỡ tài nguyên theo tên miền
Phân loại kích cỡ tài nguyên theo tên miền
phân loại số lượng request theo tên miền
Phân loại số lượng request theo tên miền

7. Pingdom Monitoring

Liệu máy chủ của bạn có thi thoảng bị sập hoặc website của bạn không thể truy cập được với một số người dùng khi lưu lượng truy cập tăng cao?

Pingdom là công ty đo đạc “hiệu suất website và hệ thống giám sát”. Pingdom monitor sẽ liên tục giám sát (tùy theo lựa chọn của bạn là 5 phút hay 30 giây một lần) và sẽ thông báo cho bạn biết nếu có vấn đề gì đó bất thường.

Dịch vụ này không có gói miễn phí. Gói trả phí có giá từ 14,95$ / tháng (thật là chát hơn cà phê).

uptime của pingdom

Nếu bạn muốn tìm hiểu các dịch vụ kiểm tra uptime khác có giá thành thân thiện hơn hoặc miễn phí, bạn có thể truy cập liên kết vừa dẫn.


8. WebPageTest

WebPageTest là một trong các công cụ ra đời sớm nhất và đáng tin cậy nhất (rất nhiều tác giả chuyên về tối ưu, bao gồm cả những người làm cho Google rất thích dùng công cụ này, khi nào có thời gian, tôi (người dịch) sẽ viết một bài hướng dẫn chi tiết). Với khả năng kiểm tra website của bạn nhiều lần từ cùng một thiết bị. Nó rất có ích khi bạn muốn xem hoạt động hiệu quả của “cache phía trình duyệt“. WebPageTest cũng cung cấp một số chỉ số quan trọng như TTFB, keep-alive, nén (compression), cache phía trình duyệt (browser caching), CDN, vân vân.

Tôi không thích giao diện người dùng của họ cho lắm, vì thế tôi (tác giả gốc bài tiếng Anh này) không sử dụng công cụ này thường xuyên.


9. Công cụ kiểm tra hiệu suất của KeyCDN

Hầu hết công cụ mà tôi liệt kê ở trên sẽ kiểm tra TTFB (time to fist byte hay thời gian phản hồi của máy chủ) từ một vị trí địa lý duy nhất. Công cụ kiểm tra hiệu suất của KeyCDN sẽ phân tích trang của bạn từ 14 vùng địa lý khác nhau chỉ với một click và cung cấp một báo cáo về thời gian tìm kiếm DNS, kết nối, TLS và TTFB.

công cụ kiểm tra TTFB của KeyCDN

10. Uptime Robot

Tương tự như dịch vụ Pingdom Monitoring, Uptime Robot giám sát trang web của bạn để xem nó có bị downtime (gián đoạn) hay không và sẽ gửi cảnh báo cho bạn nếu điều đó xảy ra.

Gói miễn phí cho phép tần số giám sát là 5 phút (nghĩa là cứ 5 phút lại kiểm tra một lần).

Tôi khuyến khích bạn sử dụng dịch vụ theo dõi uptime của hosting/server, đặc biệt nếu bạn đang sử dụng share hosting (cái có tiềm năng dễ bị downtime nhất).

dịch vụ giám sát của Uptime Robot

11. Google Analytics phân tích tốc độ website

Google Analytics sử dụng HTML5 Navagation Timing API để thu thập các chỉ số về hiệu suất từ 1% người dùng của bạn. Bạn có thể xem thông số này bên dưới tab Behaviour > Site Speed.

Điều đặc biệt về GA Site Speed là dữ liệu được thu thập được đến từ người dùng thực (field data). Tất cả các công cụ khác sử dụng mạng có tốc độ cao hoặc mạng giả lập (emaulated, có thể dịch là mô phỏng cũng được) để thực hiện kiểm tra, điều đó có thể có sự khác biệt đáng kể so với người dùng thực. Điều gì xảy ra nếu phần lớn người dùng của bạn vẫn sử dụng mạng 3G chứ không phải cáp quang?

Công cụ kiểm tra tốc độ của Google Analytics

12. Loader.io

Chuyện gì xảy nếu một trong các bài đăng blog của bạn được viral? Bạn có chắc rằng server/hosting của bạn có thể xử lý được? Bạn có thể làm mất một lượng người dùng lớn và làm ảnh hưởng xấu đến SEO mà bạn không hề hay biết.

Đừng giả định và tin vào các lời quảng cáo hứa hẹn khả năng xử lý lưu lượng truy cập không giới hạn (unlimted traffic) của nhà cung cấp dịch vụ hosting. Tốt hơn là hãy thực hiện bài kiểm tra tải trang và biết được trang của bạn có thể xử lý được bao nhiêu lưu lượng truy cập.

Loader.io giúp bạn làm điều này dễ dàng bằng cách gửi 10 ngàn yêu cầu / giây tới website và xem nó xử lý thế nào.

kiểm tra trang bằng loader.io

Nếu bạn gặp vấn đề hosting yếu nhưng có lưu lượng truy cập lớn, tôi khuyên bạn sử dụng combo QUIC cloud + BunnyCDN để khắc phục cái này, máy chủ gốc của bạn sẽ được giảm tải đi rất nhiều.


13. Dotcom-tools

dotcom-tools kiểm tra trang web của bạn từ 25 vị trí địa lý khác nhau, cả lượt truy cập đầu tiên lẫn lượt lặp lại. Tôi cũng hay sử dụng công cụ này để xây dựng sẵn (prebuild) bộ đệm cache của CDN sau khi purge (xoá cache). PS của Kiến càng: tôi mới biết công cụ hay hơn để tạo trước cache, đó là Optimus Cache Prime.

kiểm tra tốc độ web với dotcom-tools

14. Lighthouse

Lighthouse là công cụ khác của Google. Nó được xây dựng ngay bên trong trình duyệt Google Chrome.

Lighthouse kiểm tra hiệu suất, khả năng truy cập, các thực hành tốt nhất và cả SEO nữa. Báo cáo “Performance” sẽ tương tự với công cụ Google PageSpeed Insights. Nhưng trong công cụ riêng lẻ này, bạn có thể kiểm tra tất cả chúng cùng một lúc.

Bạn có thể kiểm tra trực tiếp từ tab “Audits” của trình duyệt Chrome trong phần công cụ dành cho nhà phát triển hoặc vào website web.dev để thực hiện: web.dev/measure

kiểm tra bằng công cụ Lighthouse

(Dịch từ bài viết: 14 Tools I Use to Audit Performance of a WordPress site, tác giả: Gijo Varghese, website: WP Speed Matters)

P/S: Khoảng 2, 3 ảnh tôi sử dụng lại của tác giả, còn lại tôi thay bằng ảnh tôi tự chụp màn hình.

Back to Top