免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: workyixin
打印 上一主题 下一主题

[FastDFS] 4个关于fastDFS的大数据量下性能的问题 [复制链接]

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-18 10:35:42
11 [报告]
发表于 2014-04-07 15:08 |只看该作者
请问楼主是如何实现记录文件的上传与下载时间的?我最近在写一个相关的作业,焦急的期待中。。。

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-18 10:35:42
12 [报告]
发表于 2014-04-07 15:13 |只看该作者
请问楼主如何得到文件的上传与下载的时间,最近在做一个相关的事情,在线等。。。谢啦!

论坛徽章:
0
13 [报告]
发表于 2014-04-10 04:58 |只看该作者
回复 12# 33bubble


    上传时间:很简单,客户端java程序批量上传:开始前记录一个当前时间,然后等上传完10万大图和10万小图之后,再得到当前时间,相减得到两者间隔(101分钟)。
    下载时间:这是请测试人员使用loadrunner压力测试得到的,50并发循环访问dfs中存储的图片,loadrunner会计算出平均的响应时间。

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-18 10:35:42
14 [报告]
发表于 2014-04-14 20:24 |只看该作者
非常感谢楼主。可是我是初次接触FastDFS,没有深入了解,我近几天一直有个的想法是直接在FastDFS下的client目录下直接在fdfs_download_file.c中添加gettimeofday(&start,NULL)和gettimeofday(&end,NULL),然后两者相减得到的结果printf出来,但是在执行完程序后,无法显示结果,请您帮我分析一下,麻烦了!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <string.h>

#include <sys/time.h>#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "fdfs_client.h"
#include "logger.h"
#define MILLION 1000000L
int main(int argc, char *argv[])
{
        char *conf_filename;
        char *local_filename;

        TrackerServerInfo *pTrackerServer;
        int result;
        char file_id[128];

        int64_t file_size;

       long timedif;
        struct timeval tpend,tpstart;
       gettimeofday(&tpstart,NULL);
        if (argc < 3)
        {
                printf("Usage: %s <config_file> <remote file id> " \
                        "[local filename]\n", argv[0]);
                return 1;
        }

        log_init();
        g_log_context.log_level = LOG_ERR;

        conf_filename = argv[1];
        if ((result=fdfs_client_init(conf_filename)) != 0)
        {
                return result;
        }

        pTrackerServer = tracker_get_connection();
        if (pTrackerServer == NULL)
        {
                fdfs_client_destroy();
                return errno != 0 ? errno : ECONNREFUSED;
        }

        snprintf(file_id, sizeof(file_id), "%s", argv[2]);

        if (argc >= 4)
        {
                local_filename = argv[3];
        }
        else
        {
                local_filename = strrchr(file_id, '/');
                if (local_filename != NULL)
                {
                        local_filename++;  //skip /
                }
                else
                {
                        local_filename = file_id;
                }
        }

        result = storage_download_file_to_file1( \
                        pTrackerServer, NULL, \

                       file_id,local_filename,&file_size);
gettimeofday(&tpend,NULL);
        timedif=MILLION*(tpend.tv_sec-tpstart.tv_sec)+tpend.tv_usec-tpstart.tv_usec;

       printf("the time is %ld second",timedif);
;
        if (result != 0)
        {
                printf("download file fail, " \
                        "error no: %d, error info: %s\n", \
                        result, STRERROR(result));
        }


        fdfs_quit(pTrackerServer);
        tracker_close_all_connections();
        fdfs_client_destroy();

        return 0;
}

之后步骤是:执行make,make install后,对文件进行下载。
可是时间无法显示出来。

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-18 10:35:42
15 [报告]
发表于 2014-04-14 20:26 |只看该作者
希望楼主不要嫌我烦,我只是想弄明白

论坛徽章:
0
16 [报告]
发表于 2014-04-15 06:31 |只看该作者
回复 15# 33bubble

不好意思啊,不熟悉C语言,我用的是java客户端。你请别人帮忙看下吧。
貌似思路没问题,你再设法调试和编译吧。
另外不如自己编新的程序来调用源程序,这样自己可以循环多次调用上传or下载功能,自动计算时间平均值,打印输出。
   

论坛徽章:
1
2015亚冠之西悉尼流浪者
日期:2015-05-18 10:35:42
17 [报告]
发表于 2014-04-15 07:49 |只看该作者
谢谢您了!

论坛徽章:
0
18 [报告]
发表于 2014-05-04 11:07 |只看该作者
调用它的日志函数,程序里肯定做了重定向了,调试信息我一般都是通过日志来输出的回复 14# 33bubble


   

论坛徽章:
0
19 [报告]
发表于 2014-08-04 13:43 |只看该作者
mark 持续关注

论坛徽章:
0
20 [报告]
发表于 2014-12-09 17:12 |只看该作者
java客户端每上传一次都要close到trace的连接是吧?
也就是这个是短连接啦?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP