我的颠覆服务器有问题。进行小型提交工作正常,但是一旦有人尝试提交大型集合相当大的文件,提交就会在中途停止,客户端最终超时。我的测试集包含大约 2000 个文件,提交的总大小约为 1 GB。当我提交文件时,文件上传开始,但传输速率大约在中途下降到 0kb/s,并且提交停止并且永远不会恢复。如果我将提交分成更小的部分(<150 Mb),一切正常,但这会破坏提交结构的原子性,这是我真正想要避免的事情。
当我查看 Apache 生成的日志时,没有错误消息。
当我在 Apache 服务器上将日志级别从debug提升到trace6时,上传停止时出现一些错误:
...
OpenSSL: I/O error, 2229 bytes expected to read on BIO
OpenSSL: read 1460/2229 bytes from BIO
...
使用的版本:
我们正在通过 apache、mod_dav、mod_dav_svn、mod_authz_svn 和 mod_auth_digest 运行与 subversion 的连接。客户端通过 https 连接。
服务器:
- OpenSuse 42.3
- svnserve:1.9.7
- 阿帕奇:2.4.23
客户:
- Windows 10 企业版
- svn 客户端:1.10.0-dev。
到目前为止我尝试了什么:
我尝试在 apache 配置中增加TimeOut值。唯一的区别是客户端在发布超时消息之前更长时间处于停滞模式。
我尝试将MaxKeepAliveRequests从 100 增加到 1000。没有变化。
我尝试将SVNAllowBulkUpdates Prefer添加到 svn 设置。没变。
有没有人对如何调试这些类型的错误有任何提示?