【问题标题】:apache frontend slowing the filuploadapache前端减慢文件上传
【发布时间】:2013-02-01 07:54:20
【问题描述】:

以下是我的设置。我有一个 apache 服务器和 mod_jk 模块,用于负载平衡 2 个启用粘性会话的 tomcat 服务器。文件直接上传到各个tomcat比通过apache上传要快很多。我们发现 MPM 模块会对大线程产生一些影响。所以我们也在使用它。现在只有一个线程和大文件,它比直接访问 tomcat 服务器要慢得多。 [00:33 对 4:30]。

Apache 版本 2.4.3 mod_jk 版本 1.2.15 雄猫 6

httpd.conf

LoadModule jk_module modules/mod_jk.so

JkWorkersFile          conf/workers.properties
JkLogFile              logs/jk.log
JkLogLevel             debug

JkMount                /*            router
JkMount                /jk_status    status

<Location /server-status>
SetHandler server-status
Allow from 192.168.188.143
</Location>

<IfModule unixd_module>
User daemon
Group daemon
</IfModule>

worker.properties

worker.list=router,status

worker.worker1.port=8009
worker.worker1.host=192.168.188.128
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker1.sticky_session=1

worker.worker2.port=8009
worker.worker2.host=192.168.188.129
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
worker.worker2.sticky_session=1

worker.router.type=lb
worker.router.balanced_workers=worker1,worker2

worker.status.type=status

请帮忙!!!我错过了一些重要的设置吗?请告诉我

【问题讨论】:

    标签: apache tomcat file-upload load-balancing mod-jk


    【解决方案1】:

    我们对缓慢的 apache 文件上传操作做了一些进一步的调试,并得到了缓慢的根本原因,如下所述:

    我们使用 mod_jk 连接器让 apache 与 tomcat 服务器通信,但遇到了两个问题:

    1. Mod_jk 连接器日志级别默认设置为调试,这使得所有上传的数据字节也写入 jk.log 文件,因此导致速度缓慢,更正后时间下降到 1 分 30 秒相比到我们最初观察到的 4 分 30 秒。更好但还不够!
    2. 经过进一步调试,我们发现 mod_jk 后面的连接器协议,即 AJP 具有 64 KB 的最大数据包大小的固有限制,这低于我们的服务器端可以消耗的 16 MB,我猜在看到测试设置的配置后。所以 mod_jk 端的管道很窄,因此影响了端到端的上传速度。

    在此之后我们使用http连接器(通过mod_proxy)和负载均衡器(通过mod_proxy_balancer)做了一些测试,并取得了很好的效果

    【讨论】:

      猜你喜欢
      • 2021-03-02
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 2023-04-03
      相关资源
      最近更新 更多