免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1573 | 回复: 0
打印 上一主题 下一主题

[FastDFS] fdfs php客户端上传文件偶尔用时达到10秒 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-16 10:54 |只看该作者 |倒序浏览
本帖最后由 newjueqi 于 2014-07-16 11:08 编辑

fish大大,我们用php客户端来实现文件的上传。
php,tracker,storger都是部署在同一台机器,上传同样的文件(200KB),有时用时达到10秒,这是为啥啊?

下面是上传的源码:
  1. <?php



  2.         public function execute() {
  3.                 $r ['Result'] = 0;
  4.                 $r ['Msg'] = "upload error";
  5.                 date_default_timezone_set("Asia/Chongqing");
  6.                
  7.                         try{
  8.                                 $this->startTime = microtime(true);
  9.                                 $tracker = fastdfs_tracker_get_connection ();
  10.                                 if (! fastdfs_active_test ( $tracker )) {
  11.                                         fastdfs_tracker_close_all_connections();
  12.                                         return;
  13.                                 }
  14.                                 $storage = fastdfs_tracker_query_storage_store ();
  15.                                 if (! $storage) {
  16.                                         fastdfs_tracker_close_all_connections();
  17.                                         return;
  18.                                 }
  19.                                
  20.                                 $path_parts = pathinfo ( $_SERVER ['HTTP_FILE_NAME'] );
  21.                                 if ($path_parts && isset ( $path_parts ['extension'] )) {
  22.                                        
  23.                                         $extName = $path_parts ['extension'];
  24.                                 } else {
  25.                                         $extName = "";
  26.                                 }
  27.                                 $result = fastdfs_storage_upload_by_filebuff ( file_get_contents ( 'php://input' ), $extName, array (), null, $tracker, $storage );
  28.                                  $this->stopTime= microtime(true);
  29.                                
  30.                                 if (is_array ( $result )) {
  31.                                         $r ['Result'] = 1;
  32.                                         $r ['Msg'] =  $result ['group_name'] . "/" . $result ['filename'];
  33.                                 }else{
  34.                                          $r ['Result'] = 0;
  35.                                          $r ['Msg'] ="fastdfs_storage_upload_by_filebuff1 fail, errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info() . "\n";
  36.                                 }
  37.                         } catch (Exception $e) {
  38.                                 $r ['Result'] = 0;
  39.                                 $r ['Msg'] =$e->getMessage();   ;
  40.              }
  41.                
  42.                 //计算上传用时
  43.                 $spendTime= round(($this->stopTime- $this->startTime) , 4);
  44.                
  45.                 fastdfs_tracker_close_all_connections();
  46.         }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP