0

大家好,可以验证我在 glassfish 上的 SSL 实现吗?

我的 glassfish 服务器中有一个域 cloud3.dyalogodev.com。

SSL 可以收费,但我的应用程序的渲染速度很慢,你能测试一下吗?

https://cloud3.dyalogodev.com:8182/dyalocbx/

但是没有 https 很快:

http://cloud3.dyalogodev.com:8081/dyalocbx/

In addition the server throw an error:

java.io.IOException: Write timeout exceeded when trying to flush the data
    at org.glassfish.grizzly.http.io.OutputBuffer.blockAfterWriteIfNeeded(OutputBuffer.java:1023)
    at org.glassfish.grizzly.http.io.OutputBuffer.write(OutputBuffer.java:725)
    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:336)
    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:323)
    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:154)
    at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:458)
    at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:351)
    at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:178)
    at org.primefaces.application.resource.PrimeResourceHandler.handleResourceRequest(PrimeResourceHandler.java:87)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:667)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1580)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:338)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:100)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:652)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:591)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:463)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:168)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:242)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream(Http2Session.java:1309)
    at org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream(Http2Session.java:1285)
    at org.glassfish.grizzly.http2.Http2ServerFilter$2.run(Http2ServerFilter.java:1033)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573)
    at java.lang.Thread.run(Thread.java:748)


java.io.IOException: Connection is closed
    at org.glassfish.grizzly.nio.NIOConnection.assertOpen(NIOConnection.java:460)
    at org.glassfish.grizzly.http.io.OutputBuffer.write(OutputBuffer.java:687)
    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:336)
    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:323)
    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:154)
    at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:458)
    at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:351)
    at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:178)
    at org.primefaces.application.resource.PrimeResourceHandler.handleResourceRequest(PrimeResourceHandler.java:87)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:667)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1580)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:338)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:100)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:652)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:591)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:463)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:168)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:242)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream(Http2Session.java:1309)
    at org.glassfish.grizzly.http2.Http2Session.sendMessageUpstream(Http2Session.java:1285)
    at org.glassfish.grizzly.http2.Http2ServerFilter$2.run(Http2ServerFilter.java:1033)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Locally closed

请帮助我,谢谢提前。

4

1 回答 1

1

这不是您有趣问题的解决方案,但我需要比评论更多的空间来提供一些反馈。

  • 在 Windows 10 机器上,我在几个浏览器中尝试了 URL https://cloud3.dyalogodev.com:8182/dyalocbx/:Chrome、Edge、Firefox、Opera和 Vivaldi。
  • 在所有浏览器中响应都很快,除了 Firefox,响应需要大约一分钟才能完成。
  • 使用Web Developer > Performance我捕获了瀑布输出。请参阅下面的屏幕截图。
  • 似乎几乎所有的时间都花在了垃圾收集的各个阶段(CC Graph ReductionNon-incremental GCMinor GCCycle Collection),或者这些阶段之间的转换。屏幕截图显示,除了CC Graph Reduction之外,大约 16 秒什么都没做,Mozilla 将其描述为“ Cycle Collection 的准备/预优化”。花费这么长时间显然是错误的。
  • 请注意,在屏幕截图的底部还有一些警告

    1. 源“<a href="https://cloud3.dyalogodev.com:8182/dyalogocbx/javax.faces.resource/jquery/jquery-plugins.js.jsf?ln=primefaces&v=6.0 的 <script> 加载失败“ rel="nofollow noreferrer">https://cloud3.dyalogodev.com:8182/dyalogocbx/javax.faces.resource/jquery/jquery-plugins.js.jsf?ln=primefaces&v=6.0”。
    2. TypeError: this.jq.draggable 不是函数[了解更多]
  • 上面的信息只是描述性的,不是诊断性的。我不知道是什么导致了这个问题。也许您可以简化 JSF 页面中的代码,然后如果性能问题消失,则逐步重新引入复杂性。

  • 我认为这个问题可能比 Stack Overflow更适合 Mozilla 论坛或SuperUser 。

瀑布快照

于 2018-05-10T17:30:30.067 回答