Có bao nhiêu tên miền trên một máy chủ Apache?


9

Tôi đang lưu trữ khoảng 300 tên miền cho các khách hàng của mình trên một máy chủ Apache. Tất cả đều không có nhiều lưu lượng, vì vậy tải máy chủ không phải là vấn đề.

Về mặt lý thuyết sẽ không có giới hạn số lượng tên miền lưu lượng truy cập thấp như vậy trên máy chủ, nhưng tôi lo lắng rằng nếu tôi có quá nhiều tên miền trên máy chủ, danh sách tên miền tuyệt đối để kiểm tra cho mỗi yêu cầu đến sẽ làm chậm Apache xuống.

Có một quy tắc nào về việc cấu hình Apache có thể tồn tại bao lâu và có bao nhiêu tên miền khác nhau mà nó có thể xử lý mà không gặp sự cố? 500 có ổn không? 5000?

Làm rõ: Tôi không hỏi về việc máy chủ có thể xử lý bao nhiêu lưu lượng. Tôi biết máy chủ cụ thể này có thể xử lý ít nhất gấp đôi lượng lưu lượng hiện tại của nó. Tôi muốn biết liệu số lượng tên miền có phải là một yếu tố quan trọng hay không.

Câu trả lời:


9

Tôi đã thấy các máy chủ với hàng ngàn tên miền đang chạy mà không gặp vấn đề gì. Hiệu suất không giảm đáng kể chỉ bằng số lượng trang web bạn đang chạy.

Đó là tổng số yêu cầu và số lượng CPU (và các tài nguyên khác như băng thông, IO đĩa, cuộc gọi cơ sở dữ liệu, v.v.) được yêu cầu cho mỗi yêu cầu ảnh hưởng đến khả năng đáp ứng của máy chủ.


+1 - lượng thời gian CPU cần để thậm chí thực hiện quét nối tiếp 10.000 mảng nhập được lưu trữ trong RAM là không đáng kể.
Mark Henderson

4

Không có quy tắc kỳ diệu nào cho loại điều này. Tất cả đều dựa trên thông số kỹ thuật phần cứng và phần mềm điều chỉnh. Bạn sẽ không thêm một trang web mới và sau đó thấy đầu máy chủ của bạn bị nghẹt thở (trừ khi đó là một trang web sử dụng thực sự cao ngay ngoài cổng và bạn chưa sẵn sàng cho nó). Như với hầu hết mọi thứ, bạn cần theo dõi hiệu suất máy chủ của mình và khi bạn bắt đầu thấy nó chậm lại, hãy đánh giá tại thời điểm đó và xem về nâng cấp phần cứng hoặc máy chủ mới để xử lý lưu trữ tên miền mới. Và vì vậy, để trả lời điểm làm rõ của bạn, đó không phải là về số lượng tên miền, mà là về những gì mỗi tên miền sẽ mang tải riêng lẻ đến máy chủ. Không có số ma thuật.


Như một câu trả lời cụ thể có thể là câu hỏi này ...
Nandhini Anand

3
Gene, để sao lưu những gì Holocryptic nói, hãy tưởng tượng khối lượng công việc được tạo bởi 500 (hoặc 5000) trang web có một hoặc hai trang tĩnh trong đó. Bây giờ hãy tưởng tượng khối lượng công việc được tạo ra nếu bạn chỉ lưu trữ một trang web. Nhưng điều gì sẽ xảy ra nếu trang web đó xảy ra là google.com hoặc facebook.com - số lượng tên miền không phải là vấn đề, đó là công việc mà các tên miền đang yêu cầu máy chủ thực hiện.
Rob Moir

@Robert Moir: Tôi không hỏi về lưu lượng mà máy chủ có thể xử lý. Tôi muốn biết nếu số lượng tên miền hoặc độ dài của tệp cấu hình là một yếu tố.
Gene Vincent

3

Bạn có thể tìm thấy http://httpd.apache.org/docs/2.2/vhosts/details.html#hostmatching thông tin. Apache sử dụng bảng băm để xử lý các Vhost không được ánh xạ tới *: 80, sau đó lặp qua danh sách được liên kết của tất cả các Vhost được gán cho cổng IP: đó để tìm Máy chủ phù hợp (Tên | Bí danh). Bạn có thể cần phải lưu trữ hàng triệu tên miền trước khi quá trình đó trở nên đắt đỏ.

Bạn cũng có thể muốn xem http://httpd.apache.org/docs/2.2/vhosts/mass.html và điểm chuẩn này theo cách tiếp cận hiện tại của bạn; một khi bạn nhận đủ Vhost mà việc truyền tải danh sách liên kết mất nhiều thời gian hơn lstat (), VirtualDocumentRootcuối cùng sẽ nhanh hơn Vhosts được chỉ định riêng lẻ.


Tôi đang sử dụng các máy chủ ảo dựa trên tên và có vẻ như Apache chỉ sử dụng bảng băm cho các máy chủ ảo dựa trên IP, dẫn đến tìm kiếm tuyến tính.
Gene Vincent

Chính xác. Xin lỗi nếu câu trả lời của tôi không rõ ràng như có thể xảy ra ở điểm này: bảng băm được sử dụng để chọn danh sách được liên kết để lặp lại, chứ không phải (trực tiếp) để chọn Vhost nào sẽ phục vụ một yêu cầu cụ thể (trừ khi không chạy NameVirtualHost).
BMDan

1

Tôi có một số máy chủ VPS chứa hơn 8000 tên miền. Máy chủ đang chạy tốt, tải trung bình luôn ở mức 0.xx. Tôi đoán nó có thể xử lý nhiều hơn mà không có vấn đề. Sẽ cần thời gian dài hơn để biên dịch lại Apache khi thêm hoặc xóa một tên miền. Ngoài ra, tệp httpd.conf khá lớn, khoảng 60M. An toàn hơn khi giới hạn số lượng tên miền vào khoảng 5000.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.