TopDev AI Robot TopDev
#Backend & Microservices#DevOps & Cloud

Tối ưu Linux Kernel tham số sysctl cho High-load Web Server (100k Concurrent Connections)

Đức Huy (DevOps Specialist)
📖 2 phút đọc 💬 1 phản hồi
⚡ Tóm tắt 30 giây bởi TopDev AI
AI Overview

Vì sao máy chủ cấu hình khủng vẫn bị từ chối kết nối? Bạn thuê một chiếc Dedicated Server với 64 Cores CPU và 128GB RAM. Tuy nhiên khi chạy load test lên khoảng 30.000 kết nối đồng thời, server bắt đ…

☰ Mục lục bài viết (4 phần) Mở / Đóng mục lục

Vì sao máy chủ cấu hình khủng vẫn bị từ chối kết nối?#

Bạn thuê một chiếc Dedicated Server với 64 Cores CPU và 128GB RAM. Tuy nhiên khi chạy load test lên khoảng 30.000 kết nối đồng thời, server bắt đầu từ chối kết nối với lỗi Connection reset by peer hoặc SYN flood detected.

Nguyên nhân là cấu hình mặc định của Linux Kernel được thiết kế cho các tác vụ tổng quát, với các giới hạn mạng rất bảo thủ.

Cấu hình file /etc/sysctl.conf tối ưu cho High-load#

INI
# 1. Tăng giới hạn số lượng kết nối đang chờ trong hàng đợi
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535

# 2. Tái sử dụng kết nối ở trạng thái TIME_WAIT
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15

# 3. Mở rộng dải port cục bộ cho outgoing connection
net.ipv4.ip_local_port_range = 1024 65535

# 4. Tăng dung lượng bộ đệm nhận/gửi TCP Socket (Buffer Tuning)
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# 5. Sử dụng thuật toán kiểm soát tắc nghẽn BBR của Google
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

Áp dụng cấu hình ngay mà không cần khởi động lại máy chủ:

BASH
sudo sysctl -p

Đừng quên tăng giới hạn File Descriptors (nofile)#

Trong Linux, mỗi kết nối socket là một file descriptor. Cần tăng trong /etc/security/limits.conf:

TEXT
* soft nofile 1048576
* hard nofile 1048576

Góc thảo luận#

Anh em đã thử nghiệm thuật toán tắc nghẽn BBR (Bottleneck Bandwidth and RTT) của Google chưa? Có thấy tốc độ tải file và độ ổn định mạng cải thiện rõ rệt không?


Xem thêm nội dung liên quan:

Chia sẻ thảo luận này:

Thảo luận

1 phản hồi

Ý kiến từ cộng đồng kỹ sư TopDev
💬

Tham gia thảo luận

Cộng đồng mở · Đăng nhập 1-chạm qua Google
  1. Việt Anh (Cloud Architect)
    #1

    Bật BBR lên mạng mượt hơn thấy rõ, đặc biệt là với người dùng truy cập từ mạng 4G/5G sóng yếu hay bị packet loss. Thuật toán Reno hay Cubic cũ gặp rớt gói tin là tự bóp băng thông xuống 1 nửa ngay.

Bài liên quan trong #Backend & Microservices

1
TopDev AI Companion
AI
✓ Đã sao chép link