Java Apache 2.4.6 Https页面慢度问题

Java Apache 2.4.6 Https页面慢度问题,java,apache,performance,tomcat,webserver,Java,Apache,Performance,Tomcat,Webserver,我配置了Apache2.4服务器,它用作tomcat的代理服务器。在我的Tomcat上部署了两个(可能更多)应用程序&它们都只能使用apacheweb服务器IP和端口(443https)访问 但每当我尝试访问Login.htm页面时,加载单个页面几乎需要10-15秒。当我尝试使用用户名和密码登录时,这里的欢迎页面需要1分钟20秒才能加载 然而,在我的本地环境(本地IP和端口(8080HTTP))中,登录页面需要1秒,欢迎页面需要3-4秒。注意-在我的本地环境中没有配置apache web服务器

我配置了Apache2.4服务器,它用作tomcat的代理服务器。在我的Tomcat上部署了两个(可能更多)应用程序&它们都只能使用apacheweb服务器IP和端口(443https)访问

但每当我尝试访问Login.htm页面时,加载单个页面几乎需要10-15秒。当我尝试使用用户名和密码登录时,这里的欢迎页面需要1分钟20秒才能加载

然而,在我的本地环境(本地IP和端口(8080HTTP))中,登录页面需要1秒,欢迎页面需要3-4秒。注意-在我的本地环境中没有配置apache web服务器

我在ApacheWeb服务器上尝试了很多性能调优方法,但没有一种适合我。我不知道这里少了什么。谢谢你的帮助。 提前谢谢

下面是我的apache服务器配置

Listen 443 https

SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog

SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300

SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin

SSLCryptoDevice builtin

<VirtualHost <APP_SERVER_IP_ADDR>:443>

ServerName <APP_SERVER_IP_ADDR>
ServerAlias <APP_SERVER_IP_ADDR>

ErrorLog /var/log/httpd/ssl_error_log
TransferLog /var/log/httpd/ssl_access_log
LogLevel info

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    ProxyRequests     Off
    SSLProxyEngine  On
    ProxyPreserveHost On
    RewriteEngine On
    HostnameLookups off

    <Proxy <APP_SERVER_IP_ADDR>:443>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass         /application1 http://<WEB_SERVER_IP_ADDR>:9660/application1
    ProxyPassReverse  /application1 http://<WEB_SERVER_IP_ADDR>:9660/application1

    ProxyPass         /application2 http://<WEB_SERVER_IP_ADDR>:9660/application2
    ProxyPassReverse  /application2 http://<WEB_SERVER_IP_ADDR>:9660/application2

    <Location /proxy/>
      ProxyPassReverse /
      Order deny,allow
      Allow from all     
    </Location> 

    Header edit Location ^http://<APP_SERVER_IP_ADDR>/ https://<APP_SERVER_IP_ADDR>/

    Timeout 10
    ProxyTimeout 10
    ProxyBadHeader Ignore

</VirtualHost>
收听443 https
SSLPassPhraseDialog exec:/usr/libexec/httpd ssl密码对话框
SSLSessionCache shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout 300
SSLRandomSeed启动文件:/dev/uradom 512
SSLR和OMSEED连接内置
SSLCryptoDevice内置
服务器名
服务器别名
ErrorLog/var/log/httpd/ssl\u错误\u日志
传输日志/var/log/httpd/ssl\u访问日志
日志级别信息
斯伦金安
SSLProtocol all-SSLv2
SSLCipherSuite高:中:!阿努尔:!MD5:!种子:!主意
SSLCertificateFile/etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile/etc/pki/tls/private/localhost.key
发展+标准
发展+标准
浏览器匹配“MSIE[2-5]”\
nokeepalive ssl不干净关闭\
降级-1.0力响应-1.0
自定义日志/ssl请求日志\
%t%h%{SSL\u协议}x%{SSL\u密码}x\%r\%b
代理请求关闭
SSLProxyEngine打开
代理主机
重新启动发动机
主机名查询
命令拒绝,允许
通融
ProxyPass/application1 http://:9660/application1
ProxyPassReverse/application1 http://:9660/application1
ProxyPass/application2 http://:9660/application2
ProxyPassReverse/application2 http://:9660/application2
ProxyPassReverse/
命令拒绝,允许
通融
标题编辑位置^http:///https:///
超时10
代理超时10
ProxyBadHeader忽略

在深入研究apache API之后,我终于发现我的应用程序中存在一个大问题

我们正试图在我们的生产系统中实现三层体系结构。当我们使用ApacheWeb服务器(作为代理服务器)从web服务器传输到应用服务器时,有很多Js、CSS和图像文件从我的应用程序传输

当用户从Web服务器请求Login.htm(或访问任何其他页面)时,my app server将响应此请求。由于有大量的Js、CSS和图像文件从应用程序传输到Web,最后从Web传输到浏览器,因此单次请求大约需要15秒

为了克服这种情况,我将所有与Js、CSS和图像相关的文件移动到web服务器。所以所有HTML相关的东西现在都从Web服务器加载,而不是从AppServer加载。为此,我在ssl.conf中添加了以下几行

DocumentRoot "/var/www/html"
ProxyPass /application1/resources !
DocumentRoot中的路径是我的Web服务器的上下文路径,我在其中创建了“application1”目录,并添加了“resources”目录,其中包含所有js、css和图像文件

现在,我的应用程序需要4-7秒来加载Login.htm页面