自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 收藏
  • 关注

分析 mnesia 索引慢的问题,结果出乎意料.

分析 mnesia 索引慢的问题,结果出乎意料.因为 ejabberd 设计思路对 mnesia 做缓存情有独钟。排除 cowboy 系统本身性能问题之后决定分析代码。前段时间对Cloud做压力测试意外发现,当测试将要结束时,从出现socket断开开始系统变得非常缓慢。甚至一个 http 请求相应也得花上1分多钟,甚至更长,这显然问题非常严重。对缓存性能之前做过测试,所以分析问题时直...

2015-12-15 15:09:28 280

Influxdb 分组查询 bug

 查询时 用日期查 select first(0x00060001) as 0x00060001 from update_gadget_attr group by time(12h) fill(null) where time >'2015-05-21 00:00:01' and time < '2015-05-21 23:00:00' and gadget_id='e346...

2015-05-21 17:40:03 3832

添加好友时, set roster是可选的。只发送 type=subscribe的presence即可

 添加好友时, set roster是可选的。只发送 type=subscribe的presence即可。 set roster 也只是为了添加昵称和分组用的有同事问起,结果忘记了,就又翻阅了一下文档,如下描述Implementation Note: Many XMPP clients prompt the user for information about the potenti...

2014-09-03 17:21:07 243

keepalive

{keepalive, Boolean}(TCP/IP sockets)Enables/disables periodic transmission on a connected socket, when no other data is being exchanged. If the other end does not respond, the connection is cons...

2014-08-12 17:30:01 129

原创 The POST and GET of Mochiweb

 %% The request  of POST113     Form = mochiweb_request:parse_post(Req),     %%  The request of GET113     Form = mochiweb_request:parse_qs(Req),     %% The file  upload 79     Form = ...

2014-07-31 15:34:02 125

原创 mochiweb返回结果指定UTF-8编码

201 Form = mochiweb_request:parse_qs(Req), %% 获取GET请求的参数202 Server = get_bin(proplists:get_value("server", Form, "wx.com")),203 [Version, Desc] = odbc_upload_apk:get_version(Serve...

2014-07-31 15:26:29 117

erlang 手动回收内存

%%% Garbage collection may take far longer to trigger for 100,000 refc binaries%%% than for far fewer non-counted binaries, or may just as well never happen.%%% In this case, the memory is never...

2014-01-20 16:39:34 234

Erlang内存分布

此文来自:https://blog.heroku.com/archives/2013/11/7/logplex-down-the-rabbit-hole网站The amount returned by erlang:memory/0-1 is the amount of memory actively allocated, where Erlang terms are laid in m...

2014-01-17 20:18:40 353

flush 方法小用和pid()方法

1> flush(). ok2> Pid = self().<0.32.0>3> Pid ! 13> .14> Pid ! 2.25> Pid ! 3.36> flush().Shell got 1Shell got 2Shell got 3 刚学erlang时特别是在学习er...

2014-01-08 19:23:44 119

解决更新自定义mapreduce代码 需要riak重启问题

 解决更新自定义代码riak重启问题 1、创建自定义代码目录 如/home/jason/work/huanyue/server/trunk/trend_riak2、修改etc/app.config 文件添加自定义目录 73  %% Riak KV config 74  {riak_kv, [ 75             {add_paths, ["/home/jaso...

2013-10-23 12:39:24 107

原创 两个周前挖了一个坑,现在跳了进去<riak mapreduce 分析>,顺便能实现分页功能了...

我现在有一个这样的bucketid    followed_id    followr_id 1     lxw            jason      2     jason          lxw3     langxw         jason4     jason          langxw要得到这样一组数据[1](统计粉丝数,当然粉丝数可以预先计算...

2013-08-08 18:36:39 114

mongdb "errmsg" : "exception: 'out' has to be a string or an object"

解决"errmsg" : "exception: 'out' has to be a string or an object"map=function (){ for(var key in this){ emit(key, {count:1}); }}reduce=function (key, emits){ total=0; for(var i in emits){ total+=em...

2013-07-14 19:22:16 168

MongDb group操作

这几天看了mongdb权威指南这本书,但是我下载的最新的版本(mongodb-src-r2.4.5)。 有些例子执行不成功。如下面:1、一条都没有返回 初始化time为0,&gt; db.runCommand({"group":{"ns":"stocks", "key":"day","initial":{"time":0},"$reduc

2013-07-14 19:16:09 103

riak mapreduce worker_limit_reached 错误

1、 =ERROR REPORT==== 9-Jul-2013::12:26:19 ===trends_riak_query::find 37 Error={error,&lt;&lt;"{\"phase\":0,\"error\":\"[worker_limit_reached]\",\"input\":\"{&lt;&lt;\\\"collectio

2013-07-09 16:10:51 281

开发者需要提前了解产品需求和功能吗?开发者与产品需求

 昨晚我临时无意中参加了一个关于我们产品的2.3版本需求讨论的会议。当我拿到一张40多个功能列表时,我蒙了。几乎所有的功能我之前一无所知。只是利用其他时间从设计那边了解到这次UI似乎回到去年版本上去了。 今早我特意问了客户端开发的同学,他说这些功能他之前也一无所知。问了一个服务器开发的,他也只说听说过。试想突然空降这么多需求,事前没有任何心理预期,大部分人会产生一种无形...

2013-05-28 10:35:19 159

Erlang bit语法入门-1

 Erlang bit语法入门1&gt; Red=2, Green=61, Blue=20.3&gt; Mem = &lt;&lt;Red:5, Green:6, Blue:5&gt;&gt;. #Red分配5个bit存储空间,Green:分配6个bit存储空间, Blue分配5个bit存储空间 5+6+5=16正好是两个字节,Erlang程序书上解释:创建了2个字节的二进制数...

2013-05-14 12:18:27 139

双向链表操作日志文件

2、在第 2.11 节 “本节综合练习”的习题1中规定了一种日志文件的格式,每行是一条记录,由行号、日期、时间三个字段组成,由于记录是按时间先后顺序写入的,可以看作所有记录是按日期排序的,对于日期相同的记录再按时间排序。现在要求从这样的一个日志文件中读出所有记录组成一个链表,在链表中首先按时间排序,对于时间相同的记录再按日期排序,最后写回文件中。比如原文件的内容是:1 2009-7-30 1...

2013-04-20 10:25:53 127

双链表插入自动排序

今天开了一上午无聊的会议,利用一些时间想了一下,双列表插入自动排序问题。这双链表还是花了我很多时间,早上测试结果,总是不对是因为我的list_node输出造成的,让我误以为打印结果不对。 1 /* doublylinkedlist.c */ ...

2013-04-19 19:18:30 198

利用环形链表实现 Josephus杀人游戏

利用环形链表实现 Josephus杀人游戏 1 #include &lt;stdlib.h&gt; 2 #include &lt;stdio.h&gt; 3 #include "circular.h" 4 5 void make_n(int n); 6 void kill_one(int, int); 7 void main(int argc, cha...

2013-04-18 17:37:06 175

环形双链表与蛋疼的链表反转

  错误蛋疼的反转 temp引用的地址已经被改变了所以不能实现反转105 void reverse(void)106 {107     link node = head-&gt;next;108     link temp;109     temp = head;110     head-&gt;next = head-&gt;pre;111     h...

2013-04-18 17:34:25 117

单链表反转 指针坑

单链表反转 指针坑 当我看到单链表反转这题目时,感觉这么简单啊。事实很多坑,一不小心就跳进去了。到现在我都记不清跳了多少坑。写代码时不是死循环就是就是丢数据。 这 其实本质上是 指针的坑。一不留神就over了。 因为前面已经实现过各种列表的插入。1、我首先想到的是从A链表中取出数据再生成一个新的链表B,从表头脑插入这样成了链表的反转了。就顺手写了下面代码[1],运行进入死...

2013-04-15 17:48:03 125

链表插入并自动排序操作思考

链表插入并自动排序操作思考修改insert函数实现插入排序的功能,链表中的数据按从小到大排列,每次插入数据都要在链表中找到合适的位置再插入。在第 6 节 “折半查找”中我们看到,如果数组中的元素是有序排列的,可以用折半查找算法更快地找到某个元素,想一想如果链表中的节点是有序排列的,是否适用折半查找算法?为什么? 1、插入并排序 64 link insert(link lnode...

2013-04-12 17:03:14 180

链表的不同的插入操作的思考

1、此函数中的head被定义为static,所以不需要用return来返回来自http://learn.akae.cn/media/ch26s01.htmlinsert函数虽然简单,其中也隐含了一种特殊情况(Special Case)的处理,当head为NULL时,执行insert操作插入第一个节点之后,head指向第一个节点,而第一个节点的next指针域成为NULL,这很合理,因为它也...

2013-04-11 15:38:17 98

++操作与lists:concat操作比较 (lists:concat运算结果)

测试环境Linux jason-lxw 3.2.0-39-generic #62-Ubuntu SMP Thu Feb 28 00:28:53 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux4G内存Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:...

2013-04-11 14:53:04 692

关于单连表插入后自动从小到达排序问题

原题:来自http://learn.akae.cn/media/ch26s01.html1、修改insert函数实现插入排序的功能,链表中的数据按从小到大排列,每次插入数据都要在链表中找到合适的位置再插入。在第 6 节 “折半查找”中我们看到,如果数组中的元素是有序排列的,可以用折半查找算法更快地找到某个元素,想一想如果链表中的节点是有序排列的,是否适用折半查找算法?为什么?  ...

2013-04-09 21:00:04 152

关于单链表的思考

当我看了这个例子后http://learn.akae.cn/media/ch26s01.html感觉很简单没什么特别的(这感觉往往遗漏很多细节)。例子中用了static 定义了关键字 static link head = NULL;看到后我就想用非static来重写单链表。习惯了Erlang的函数编程,在定义C语言中的函数时刻意不用指针去实现,为了进一步理解代码还刻意不用typ...

2013-04-09 10:26:21 138

原创 main函数的标准原型说明

这是我见过比较好的解释来自http://learn.akae.cn/media/ch23s02.html我们知道main函数的标准原型应该是int main(int argc, char *argv[]);。argc是命令行参数的个数。而argv是一个指向指针的指针,为什么不是指针数组呢?因为前面讲过,函数原型中的[]表示指针而不表示数组,等价于char **argv。那为什么要写成ch...

2013-03-12 17:51:03 354

解决错误src/rabbit_networking.erl:49: type hostname() undefined

使用 make USE_SPECS=false 参数编译 src/rabbit_networking.erl:49: type hostname() undefinedsrc/rabbit_networking.erl:71: type ip_port() undefined 

2013-02-21 12:31:19 184

我的第一个escript

  1 #!/usr/bin/env escript  2 %% -*- erlang -*-  3 -mode(compile).  4 main([]) -&gt;  5     io:format("This is my first escript.~n");  6   7 main([Arg1]) -&gt;  8     io:format("This is...

2013-02-21 11:38:27 140

不要忽略任何一个错误提示,更要找到原因linked websocket controlling loop crashed with reason: kille...

 开发程序的时候,好几次都看到后台打出下面的错误日志。 但一直重现不了。 =ERROR REPORT==== 20-Feb-2013::14:07:56 ===        module: misultin_websocket        line: 243linked websocket controlling loop crashed with reason: k...

2013-02-20 14:29:45 83

有效的沟通非常重要

有效的沟通非常重要 下面将描述一下今天发生的案例。这些日子客户端开发和测试人员反馈,APP程序经常跳转到登录页面。从他们的描述中我一直以为都是Session Token过期造成。服务器是这样设计的:服务器提供维护Token和websocket之间的关系。token 生成和 websoket连接建立不区分先后顺序。但websocket一旦断开,就会清空session和t...

2013-02-01 01:50:13 127

ets:update_counter实现数字循环

首先初始化为1 ets:insert(?MODULE, {seq, 1}), ets:update_counter(e, seq, {2,1,8,1}). 1145&gt; ets:update_counter(e, seq, {2,1,4,1}).2146&gt; ets:update_counter(e, seq, {2,1,4,1}).3147&gt; ...

2013-01-18 17:33:36 1013

Re 从表头合理取出host

hd(re:split(Host, ":", [{return, list}]))  re:split 功能还是非常强大的 split(Subject, RE, Options) -&gt; SplitListTypes:Subject = iodata() | unicode:charlist()RE = mp() | iodata() | unicode:char...

2013-01-17 15:46:24 106

ranch 源码分析

 http://langzhe.iteye.com/picture/122017ranch 源码分析

2012-11-30 23:10:39 100

测试 erlang:monitor

测试代码   1 -module(testmonitor).  2 -compile(export_all). 13 hello3()-&gt; 14     receive 15           {Pid, T} -&gt; 16              io:format("receive....~p~n", [T]), 17              S...

2012-11-28 18:59:24 176

lcnt工具

lcnt工具可以统计虚拟机内部的锁使用次数和冲突次数指导系统的优化。Mnesia支持事务、支持透明的数据分片,利用两阶段锁实现分布式事务,可以线性扩展到至少50个节点API/Web服务器向用户提供了系统管理界面。他们是基于开源项目MochiWeb和ChicagoBoss开发。(转自201210程序员P90 曹伟mysql数据库服务的架构探索) ...

2012-11-20 13:54:16 149

数字前面补零

lists:flatten(io_lib:fwrite("~6.10.0B", [555])).  51 uniqid() -&gt; 52     {T1, T2, T3} = now(),  53     lists:flatten(io_lib:fwrite("~.10B~.10B~6.10.0B", [T1, T2, T3])). 

2012-11-16 17:04:17 513

riak second index 组合键

  (ejabberd@meta)51&gt; ejabberd_riak:set_with_index(&lt;&lt;"test1"&gt;&gt;, "a", "A", [{&lt;&lt;"author_reship_bin"&gt;&gt;, list_to_binary("lang_a")}]).     ok

2012-11-13 14:17:44 101

get uuid

1、 string:strip(os:cmd("uuidgen"), right, $\n). 2、  49 %% Give a uniq identifier  50 uniqid() -&gt;                                                                                            ...

2012-11-02 10:56:09 325

Riak failed to start within 15 seconds

 兄弟反应riak无法启动,一开始没仔细看,后来网上一搜,好几个人提问类似问题,解决方法也不一样。尝试了几次,发现问题依旧。仔细看了一下日志发现,有2012-11-01 14:34:09.771 [error] &lt;0.2769.0&gt; ** Connection attempt from disallowed node 'riak_maint_39294@127.0.0.1...

2012-11-01 15:02:53 852

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除