Tomcat+BlazeDS+AMF-第一次响应非常慢,配置问题?

Tomcat+BlazeDS+AMF-第一次响应非常慢,配置问题?

我的 Web 服务器容器是 Tomcat 6.0.14

JVM 1.6.0_17-b04

BlazeDS 3.2.0.3978

我从同一台本地机器通过 AMF 向 BlazeDS 服务器发送请求,只有第一个请求需要大约 10 秒才能完成。每个后续请求都正确进行(非常快,不到 0.5 秒)。有人知道响应如此缓慢的原因是什么吗?

我是一名开发人员,不是管理员,所以请耐心等待:)

答案1

类加载和用户状态创建是最明显的两个可能原因。

答案2

是的,一般类加载很可能是罪魁祸首。您是否在 web.xml 中将 messagebroker servlet 设置为在启动时加载?如果没有,这可能有助于在服务器启动时在第一个请求到来之前加载一堆内容。

答案3

在服务器 web.xml 文件中,我只有 2 个默认注册的 servlet(org.apache.catalina.servlets.DefaultServlet)和 jsp(org.apache.jasper.servlet.JspServlet)

我的应用程序的 Web.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>Kums</display-name>

    <context-param>
        <param-name>flex.class.path</param-name>
        <param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>
    </context-param>

    <listener>
        <listener-class>flex.messaging.HttpFlexSession</listener-class>
    </listener>

    <servlet>
        <servlet-name>MessageBrokerServlet</servlet-name>
        <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
        <init-param>
            <param-name>services.configuration.file</param-name>
            <param-value>/WEB-INF/flex/services-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>flex.write.path</param-name>
            <param-value>/WEB-INF/flex</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>MessageBrokerServlet</servlet-name>
        <url-pattern>/messagebroker/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

</web-app>

当我将 MessageBrookerServlet 的 servlet 和 servlet 映射定义从应用程序 web.xml 复制到服务器 web.xml 时,tomcat 在启动时抛出异常 ClassNotFoundException。这里我上传了整个 tomcat 启动调试输出。

谢谢

相关内容