http web-developer performance keep-alive - It costs 2 mins to read

Keep Alive là gì?

Nếu bạn đã đọc qua bài viết HTTP Succinctly thì hẳn có nghe qua Keep Alive Connection. Ở đây, mình cũng xin được ôn lại, Keep Alive là một phương thức cho phép sử dụng cùng một kết nối TCP cho một chuỗi các phiên giao dịch HTTP thay vì cứ phải tạo mới từng connection cho mỗi một HTTP Request. Bạn có thể hiểu nôm na là Web Server có thể trả về nhiều hơn một file trong cùng một kết nối. (Keep alive còn được biết đến với cái tên persistent connection.)

Keep Alive Enabled

Làm thế nào để Enable Keep Alive

Enable Keep Alive bằng .htaccess

Chỉ cần thêm dòng sau vào file .htaccess của bạn

<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>
Enable Keep Alive trong Apache

Trường hợp này áp dụng khi bạn có toàn quyền cấu hình Server Apache của bạn:

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 100
Enable Keep Alive trong Nginx

Trong cài đặt và cấu hình mặc định thì Nginx luôn Enable Keep Alive, trừ khi chính bạn muốn tắt nó bằng cách dùng directive keepalive_disable, chúng ta có thể chỉ định disable keep alive cho từng User Agent (Browser cụ thể).

Xem thêm - http://wiki.nginx.org/HttpCoreModule#keepalive_disable

Kết luận

Keep Alive được dùng để tối ưu hóa tốc độ tải trang nhằm đem lại trải nghiệm tốt hơn cho người dùng. Mặc định thì Keep Alive luôn được mở khi cài đặt Apache hoặc Nginx, nhưng một số nhà cung cấp dịch vụ shared hosting có thể đã tắt nó nhằm tránh quá tải cho hệ thống của họ, vì vậy, luôn để ý và test kỹ xem Server của mình có enable keep alive không nhé. (Bằng cách quan sát HTTP Response hoặc sử dụng PageSpeed Tool để kiểm tra).