1

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

Apache 2.4.3 版 Mod_jk 1.2.15 版 Tomcat 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

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

4

1 回答 1

2

我们对缓慢的 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 )进行了一些测试,并取得了很好的效果

于 2013-02-04T06:49:39.973 回答