Nginx + PHP(FastCGI)环境下上传到Storage报错的问题

发布于 2022-09-06 05:55:49 字数 492 浏览 16 评论 5

测试环境:
Linux 内核 2.6.9 RHEL AS 4.5
nginx 0.7.61
php 5.2.10
php-fpm 0.5.11 patch
FastDFS 2.0.3
两台tracker和两台storage

使用fdfs_test进行命令行测试上传100次,没有问题
使用php命令行测试fastdfs_test.php,测试连接100次,每次上传3个文件,没有问题

但是将同一个fastdfs_test.php放在web环境中,本机使用curl循环访问100次,每次上传3个文件,有7%左右的文件上传失败
执行fastdfs_storage_upload_by_filename后通过判断$file_info为空,得到如下报错信息

errno: 4, error info: Interrupted system call

请问各位有没有解决的办法或分析的方法,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

初熏 2022-09-19 03:18:55
  1. Nov 25 10:59:46.896495 [WARNING] fpm_stdio_child_said(), line 167: child 9417 (pool default) said into stderr: "[2010-11-25 10:59:46] ERROR - file: ../tracker/tracker_proto.c, line: 37, server: xxx.xxx.xxx.xxx:23000, recv data fail, errno: 4, error info: Interrupted system call"
  2. Nov 25 11:11:16.630913 [WARNING] fpm_stdio_child_said(), line 167: child 9362 (pool default) said into stderr: "[2010-11-25 11:11:16] ERROR - send data to tracker server xxx.xxx.xxx.xxx:22122 fail, errno: 104, error info: Connection reset by peer"
  3. Nov 24 11:37:39.684161 [WARNING] fpm_stdio_child_said(), line 167: child 9350 (p
  4. ool default) said into stderr: "[2010-11-24 11:37:39] ERROR - file: ../tracker/t
  5. racker_proto.c, line: 37, server: xxx.xxx.xxx.xxx:22122, recv data fail, errno: 107
  6. , error info: Transport endpoint is not connected"

复制代码以上三个错误反复出现,先在已经升级server和client library到2.0.3,错误依旧

但是使用php命令行没有发生错误,难道是client library和php-cgi不兼容?

眼前雾蒙蒙 2022-09-18 13:53:40

回复 4# tongyan

出错信息能贴一下么?

何以畏孤独 2022-09-18 04:02:22

回复 3# happy_fish100

    测试的时候是使用单线程,没有并发。
回头我再测试一下最新的nginx+php环境
今天又发现
fastdfs_storage_get_metadata 时也会出错
但是fastdfs_get_file_info不会

怼怹恏 2022-09-10 08:31:48

回复 1# tongyan

是多线程模式么?有并发访问么?

寂寞陪衬 2022-09-09 05:20:29

回复 1# tongyan

这个问题暂时还看不出什么头绪。
建议将nginx升级到最新的稳定版本试试。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文