2013-08-22 40 views

Trả lời

16

Nó phụ thuộc vào đầu nối loại mà bạn đang sử dụng để chấp nhận các yêu cầu. Có tham số được gọi là maxConnections trong server.xml có thể được định cấu hình để điều tiết số lượng yêu cầu đến. Dưới đây là description of maxConnections params for Tomcat 7:

Số lượng tối đa kết nối mà máy chủ sẽ chấp nhận và quy trình tại bất kỳ thời điểm đã cho nào. Khi đạt đến con số này, máy chủ sẽ không chấp nhận bất kỳ kết nối nào nữa cho đến khi số lượng kết nối giảm xuống dưới giá trị này. Hệ điều hành vẫn có thể chấp nhận các kết nối dựa trên cài đặt acceptCount. Giá trị mặc định thay đổi theo loại trình kết nối. Đối với BIO, mặc định là giá trị của maxThreads trừ khi một Executor được sử dụng trong trường hợp mặc định sẽ là là giá trị của maxThreads từ người thi hành. Đối với NIO, mặc định là 10000. Đối với APR/gốc, mặc định là 8192.

Lưu ý rằng đối với APR/gốc trên Windows, giá trị được định cấu hình sẽ là giảm xuống bội số cao nhất 1024 nhỏ hơn hoặc bằng đến maxConnections. Điều này được thực hiện vì lý do hiệu suất. Nếu đặt một giá trị là -1, MaxConnections tính năng bị vô hiệu hóa và kết nối không được tính

+0

maxConnections xác định số lượng kết nối tối đa máy chủ không chấp nhận số lượng yêu cầu tối đa được xử lý đồng thời – Prateek

+3

@Prateek Không. Bạn đang tranh luận với tài liệu Tomcat ở đây, mà Juned đã trích dẫn. Những gì bạn đang đề cập đến là một sự kết hợp của 'acceptCount' và hàng đợi tồn đọng nghe. – EJP

+0

@EJP nhưng trên trang tài liệu tomcat mà tôi đã đề cập trong câu trả lời của tôi chỉ định maxThreads.please giúp tôi để có được sự rõ ràng nếu tôi sai ... :) – Prateek

0

nối Tomcat có thể được cấu hình để chỉ phục vụ một số lượng nhất định các yêu cầu cùng một lúc - đó là cấu hình như thuộc tính MaxConnections của một trong server.xml

0

Từ this forum và một kiểm tra sanity nhanh:

Tomcat có số chuỗi đồng thời tối đa mà nó sử dụng cho các yêu cầu dịch vụ; này có thể được cấu hình trong conf/server.xml [như maxConnections và các tùy chọn liên quan] và là bởi thiết lập mặc định để 50.

+1

Tomcat không có maxThreads quy định trong kết nối trong mặc định máy chủ.cấu hình xml. Và theo tài liệu giá trị mặc định khi maxThreads không được chỉ định là 200. https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Standard_Implementation cũng áp dụng cho Tomcat 6 – JanM

10

Trong server.xml tập tin bạn chỉ định maxThreadsspecifies maximum number of simultaneous requests that can be handled..

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
       enableLookups="false" redirectPort="4443" acceptCount="100" 
       debug="0" connectionTimeout="60000" 
       disableUploadTimeout="true" /> 

Trong Tomcat 7,

The maximum number of request processing threads to be created by this Connector, which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200.

EDIT: Nếu một chấp hành viên có liên quan đến kết nối này, thuộc tính này được bỏ qua như kết nối sẽ thực hiện nhiệm vụ bằng cách sử dụng người thi hành chứ không phải là một hồ bơi thread nội bộ.

Mọi chi tiết, tham khảo liên kết này Tomcat 7 Doc

+0

Bạn đã bỏ qua câu cuối cùng về thuộc tính bị bỏ qua nếu một Executor được định nghĩa. – EJP

+0

đã cập nhật câu trả lời của tôi, có nghĩa là giá trị maxThread được sử dụng trong maxConnections. – Prateek

+0

Giới hạn trên của yêu cầu Tomcat có thể xử lý là gì? –

Các vấn đề liên quan