Khắc phục trang web mất quá nhiều thời gian để phản hồi
Giảm thời gian phản hồi máy chủ là yếu tố đóng vai trò quan trọng trong việc khắc phục triệt để tình trạng trang web mất quá nhiều thời gian để phản hồi, cải thiện tốc độ website và hiệu suất server. Cùng Bizfly Cloud tìm hiểu chi tiết ngay tại bài viết này nhé.
Thời gian phản hồi của máy chủ web càng lớn, tốc độ tải trang sẽ càng trở nên chậm chạp. Page Speed (Tốc độ tải trang) luôn mong đợi một sự phản hồi nhanh chóng các yêu cầu tài nguyên từ server để có thể đảm bảo thời gian tải trang nhanh chóng nhất. Đối với mỗi yêu cầu tài nguyên, server của bạn cần phải bắt đầu gửi byte dữ liệu đầu tiên của tài nguyên trong vòng 200 ms đầu tiên của request được gửi.
Giảm thời gian phản hồi của máy chủ là gì?
1. Thời gian phản hồi của máy chủ/ttfb là gì?
Thời gian phản hồi của máy chủ tiếng Anh là Server Response Time, là lượng thời gian cần thiết để tải tài liệu HTML của website từ server đến lúc hiển thị cho khách truy cập. Nếu thời gian phản hồi của máy chủ quá lâu và không được tối ưu, chắc chắn các tài liệu HTML sẽ mất nhiều thời gian hơn để tải xuống. Nếu tài liệu HTML không được tải, điều đó có nghĩa là trình duyệt sẽ không biết các tài nguyên nào khác sẽ được yêu cầu, do đó trình duyệt gặp khó khăn trong việc hiển thị trang đúng cách.
Thời gian phản hồi của một máy chủ thường được đo bằng khoảng thời gian gọi là "Thời gian của byte đầu tiên" (Time to First Byte, hoặc viết tắt là TTFB).
Time to First Byte là 161 ms
Khi bạn chạy một số bài kiểm tra về tốc độ, bạn có thể thấy một sự thay đổi nhỏ trong số các TTFB. Tuy nhiên, con số này sẽ không biến đổi chênh lệch quá nhiều. Sự biến thể nhẹ này xảy ra có thể do các yếu tố ảnh hưởng đến độ trễ gây ra. Nhưng nếu sự khác biệt là đáng kể, không còn "nhẹ" như đáng lẽ nó phải thế nữa, có thể website của bạn đang gặp phải một rắc rối nghiêm trọng hơn và nó nằm ngoài các vấn đề liên quan đến hiệu suất hoặc đỗ trễ hay thời giang phản hồi...
2. Ví dụ
- Hãy cùng xét một ví dụ cụ thể sau về thời gian phản hồi của máy chủ:
Giả sử khách hàng sử dụng API của bạn ở Ấn Độ và máy chủ thì đặt tại Sinagapore.
Giới hạn của độ trễ theo lý thuyết, chính là tốc độ ánh sáng, có giá trị là: 3 ∗ 10^5km/s
Khoảng cách giữa Ấn Độ và Singapore: 6000km
Tốc độ ánh sáng trong sợi quang: 0,66 ∗ 3 ∗ 10^5 = 2 ∗ 10^5
Thời gian để đi một chiều = 6000km/(2 ∗ 10^5) = 30 ms
Thời gian chuyến đi khứ hồi = 30 ∗ 2 = 60 ms
60 ms chính là giới hạn thực tế cho một phản hồi (response) chung, bạn có thể thêm 25 ms phụ phí cho việc chuyển đổi và sự chậm trễ.
Do đó, 85 ms nên là con số lý tưởng cần đạt được.
- Thời gian phản hồi điển hình (Typical Response time) liên quan đến khá nhiều yếu tố, có thể kể đến sau đây:
Độ trễ (85 ms - con số đã được tính toán ở trên)
Kết nối Khởi tạo (Connection Initialisation)
Phân giải DNS (DNS resolution)
Truy vấn phụ trợ (Backend query)
Tải xuống nội dung (Content download).
Bạn có thể thử các phương pháp khác nhau để giảm từng thành phần thời gian trong các yếu tố phân tích kể trên. Ví dụ: caching ở mức máy chủ (cơ sở dữ liệu trong bộ nhớ) sẽ giảm thời gian truy vấn, sử dụng nén (gzip) sẽ giảm thời gian tải xuống nội dung, không gọi nhiều API cho mỗi hình ảnh, bạn có thể sử dụng css bản đồ hình ảnh để làm điều này. Nhưng quan trọng nhất vẫn phải quan tâm đến yếu tố có tầm ảnh hưởng lớn nhất: Giảm thời gian phản hồi của máy chủ.
Giảm thời gian phản hồi của máy chủ
Các yếu tố ảnh hưởng đến thời gian phản hồi của máy
1. Web hosting nghèo nàn
Một máy chủ lưu trữ web sử dụng phần cứng/ phần mềm cũ kĩ sẽ dẫn đến thời gian phản hồi chậm hơn cho người dùng. Thêm nữa, ngay cả khi nhà cung cấp dịch vụ máy chủ hiện đang cung cấp các thiết bị tiên tiến bậc nhất, thì vẫn có rất nhiều tùy chọn về các hình thức dịch vụ lưu trữ khác nhau. Thông thường, các nhà cung cấp máy chủ web (ở mức tối thiểu) sẽ có các tùy chọn sau: shared hosting, VPS, and dedicated hosting.
Vậy là bạn đang muốn tìm cho mình một lựa chọn tối ưu, hãy tham khảo ngay: Dịch vụ CDN nào tốt nhất Việt Nam?
2. Lưu lượng truy cập tăng
Lưu lượng truy cập tăng có nghĩa là nhiều tài nguyên hơn đang được sử dụng. Do đó, nếu đạt đến mức giới hạn tối đa của máy chủ, khách truy cập của bạn sẽ phải có một trải nghiệm duyệt web chậm chạp khiến họ không mấy hài lòng cho lắm, thậm chí nặng hơn bạn sẽ gặp phải mã lỗi (error codes) như vượt quá giới hạn băng thông (bandwidth limit exceeded).
3. Các trang web có kích thước lớn (Bloated webpages)
Các trang web có thể trở nên khá cồng kềnh nếu các tối ưu hóa không được thực hiện hoặc được thực hiện nhưng lại không phù hợp. Ví dụ như: kích thước hình ảnh quá lớn, hình ảnh không phản hồi, tệp CSS/ JS không được rút gọn,...
4. Thiếu bộ nhớ đệm
Bộ nhớ đệm (Cache) là một bước cực kì quan trọng trong việc cung cấp nội dung một cách nhanh chóng hơn cho người dùng. Vì vậy, sự thiếu hụt về bộ nhớ đếm sẽ tạo ra thời gian chờ đợi không cần thiết, do trình duyệt phải yêu cầu tài nguyên từ máy chủ chính mỗi lần nhận được request, thay vì truy cập chúng từ các cache cục bộ hoặc cache trung gian giúp rút ngắn khoảng cách vật lí giữa máy chủ và người dùng.
Làm cách nào để giảm thời gian phản hồi của máy chủ?
1. Chọn nhà cung cấp server uy tín và chất lượng
Có một thực tế rằng, cái gì càng rẻ thì sẽ càng không tốt, hãy cố gắng tránh xa các nhà cung cấp máy chủ web với tiêu chí rẻ nhất, vì sau này việc chi trả một khoản chi phí "rẻ nhất" này sẽ khiến bạn trải nghiệm một hiệu năng website cũng "rẻ nhất" không kém, chưa kể đến các dịch vụ chăm sóc và hỗ trợ kĩ thuật khi bạn gặp rắc rối trong quá trình sử dụng! Đừng vì giá cả mà đánh đổi chất lượng.
Trong trường hợp bạn đang sử dụng một dịch vụ lưu trữ chia sẻ shared hosting (nghĩa là bạn đang chia sẻ tài nguyên máy chủ với các trang web khác), đã đến lúc phải nâng cấp lên máy chủ VPS hoặc một máy chủ chuyên dụng dedicated server (tùy theo nhu cầu của bạn).
Hãy tìm hiểu thêm về các lựa chọn cho doanh nghiệp của bạn tại: Lựa chọn nền tảng server cho doanh nghiệp: Máy chủ vật lý, VPS hay Cloud Server?
2. Nén, giảm bớt, tối ưu và lưu bộ nhớ đệm (Compress, Minify, Optimize, and Cache)
Nếu bạn sử dụng WordPress, hãy cân nhắc sử dụng caching plugin như Cache Enabler (link: https://wordpress.org/plugins/cache-enabler/). Caching plugin sẽ tạo tệp HTML tĩnh thay vì tải tất cả nội dung trang web của bạn.
Có cache và không có cache
Hơn nữa, bạn nên tận dụng lợi thế của CDN (mạng phân phối nội dung) của Bizfly Cloud để đưa chiến lược sử dụng cache cải tiến hơn thêm sau khi tài liệu HTML đã được tải và bạn cần tải các tài nguyên tĩnh khác nữa.
Khi bạn đã có chiến lược lưu các tài nguyên trong bộ nhớ cache, việc nén dữ liệu bằng cách sử dụng các hương pháp như Gzip hoặc Brotli, giảm thiểu CSS, JS và HTML cũng như tối ưu hóa hình ảnh là các bước tiếp theo cực kỳ quan trọng phải thực hiện.
3. Tối ưu Web server
Không phải ai cũng cảm thấy thoải mái trong việc tối ưu web server của riêng mình, tuy nhiên, bạn hãy phải đảm bảo rằng server phải được tối ưu hoàn toàn, việc này sẽ giúp giảm thời gian phản hồi của máy chủ một cách đáng kể.
Có một vài tùy chọn sẵn có trong việc lựa chọn phần mềm máy chủ, và hầu hết người dùng hay chọn sử dụng Apache hoặc Nginx. Mỗi web server lại có những ưu và khuyết điểm riêng, với Nginx đó chính là khả năng cung cấp một hiệu suất tốt hơn trong đa số trường hợp.
Cuối cùng, cho dù bạn có đang sử dụng phần mềm máy chủ nào đi chăng nữa, điều quan trọng vẫn là hãy cấu hình sao cho có thể xác định được các quy tắc hết hạn, ví dụ như trường hợp với browser caching.
>> Có thể bạn quan tâm: 10 cách để tăng tốc website và cải thiện trải nghiệm người dùng
Cải thiện Database Performance
Ngoài các khuyến nghị được đề cập ở trên, thì việc tối ưu hóa hiệu suất của cơ sở dữ liệu đóng một vai trò trọng yếu trong những nỗ lực cho việc giảm sever response time. Có khá nhiều cách khác nhau để tối ưu hóa hiệu suất cơ sở dữ liệu, như: viết lại các truy vấn của bạn đặt trong sự ưu tiên về hiệu suất, thay đổi lược đồ của bạn thành các đối tượng nhóm (schema thành group objects) và sử dụng các chỉ mục...
Kết luận
Tóm lại, nếu server response time hoặc TTFB của bạn vượt quá 200 ms, đã đến lúc bạn phải nghiêm túc xem xét lại các stack và bắt đầu thực hiện điều gì đó để để giảm con số này xuống. Thời gian phản hồi của máy chủ càng nhanh, người dùng chắc chắn sẽ ở lại trên trang của bạn lâu hơn và đương nhiên tỉ lệ rời bỏ trang cũng giảm theo.
Hãy ngay lập tức thực hiện các đề xuất trong bài viết này và triển khai chúng vào trang web của mình để bắt đầu cải thiện thời gian phản hồi của máy chủ nhé!
Cảm ơn các bạn đã theo dõi!
Giang PTH - Bizfly Cloud
>> Tìm hiểu thêm: 5 công cụ kiểm tra Website Speed Test miễn phí
Kể từ ngày 05/11/2018, VCCloud chính thức đổi tên thành Bizfly Cloud - là nhà cung cấp các dịch vụ đám mây hàng đầu tại Việt Nam hiện nay với các dịch vụ nổi bật như: Bizfly Cloud Server, Bizfly CDN, Bizfly Load Balancer, Bizfly Pre-built Application, Bizfly Business Mail, Bizfly Simple Storage. Hãy tăng tốc thích nghi cho doanh nghiệp cùng các giải pháp công nghệ của Bizfly Cloudtại đây.