Mất quá nhiều thời gian để phản hồi của máy chủ thì phải xử lý thế nào?

mất quá nhiều thời gian để phản hồi.

Thời gian phản hồi của máy chủ web càng lớn, thì tốc độ tải trang sẽ càng trở nên chậm chạp hơn. Page Speed (là Tốc độ tải trang) luôn mong đợi một sự phản hồi nhanh chóng từ các yêu cầu tài nguyên từ server để đảm bảo thời gian tải trang nhanh chóng nhất có thể. Đối với mỗi yêu cầu, thì server của bạn cần phải bắt đầu từ gửi byte dữ liệu đầu tiên của tài nguyên trong 200 ms đầu tiên của request được gửi. Vậy tại sao lại mất quá nhiều thời gian để phản hồi từ máy chủ và xử lý thế nào. Bạn hãy theo dõi xem bài viết sau nhé!

Mất quá nhiều thời gian để phản hồi của máy chủ là gì?

1. Thời gian phản hồi máy chủ/ttfb là gì?

Thời gian phản hồi của máy chủ 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ị. Nếu như thời gian phản hồi của máy chủ quá lâu và không được tối ưu, thì chắc chắn các tài liệu HTML sẽ mất nhiều thời gian hơn để có thể tải xuống. Nếu tài liệu HTML không được tải, có nghĩa là trình duyệt sẽ không biết các tài nguyên nào sẽ được yêu cầu, do đó trình duyệt sẽ 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ủ đượ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 được viết tắt là TTFB).

mất quá nhiều thời gian để phản hồi.

Khi bạn đang chạy một số bài kiểm tra về tốc độ, bạn có thể thấy được sự thay đổi nhỏ trong số các TTFB. Con số này sẽ không biến đổi quá nhiều. Sự biến thể này xảy ra do các yếu tố ảnh hưởng đến độ trễ gây ra. Nhưng nếu sự khác biệt đáng kể, không còn “nhẹ” nữa, thì có thể website của bạn đang gặp phải một rắc rối nghiêm trọng và nó nằm ngoài các vấn đề liên quan đến hiệu suất hoặc là  đỗ trễ hay thời gian phản hồi…

2. Ví dụ

– Hãy cùng xét một ví dụ sau về thời gian phản hồi của máy chủ:

Giả sử khách hàng đang 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ễ tính 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 là giới hạn thực tế cho một phản hồi (response), bạn có thể thêm 25 ms phụ phí cho việc chuyển đổi và sự chậm trễ.

85 ms là con số lý tưởng cần đạt được. 

– Thời gian phản hồi điển hình liên quan đến khá nhiều yếu tố, có thể kể đến:

Độ trễ (85 ms – là con số đã được tính toán ở trên) 

Kết nối Khởi tạo (hay Connection Initialisation) 

Phân giải DNS (hay DNS resolution) 

Truy vấn phụ trợ (hay Backend query) 

Tải xuống nội dung (hay Content download).

Bạn có thể thử tất các phương pháp để giảm từng thành phần thời gian trong các yếu tố phân tích trên. Ví dụ: caching ở mức máy chủ (cơ sở dữ liệu trong bộ nhớ) sẽ làm giảm thời gian truy vấn, khi 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ũng có thể sử dụng css bản đồ hình ảnh để làm điều này. Nhưng quan trọng 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ủ.

mất quá nhiều thời gian để phản hồi.
Giảm thời gian phản hồi của máy chủ

Các yếu tố ảnh hưởng đến hiện tượng “Mất quá nhiều thời gian để phản hồi của máy chủ”

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ĩ dẫn đến thời gian phản hồi chậm hơn. Thêm nữa, 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,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, thì các nhà cung cấp máy chủ web (ở mức tối thiểu) sẽ có các tùy chọn như: shared hosting, VPS, and dedicated hosting.

2. Lưu lượng truy cập tăng

Lưu lượng truy cập tăng tức là nhiều tài nguyên hơn đang được sử dụng. Do đó, nếu khi đạt đến mức giới hạn tối đa của máy chủ, thì khách truy cập của bạn sẽ phải có 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í 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 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 là được thực hiện nhưng lại không phù hợp. Ví dụ: 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 cho người dùng. Vì vậy, khi thiếu hụt về bộ nhớ đếm sẽ tạo ra thời gian chờ đợi không cần thiết, 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 từ các cache cục bộ hoặc là cache trung gian giúp chúng ta rút ngắn được khoảng cách vật lí giữa máy chủ và người dùng.

Khi “Mất quá nhiều thời gian để phản hồi của máy chủ” thì làm sao để khắc phục.

1. Chọn nhà cung cấp server uy tín và chất lượng

Khi bạn đang gặp phải vấn đề liên quan đến tốc độ trong hiệu suất của website, thì bạn đã đến lúc phải nâng cấp gói lưu trữ hoặc là thay đổi ngay nhà cung cấp web server của bạn. 

Thực tế rằng, cái gì càng rẻ thì 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ẻ, vì sau việc chi trả một khoản chi phí “rẻ nhất” này nó sẽ khiến bạn trải nghiệm một hiệu năng website cũng là “rẻ nhất”, chưa kể đến các dịch vụ chăm sóc và hỗ trợ kỹ thuật khi mà bạn gặp rắc rối trong quá trình sử dụng! Vì vậy, đừng vì giá cả mà bạn đánh đổi chất lượng. 

Trong trường hợp bạn sử dụng một dịch vụ lưu trữ chia sẻ shared hosting (có nghĩa là bạn đang chia sẻ tài nguyên máy chủ với trang web khác), đã đến lúc mà bạn 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  theo nhu cầu của bạn).

mất quá nhiều thời gian để phản hồi.

2. Nén, giảm bớt để tối ưu và lưu bộ nhớ đệm (Compress, Minify, Optimize, and Cache)

Cache giúp bạn cải thiện thời gian phản hồi của máy chủ rất hiệu quả, bởi vì tài liệu HTML được truy cập nhanh hơn rất nhiều. 

Nếu bạn đang sử dụng WordPress, thì hãy cân nhắc sử dụng caching plugin như Cache Enabler . Caching plugin sẽ giúp bạn tạo tệp HTML tĩnh thay vì tải tất cả nội dung trang web của bạn. 

mất quá nhiều thời gian để phản hồi.
Có cache và không có cache

Bạn nên tận dụng lợi thế CDN (mạng phân phối nội dung) từ Bizfly CDN để có thể đư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.

Khi bạn có chiến lược lưu các tài nguyên trong bộ nhớ cache, thì việc nén dữ liệu bằng cách là sử dụng các hương pháp như là Gzip hoặc Brotli, để giảm thiểu CSS, JS và HTML cũng như là tối ưu hóa hình ảnh.

3.Tối ưu Web server

Không phải ai cũng 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 đảm bảo rằng server phải được tối ưu hoàn toàn, việc này 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ủ, hầu hết người dùng hay chọn sử dụng Apache hoặc Nginx. Mỗi web server thì lại có những ưu và khuyết điểm riêng, với Nginx thì đó chính là khả năng cung cấp hiệu suất tốt hơn trong đa số trường hợp. 

Cuối cùng, cho dù bạn có 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ụ trường hợp với browser caching.

Việc tối ưu hóa hiệu suất của cơ sở dữ liệu đóng một vai trò quan trọng trong những nỗ lực cho việc giảm sever response time. Có 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 và sử dụng các chỉ mục…

Kết luận

Nếu server response time hoặc TTFB của bạn đã vượt quá 200 ms, thì đã đến lúc bạn phải nghiêm túc xem xét lại các stack và 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ủ nhanh, người dùng chắc chắn sẽ ở lại trên trang của bạn lâu hơn và tỉ lệ rời bỏ trang cũng giảm theo. Hãy theo dõi nhưng chia sẻ trong bài viết này để khắc phục tình trạng Mất quá nhiều thời gian để phản hồi của máy chủ” bạn nhé! Cảm ơn các bạn đã theo dõi!

>>> Đọc thêm:  Lỗi php' is not recognized as an internal or external command, operable program or batch file trên Windows là lỗi gì? Làm thế nào để khắc phục.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *