Multithreading 在异步写入模式下使用的Grizzly

Multithreading 在异步写入模式下使用的Grizzly,multithreading,http,asynchronous,glassfish,grizzly,Multithreading,Http,Asynchronous,Glassfish,Grizzly,我正在使用Glassfish 3.1提供静态内容。 客户端HTTP Get请求由Spring的Dispatcher Servlet处理,参数async supported设置为true。静态内容是大约50MB大小的二进制图像。使用Glassfish作为静态内容提供者时,我主要关心的是可伸缩性,直到我偶然发现下面的参数,该参数将Grizzly设置为异步写入模式 -Dcom.grizzly.http.asyncwrite.enabled=true 在设置了上述JVM参数之后,我可以看到工作线程被快

我正在使用Glassfish 3.1提供静态内容。 客户端HTTP Get请求由Spring的Dispatcher Servlet处理,参数async supported设置为true。静态内容是大约50MB大小的二进制图像。使用Glassfish作为静态内容提供者时,我主要关心的是可伸缩性,直到我偶然发现下面的参数,该参数将Grizzly设置为异步写入模式

-Dcom.grizzly.http.asyncwrite.enabled=true
在设置了上述JVM参数之后,我可以看到工作线程被快速释放,而之前的工作线程在整个文件传输过程中一直保持着

我知道我需要配置某些参数(例如缓冲内存、接受线程等),以便为生产做好准备

我的问题是,

  • 添加此JVM参数的效果如何
  • 是否有一个明确的参数清单,我需要调整,使其工作与较少的副作用
  • 以上配置的替代方案是什么

官方文档是单行程序,没有给出适当的示例。

结果表明设置
-Dcom.grizzly.http.asyncwrite.enabled=true
会在异步模式下设置grizzly。当然,您需要对其他参数进行微调,以便为生产做好准备。
Glassfish 4.1与asycn写入模式捆绑在一起。

您使用的是哪个Glassfish版本?@alexey Glassfish 3.1,这是我错过的最重要的细节。您是否使用除servlet之外的任何JavaEE特性?也许在您的情况下,您可以使用普通的Grizzly HttpServer,与Glassfish 3.1相比,它具有更多处理静态文件的功能。。。或者你可以用玻璃鱼4。1@alexey好吧,我使用JEE特性。当然有计划去Glassfish4.1,但那是6个月后的事了。Glasfish 4.1附带的grizzly是否默认采用异步模式(写入)?为异步写入启用grizzly有什么缺点吗?如果有人能就我的原始问题向我提供更多信息,我将不胜感激。
-Dcom.grizzly.http.asyncwrite.enabled=true