Java DropWizard:如果满是100个请求,为什么它会忽略一个连接?

Java DropWizard:如果满是100个请求,为什么它会忽略一个连接?,java,performance,http,connection-pooling,dropwizard,Java,Performance,Http,Connection Pooling,Dropwizard,我们有用于集成测试的gatlingtests(mis)。 基于DropWizard 1.3.5,它在一个地方做的一件事是在同一时刻向测试的服务发送100个HTTP请求 在从DropWizard 0.9.5升级之前,该操作运行良好 但是现在,这些请求在客户端以ConnectException结束,在服务器端我没有看到任何错误-请求被DropWizard默默地忽略。我还查看了JMX上的游泳池,没有看到它们悬挂在任何地方。看起来好像服务器失去了对套接字的跟踪,并且从未发送响应或“挂起” 我已经看过了。

我们有用于集成测试的gatlingtests(mis)。 基于DropWizard 1.3.5,它在一个地方做的一件事是在同一时刻向测试的服务发送100个HTTP请求

在从DropWizard 0.9.5升级之前,该操作运行良好

但是现在,这些请求在客户端以
ConnectException
结束,在服务器端我没有看到任何错误-请求被DropWizard默默地忽略。我还查看了JMX上的游泳池,没有看到它们悬挂在任何地方。看起来好像服务器失去了对套接字的跟踪,并且从未发送响应或“挂起”

我已经看过了。我看不到任何被拒绝的内容和时间的微调。这是我当前的配置:

server:
  maxThreads: 64
  maxQueuedRequests: 1024
  adminMaxThreads: 8
  ...
database:
  url: jdbc:postgresql://localhost:5432/mydb
  poolInitialSize: 20
  poolMaxSize: 100
我之所以包含DB池大小,是因为它可能会收集请求处理IoC的资源,但100应该覆盖所有Dw线程

我希望额外的请求在队列中等待(因为使用了新的IO API,所以AFAIK应该在OS端处理),并由64个线程执行

有趣的是,在我将
maxThreads
设置为64之前,默认值为1024;然后,有时考试通过,有时不通过

我的问题是:
DropWizard是否有意这样做(DoS检测)?
如果是,如何配置它?

如果没有,那么这就是一个bug。

是连接超时还是读取超时?如果读取超时-您的应用程序服务响应时间是否增加?@JigarJoshi,ConnectException。我写了
TimeoutException
,但实际上是Gatling包装,这让我很困惑。编辑。
server:
  maxThreads: 64
  maxQueuedRequests: 1024
  adminMaxThreads: 8
  ...
database:
  url: jdbc:postgresql://localhost:5432/mydb
  poolInitialSize: 20
  poolMaxSize: 100