NGINX nổi tiếng là bộ cân bằng tải, bộ đệm và máy chủ web hiệu suất cao, cung cấp năng lượng cho hơn 40% trang web bận rộn nhất trên thế giới. Đối với hầu hết các trường hợp sử dụng, cài đặt NGINX và Linux mặc định hoạt động tốt, nhưng để đạt được hiệu suất tối ưu đôi khi cần một chút điều chỉnh. Bài đăng trên blog này thảo luận về một số cài đặt NGINX và Linux cần xem xét khi điều chỉnh hệ thống Show Bạn có thể điều chỉnh hầu hết mọi cài đặt, nhưng bài đăng này tập trung vào một số cài đặt mà việc điều chỉnh mang lại lợi ích cho người dùng nhất. Có những cài đặt mà chúng tôi khuyên bạn chỉ nên thay đổi nếu bạn hiểu sâu về NGINX và Linux hoặc theo chỉ dẫn của nhóm Hỗ trợ hoặc Dịch vụ chuyên nghiệp của chúng tôi và chúng tôi không đề cập đến những cài đặt đó ở đây. Nhóm Dịch vụ Chuyên nghiệp đã làm việc với một số trang web bận rộn nhất thế giới để điều chỉnh NGINX nhằm đạt được mức hiệu suất tối đa và sẵn sàng làm việc với bạn để tận dụng tối đa việc triển khai NGINX hoặc NGINX Plus của bạn Giới thiệuHiểu biết cơ bản về kiến trúc NGINX và các khái niệm cấu hình được giả định. Bài đăng này không cố gắng sao chép tài liệu NGINX, nhưng cung cấp tổng quan về các tùy chọn khác nhau và liên kết đến tài liệu liên quan Một nguyên tắc tốt cần tuân theo khi điều chỉnh là thay đổi một cài đặt tại một thời điểm và đặt cài đặt đó trở lại giá trị mặc định nếu thay đổi không cải thiện hiệu suất Chúng tôi bắt đầu thảo luận về điều chỉnh Linux, vì giá trị của một số cài đặt hệ điều hành xác định cách bạn điều chỉnh cấu hình NGINX của mình Điều chỉnh cấu hình Linux của bạnCác cài đặt trong nhân Linux hiện đại (2. 6+) phù hợp với hầu hết các mục đích, nhưng việc thay đổi một số mục đích có thể mang lại lợi ích. Kiểm tra nhật ký hạt nhân để biết các thông báo lỗi cho biết cài đặt quá thấp và điều chỉnh cài đặt đó theo lời khuyên. Ở đây, chúng tôi chỉ đề cập đến những cài đặt có nhiều khả năng được hưởng lợi nhất từ việc điều chỉnh theo khối lượng công việc bình thường. Để biết chi tiết về cách điều chỉnh các cài đặt này, vui lòng tham khảo tài liệu Linux của bạn Hàng đợi tồn đọngCác cài đặt sau liên quan đến các kết nối và cách chúng được xếp hàng đợi. Nếu bạn có tỷ lệ kết nối đến cao và bạn đang nhận được mức hiệu suất không đồng đều (ví dụ: một số kết nối dường như bị đình trệ), thì việc thay đổi các cài đặt này có thể hữu ích
Bộ mô tả tệpBộ mô tả tệp là tài nguyên hệ điều hành được sử dụng để thể hiện các kết nối và tệp đang mở, trong số những thứ khác. NGINX có thể sử dụng tối đa hai bộ mô tả tệp cho mỗi kết nối. Ví dụ: nếu NGINX đang ủy quyền, nó thường sử dụng một bộ mô tả tệp cho kết nối máy khách và một bộ mô tả tệp khác cho kết nối đến máy chủ được ủy quyền, mặc dù tỷ lệ này thấp hơn nhiều nếu sử dụng các thủ tục HTTP. Đối với hệ thống phục vụ nhiều kết nối, có thể cần phải điều chỉnh các cài đặt sau
Cổng phù duKhi NGINX hoạt động như một proxy, mỗi kết nối đến máy chủ ngược dòng sẽ sử dụng một cổng tạm thời hoặc tạm thời. Bạn có thể muốn thay đổi cài đặt này
Điều chỉnh cấu hình NGINX của bạnSau đây là một số chỉ thị NGINX có thể ảnh hưởng đến hiệu suất. Như đã nêu ở trên, chúng tôi chỉ thảo luận về các lệnh an toàn để bạn tự điều chỉnh. Chúng tôi khuyên bạn không nên thay đổi cài đặt của các lệnh khác mà không có hướng dẫn từ nhóm NGINX quy trình công nhânNGINX có thể chạy nhiều worker process, mỗi worker có khả năng xử lý một số lượng lớn các kết nối đồng thời. Bạn có thể kiểm soát số lượng worker process và cách chúng xử lý các kết nối bằng các lệnh sau
Kết nối KeepaliveCác kết nối cố định có thể có tác động lớn đến hiệu suất bằng cách giảm chi phí CPU và mạng cần thiết để mở và đóng các kết nối. NGINX chấm dứt tất cả các kết nối máy khách và tạo các kết nối riêng biệt và độc lập với các máy chủ ngược dòng. NGINX hỗ trợ keepalives cho cả máy khách và máy chủ ngược dòng. Các chỉ thị sau đây liên quan đến tài sản lưu giữ của khách hàng
Chỉ thị sau đây liên quan đến các thủ tục ngược dòng
Để kích hoạt các kết nối cố định tới các máy chủ ngược dòng, bạn cũng phải bao gồm các lệnh sau trong cấu hình
Ghi nhật ký truy cậpViệc ghi nhật ký mọi yêu cầu tiêu tốn cả chu kỳ CPU và I/O và một cách để giảm tác động là bật bộ đệm nhật ký truy cập. Với bộ đệm, thay vì thực hiện thao tác ghi riêng cho từng mục nhật ký, NGINX đệm một loạt các mục và ghi chúng vào tệp cùng nhau trong một thao tác Để bật bộ đệm nhật ký truy cập, hãy đưa tham số Gửi fileLệnh gọi hệ thống Hạn mứcBạn có thể đặt các giới hạn khác nhau giúp ngăn khách hàng tiêu thụ quá nhiều tài nguyên, điều này có thể ảnh hưởng xấu đến hiệu suất của hệ thống cũng như bảo mật và trải nghiệm người dùng. Sau đây là một số chỉ thị liên quan
Bộ nhớ đệm và nén có thể cải thiện hiệu suấtMột số tính năng bổ sung của NGINX có thể được sử dụng để tăng hiệu suất của ứng dụng web không thực sự thuộc tiêu đề điều chỉnh, nhưng đáng được đề cập vì tác động của chúng có thể là đáng kể. Chúng bao gồm bộ nhớ đệm và nén Bộ nhớ đệmBằng cách kích hoạt bộ nhớ đệm trên phiên bản NGINX đang cân bằng tải cho một nhóm máy chủ ứng dụng hoặc web, bạn có thể cải thiện đáng kể thời gian phản hồi cho máy khách đồng thời giảm tải đáng kể cho máy chủ phụ trợ. Bộ nhớ đệm là một chủ đề theo đúng nghĩa của nó và chúng tôi sẽ không cố gắng đề cập đến nó ở đây. Xem Hướng dẫn dành cho quản trị viên NGINX Plus NénViệc nén các phản hồi được gửi tới máy khách có thể làm giảm đáng kể kích thước của chúng, vì vậy chúng sử dụng ít băng thông mạng hơn. Tuy nhiên, vì việc nén dữ liệu sẽ tiêu tốn tài nguyên CPU, nên nó hữu ích nhất khi thực sự đáng giá để giảm mức sử dụng băng thông. Điều quan trọng cần lưu ý là bạn không nên bật tính năng nén cho các đối tượng đã được nén, chẳng hạn như các tệp JPEG. Để biết thêm thông tin, hãy xem Hướng dẫn dành cho quản trị viên NGINX Plus |