要在异步写入模式下使用Grizzly

时间:2015-05-13 11:23:05

标签: 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参数之后,我可以看到工作线程正在快速释放,而这些线程在文件传输的整个持续时间内都被保留了。

我知道我需要配置某些参数(例如BufferMemory,Acceptor线程等)才能使这个生产准备就绪。

我的问题是,

  • 添加此JVM参数有什么影响。
  • 是否有一个确定的参数列表,我需要调整这些参数以使其工作副作用较小?
  • 上述配置有哪些替代方案。

官方文档是单行文档,没有提供适当的示例。

1 个答案:

答案 0 :(得分:0)

事实证明,设置-Dcom.grizzly.http.asyncwrite.enabled=true会将Grizzily设置为异步模式。当然,您需要微调其他参数以使其生产就绪。 Glassfish 4.1捆绑了asycn写入模式。