Weakyon Blog

Weakyon

Log Structured Merge Trees译文以及LSM调研心得

原文 原文 直接看原文有些糊涂,所以翻译一下看,也为了和朋友分享一下。能力有限,所以翻译的会很蠢,求指点0.0 看完译文以后可以按照顺序浏览以下几篇博文。感觉讲的很透彻。 LSM树存储模型 LevelDB关键实现图解 数据分析与处理之二(Leveldb 实现原理) leveldb源码阅读分析笔记 看完这些就循序渐进大致对leveldb有个基础了解了。如果后面工作有需要,我也会...

(nginx源码系列一)--nginx源代码初步学习

nginx真是博大精深,最近写fastdfs的动态缩略图模块,刚好能有时间研究下,真是满心欢喜。 学习主要是靠两本书,其他的稍微搜搜也就能解惑了。 《Nginx模块开发与架构解析》这个我看的电子PDF 《Nginx开发从入门到精通》这个有网页版本的,挺好的: Nginx开发从入门到精通 nginx源代码初步学习(1)——–《Nginx模块开发与架构解析》的勘误 nginx源代...

android jni的坑

传统的jni方式是这个步骤 1.在java文件中定义native函数 2.使用javah 生成对应C函数定义并实现 3.编写Android.mk把C源码用ndk编译成动态库 4.在java中调入编译好的动态库 然而android下是不行的,android下的jni必须要有JNI_OnLoad函数 #define JNIREG_CLASS "com/hello/hellowo...

密码模块二三事

公司需要,需要对一些加解密模块做调研。 把一些参考资料贴出来 AES、DES、3DES算法的C语言实现 这个是内核中摘出的算法,不知道为什么特别慢,DES加解密一起只能到7M/S的数据处理 OpenSSL - DES openssl的des很快,加密解密一起能到28M/S的速度 #include <stdio.h> #include <openssl/des.h...

服务器性能测试二三事

新到手的机器,从运维手里交接必须要进行一些基本功能的测试。 对于我接手的小文件系统来说,最关键的就是磁盘和网络了。 一些有用的工具 这篇文章带了下fio和iperf但是没有详细介绍。 下面对fio稍微梳理一下 使用方式: 安装FIO: yum install gcc libaio-devel -y wget http://brick.kernel.dk/snaps/fio-2.0...

关于redis集群线上以及测试环境出现read time out,connect time out的总结

time out这个问题是我刚实习的时候所有的业务组就都存在并且反应的。但是最近这段时间才定位了错误,固然这中间弄了小文件系统等等,但主要还是本人能力不太够导致的。 由于定位的时间拖得太长,导致大家对twemproxy-redis都有一种不稳定,不放心的看法,然而今天要为它正名: 代码没问题,一切都是网络不稳定惹的祸。 1 首先分析测试环境。 在测试组和同步业务的帮助下,我们拉来了d...

记twemproxy的一次性能测试

twemproxy的性能应该很好,毕竟是twitter在使用的,稳定性应该很高。 然而测试组的同学对其二倍扩容以后,基本没提升QPS,甚至QPS还降低了 我和我的小伙伴们一直以为是客户端或者服务端代码的问题,各种抓包,LOG分析,查不出原因。写了C,JAVA等多个客户端版本。 后面发现原来是测试组的布线坑爹了。 关于之前测试环境redis集群极限qps提升不上去的问题,认定是由于之前...

nginx-image模块和fastdfs module的协作

FastDFS组合nginx的http_image_filter_module建立的图片服务器,实现动态缩略图 用fastdfs存储图片,然后用nginx的图片处理模块http_image_filter_module处理图片,根据输入的地址中的图片大小动态生成缩略图 原图http://192.168.8.127:801/group1/ … WAAL8RoEHXq8410.jpg 动态生...

mysql二三事

我的学习历程是先接触的nosql而后接触的mysql,所以这里记下的只是初学的一些东西,没什么见地。 1.安装mysql并且初始化 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 安装mysql 服务器端: yum install mysql-server yum install mysql-devel...

snprintf做字符串连接时的坑

fastdfs的后台监控程序里有一段关于字符串解析的操作,使用snprintf进行字符串连接后无论如何解析的字串都是错误的 snprintf(buf,1024,”%s%s”,buf); 问题出在这一句,因为sprintf系列比起strcat方便很多而且更加灵活,所以我一直使用sprintf来进行字符串的连接操作,没想到用snprintf就跪了。 后来用sprintf就没问题了 看了一...