摘要: hiredis的pipeline实现 使用方式 发送命令 通过连续调用 redisAppendCommand(context, cmd) 将命令拼接成一个长字符串,这个字符串包含所有的命令,且符合redis协议。 字符串拼接过程,如果原字符串空间不足了,就会触发内存再分配和拷贝动作。这是由sds.c 阅读全文
posted @ 2016-04-27 19:21 米开兰基罗 阅读(3414) 评论(0) 推荐(0) 编辑
摘要: 原GCC版本:4.4.7; 目标:升级GCC到4.8.2,以支持C++11。 获取GCC 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz; 解压缩:tar -xf gcc-4.8.2.tar.gz 阅读全文
posted @ 2016-04-21 14:31 米开兰基罗 阅读(855) 评论(0) 推荐(0) 编辑
摘要: 1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 “sudo apt-get install git” 第二步: 创建GitHub帐号 第三步: 生成ssh key,使用命令 “ssh-keygen -t rsa -C "your_email@youremail.com 阅读全文
posted @ 2016-04-20 13:45 米开兰基罗 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 记录linux小技巧 阅读全文
posted @ 2016-04-18 15:53 米开兰基罗 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 数据没有被读取又开始下一次循环 没有设置超时导致死循环 惊群现象 阅读全文
posted @ 2016-04-07 14:10 米开兰基罗 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 很有意思,这么有名的事情,昨天才亲身经历了。 隔壁小王继续用google perftools 排查cpu占用率。先说明一下场景。多服务进程阻塞在select上,这个select是和一个消息队列对应的,一旦有消息进入队列,select就唤醒阻塞的进程,从队列中取消息处理。发现select(__sele 阅读全文
posted @ 2016-04-07 14:09 米开兰基罗 阅读(254) 评论(0) 推荐(0) 编辑
摘要: nar流量测试命令 netperf带宽测试工具 redid-benchmark nmon CPU、带宽监控工具 google perftool 找到最耗cpu的函数。 https://github.com/gperftools/gperftools.git yum install autoconf 阅读全文
posted @ 2016-04-07 14:07 米开兰基罗 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 网络带宽影响redis效率。对于100M的内网,redis单链接每秒处理约2000请求,当带宽被占用30到40M时,处理数降为约500,使用netperf工具将带宽占满,处理数降为250。因此,带宽必须足够大才能确保redis效率恒定。 对所需内网带宽的估算。测试环境中,3x2000TPS占用约30 阅读全文
posted @ 2016-04-05 11:15 米开兰基罗 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 不得不说,对待linux必须要有玩的精神,各种试,最后解决问题,或者没有解决问题。虽然没有解决,但对问题的理解又加深了,某一天再试,可能就解决了。用行话说,不是不报,时候未到。 选择centos 这里最后都没有成功,现在回过头来看, pc ping centos ok, centos ping pc 阅读全文
posted @ 2016-01-28 15:37 米开兰基罗 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 问题:规定手机号为12345678的用户,发送消息的频率阀值为:30/5min, 40/10min, 60/15min, 80/20min, 100/25min, 110/30min.如果发送频次超过阀值,则上报告警。实现:设置6个桶,用于装载频次计数: [0~5min的计数, 绝对时间戳] ... 阅读全文
posted @ 2015-12-21 19:10 米开兰基罗 阅读(1002) 评论(0) 推荐(0) 编辑