0%

fastdfs的后台监控程序里有一段关于字符串解析的操作,使用snprintf进行字符串连接后无论如何解析的字串都是错误的

snprintf(buf,1024,"%s%s",buf);

问题出在这一句,因为sprintf系列比起strcat方便很多而且更加灵活,所以我一直使用sprintf来进行字符串的连接操作,没想到用snprintf就跪了。

后来用sprintf就没问题了

看了一下man

阅读全文 »

本来觉得linux下性能分析只是一系列工具,也没什么难点。后来发现几个工具中间,各有优缺点。

稍微介绍下吧。

gprof:

Linux性能评测工具之一:gprof篇

这个工具比较轻量级,能看到所有的函数调用链,和函数运行时间,原生是只支持单线程监控的,通过文中的方法,可以支持多线程

阅读全文 »

记录会比较零碎,是一些学习经验吧

1.之前一直对fastdfs的nginx模块不够了解,稍微思考调研了下,解决了以前的疑惑

1
2
3
4
location /group1/M00{
alias /data/fastdfs/data;
ngx_fastdfs_module;
}

然后浏览器就可以根据ip/M00/00/00/aaaaaaaaaaaaaaa.jpg类似这样的连接去获取到fastdfs上的文件了

这个配置文件一直是知其然不知其所以然

阅读全文 »



#FastDFS源码解析(1)--------源码目录介绍

概念:

FastDFS是余庆(前阿里巴巴架构师,现易到用车架构师)开发的一个开源的轻量级分布式文件系统,对于小文件的存储性能特别高,适合以文件为载体的在线服务。应用场景不再赘述,网上相关资料不少。然而在很多家大公司明里暗里都使用了FastDFS以后,居然对他代码的分析文章这么少。本人才疏学浅,且尝试着分析一翻,如果分析的不好,诚心求教。

阅读全文 »

FastDFS衍生工具调研

对已有开源项目FastDFS的衍生工具进行调研,主要围绕作者本身提供的工具和github的项目进行,(google code上很多项目基于1.0或者2.0版本,参考意义不是很大)。Java-client就不讨论了,天坑。

以下衍生工具都是结合的当前稳定版的fdfs5.01。

fastdht

Fastdht是作者开发的基于一致性哈希的去中心化分布式KV,基于BDB。使用的人群非常少,对他功能的了解只能围绕源码和作者在论坛语焉不详的一些解释。

阅读全文 »

最近redis集群的研究比较多,把心得稍微梳理一下

redis客户端

redis的c客户端可以用hiredis,完全开源

API主要是以下四个

1
2
3
4
5
6
7
8
redisContext* redisConnect(const char *ip, int port);
//连接
void* redisCommand(redisContext *c, const char *format, ...);
//命令操作
void freeReplyObject(void *reply);
//释放操作结果
void redisFree(redisContext *c);
//释放操作句柄
阅读全文 »

虽然日期标注了14.8.19其实只是为了置顶罢了

记载一些心得感悟经验甚至是闪现的灵感

14.9.12

读源码的最好方式是往里面加log,根据log来追踪源码的运行,函数的调用链,变量的变化等等。读1W遍的理解也没有LOG输出一次深刻。

14.11.6

阅读全文 »

有很多有用的工具和命令,平时使用的很多,但是感觉自我总结的不如前辈们的好,秉承着不转载的原则,只是贴出链接

性能监控:

1 netstat工具:

Linux netstat命令详解

2 iperf工具:

阅读全文 »