happyfish100 / fastdfs

FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance. Wechat/Weixin public account (Chinese Language): fastdfs
GNU General Public License v3.0
8.97k stars 1.98k forks source link

分片上传的文件,2台storage服务同步特别慢的问题 #620

Closed yangwping closed 1 year ago

yangwping commented 1 year ago

使用JAVA SDK 客户端的 upload_appender_file和append_file 接口上传文件之后,2台storage的服务文件同步特别慢,查询日志,发现同步的服务有个1分钟 connection timeout,但是文件能正常同步过去。 使用的版本是:6.9.3 备注:由于我们使用应用直连FastDFS服务,访问文件是我们自己写的应用,所以没有部署nginx,和这个有关系吗? 日志如下:

[2023-02-22 16:38:51] INFO - file: storage_sync_func.c, line: 114, successfully connect to storage server xxx.xx.x.xx:23000 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:38:51] ERROR - file: tracker_proto.c, line: 64, server: xxx.xx.x.xx:23000, response status 17 != 0 [2023-02-22 16:38:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 17 [2023-02-22 16:39:51] ERROR - file: tracker_proto.c, line: 53, server: xxx.xx.x.xx:23000, recv data fail, errno: 110, error info: Connectiontimed out [2023-02-22 16:39:51] ERROR - file: storage_sync.c, line: 466, fdfs_recv_response fail, result: 110 [2023-02-22 16:39:51] DEBUG - file: storage_sync.c, line: 3204, index: 0, current record offset: 17368105, next record offset: 17368179

happyfish100 commented 1 year ago

可能是已知bug导致的,请升级到v6.9.4。

yangwping commented 1 year ago

升级之后,还是有问题,被同步的服务日志:file: sf_nio.c, line: 356, current stage: 4 equals to the target, skip set,过1分之后,源文件同步服务就超时了。 日志是下面这个: [2023-02-22 21:57:38] DEBUG - file: storage_service.c, line: 5807, client ip: xxx.xx.x.xx, file /home/fastdfs/data01/data/06/71/rBACOWP0i5OEYsJfAAAAAFZHrso225.zip, my file size: 5400932 >= src file size: 2097152, do not append [2023-02-22 21:57:38] DEBUG - file: sf_nio.c, line: 356, current stage: 4 equals to the target, skip set [2023-02-22 21:58:39] DEBUG - file: sf_nio.c, line: 490, client ip: xxx.xx.x.xx, connection is closed

可能是已知bug导致的,请升级到v6.9.4。

happyfish100 commented 1 year ago

问题已经修复,FastDFS server端重新编译和安装master分支的 libserverframe,然后重启服务即可。 感谢反馈,有问题随时联系。

yangwping commented 1 year ago

部署新的之后,已经修复,谢谢!