Monday, March 9, 2015

TLDR - Cải thiện tốc độ tải trang web?

Điều đầu tiên bạn cần nhớ: Hãy luôn kiểm tra các chỉ số.

Chúng ta có rất nhiều công cụ để đo lường về tốc độ tải trang, mà tôi thì khá thích sử dụng PageSpeed Insight của Google. Và tất nhiên là còn rất nhiều công cụ khác mà bạn có thể tìm kiếm trên internet.

Hãy thử test xem website của bạn được bao nhiêu điểm?



Action 1: Hãy sử dụng reverse proxy server

Tôi khuyên mọi người hãy sử dụng các reverse proxy server như nginx. Đôi khi chỉ cần cài đặt, cấu hình mặc định của nginx đã giúp bạn cải thiện một ít rồi.

Sau đó, hãy tiếp tục cài đặt những thứ sau:
  1. Cache-Control: Khai báo thêm header này sẽ giúp browser của người dùng lấy bản cache thay vì request lên server, đỡ thời gian chờ rất nhiều.
  2. GZip: Config này giúp response HTML, JS và CSS được nén lại đáng kể.
  3. Nginx cache: Các resource tĩnh (hình ảnh, JS, CSS) nên được cache trên RAM của nginx server.
  4. ...

Action 2: Sử dụng hình ảnh hiệu quả hơn

Có 2 lỗi mà mọi người hay mắc phải:
  1. Kích thước hình ảnh quá to so với cần thiết để hiển thị
  2. Chưa làm lossless optimize để giảm dung lượng mà không giảm chất lượng

Về kích thước hình ảnh, nếu trang web của bạn chỉ support máy tính (không support mobile), bạn chỉ cần hình ảnh đúng kích thước khi hiển thị. Tuy nhiên, ngày nay việc support mobile đang dần trở nên phổ biến hơn, do đó bạn cũng nên chuẩn bị ngay từ bây giờ.

Với mobile, kích thước hình ảnh chỉ nên gấp đôi kích thước hiển thị. Thấp hơn, bạn sẽ thấy răng cưa. Còn cao hơn, dung lượng sẽ phình lên mà không có sự khác biệt.

Sau khi xem xét kích thước hình ảnh, bạn hãy thực hiện optimize. Tool rất hiệu quả là TinyPNG có thể optimize hình PNG và JPG. Lưu ý rằng bạn chỉ nên optimize 1 lần mà thôi, thực hiện optimize 2 lần có thể khiến chất lượng bị giảm xuống. Bạn nào thích dùng command line để thực hiện hàng loạt thì tham khảo tool pngquant (đây là bộ core của TinyPNG).

Action 3: Sử dụng server hiệu quả hơn

Đây là vấn đề sau cùng khi response từ trang web của bạn quá chậm. Hãy xem xét nên chuyển server mới hay không, thuê dịch vụ mới chẳng hạn.

Nên biết rằng, nếu hosting của bạn nằm quá xa so với người dùng mục tiêu của bạn, họ sẽ vào trang web của bạn rất chậm. Do vậy, khi thuê hosting bạn phải thuê những hosting gần với thị trường mục tiêu của mình. Trang web cho người VN thì nên hosting ở VN hoặc xa lắm là Hong Kong hoặc Singapore.

Việc tối ưu tốc độ xử lý trên server cũng là một yếu tố rất quan trọng. Và hãy tìm cách định lượng con số này. Tốc độ tốt nên <100ms cho một request bất kỳ, và sẽ rất tuyệt nếu thời gian xử lý <30ms.

Note

Bạn sẽ gặp ở đâu đó, ai đó bảo bạn nên làm cái này cái kia. Ví dụ: đặt hình ảnh ở cookieless domain, sử dụng CDN,... Tôi thì khuyên bạn nên thực hiện 3 điều trên trước khi cân nhắc tới các phương án khác. Bởi vì 3 điều trên dễ làm và ít tốn chi phí hơn cả.

Tái bút: Hầu hết mọi trang web chuyên nghiệp đều thoả mãn cả. Tôi viết bài này chỉ dành cho những người mới tìm hiểu thôi. ^_^

2 comments:

Biểu mẫu liên hệ

Name

Email *

Message *