- 浏览: 581540 次
- 性别:
- 来自: 北京
最新评论
-
JamAndVariousAbalone:
存储方式的不同吧。gb_tree是平衡树,list是线性结构。 ...
gb_trees和lists的访问效率相差很大 -
genesislive:
eporf:analyse()写错了,应该改成eprof:an ...
Erlang程序的性能测试工具(1) -
vampirezh:
高手啊 求带 ! 请列出带徒标准
Erlang的未来(2008) -
aiquantong:
great!
rebar工具使用备忘录 (1) -
wccxiaoan:
basho的资源 都没办法打开,不过还是有帮助,谢谢。
关于webmachine
文章列表
Aspirin, salicylates, and cancer
翻译:liaohu@dxy,转自丁香园
大量的证据表明,服用阿司匹林及其相关的非甾体抗炎药的人可降低患大肠癌的风险。
在动物身上的实验支持阿司匹林降低癌症风险的结论,但是还没有在人群中开展的长期随机临床试验,而且随机抽样在伦理上也是不能接受的,因为这将不能给一部分受试者提供血管保护。
然而一些设计来验证阿司匹林保护血管的机会性试验,提供了一些阿司匹林降低癌症发生率的证据,但至少要十年以后。
我们总结了阿司匹林和天然水杨酸盐有利于癌症预防的证据。
可能的作用机制和进一步研究的方向还需要进一步讨论,它在临床实践中的应用也正在 ...
- 2009-06-18 15:04
- 浏览 1605
- 评论(0)
How to Crash Erlang
1. 耗尽atom
因为atom是不会被垃圾回收的,所以如何程序运行时生成太多的atom,(例如在无穷循环里,每次循环都调用几下list_to_atom),atom table会被塞满,然后erlang就当掉了
2。进程的耗尽
如果你spawn了太多unlink的不会终止的进程,而且这些进程你都不保存它们的Pid,这样你就失去了和这些进程的联系(和引用),这可以看成是进程泄漏,(有点像内存泄漏),随着越来越多的进程泄漏。。。,然后erlang就当掉了
3。洪泛消息到一个进程的mailbox
不断给某个进程发送消息(而不用等待其回复时),如果接收消息 ...
- 2009-06-16 19:10
- 浏览 2411
- 评论(0)
就像普通java应用一样启动一个erlang虚拟机,程序在虚拟机上运行,没有交互界面。
一个办法是启动时带 -detached参数,这样erlang虚拟机就进入了所谓的detached模式,在detached模式中,erlang静悄悄的在背后运行,没有常见的那个交互终端界面。
例子:以detached模式启动一个my_app应用
erl -detached -name foo@192.168.1.103 -setcookie abc -s my_app
my_app就像普通的daemon应用一样在背后运行了
但是当要控制detached模式启动的erlang虚拟机时怎么办,比如退出应用 ...
- 2009-05-11 23:30
- 浏览 5304
- 评论(3)
最近被在多台机器上部署erlang节点测试,机器太多,开了N多putty窗口,切来换去都快搞疯了,这可不是长久之计,赶紧想办法。受mryufeng这篇文章的提示做了些实验。
实验1:所有erlang程序只部署在一台机器(作为主节点,master ...
用tsung压力测试时,可能一台机器不能提供所需要的压力,这时可以通过好几台机器组成tsung集群,这样就可以达成单台服务器难以提供的压力。步骤如下:
1、集群的机器之间要能实现无密码提示的ssh登录,见具体方法
2、记得 ...
- 2009-05-04 00:13
- 浏览 12008
- 评论(2)
https://support.process-one.net/doc/display/ERL/Starting+a+set+of+Erlang+cluster+nodes
一、配置SSH客户端:无需密码的连接
1. SSH客户端RSA key授权
i). 生成SSH RSA key:
ssh-keygen -t rsa
全回车取缺省,将在~/.ssh目录下将生成id_rsa和id_rsa.pub俩文件
ii) 将生产的公共RSA key拷贝到目标机器上:
a).将id_rsa.pub文件拷贝到目标机器上:
scp ~/.ssh/id_rsa.pub userid@ssh2_server:i ...
- 2009-04-29 19:52
- 浏览 9017
- 评论(0)
编写的c程序输出中文时出现乱码,不是程序的问题,改一下终端设置就好。
终端的“设置”->“高级”标签的 “多语言环境” 字符编码设为简体中文(EUC)
- 2009-04-10 23:59
- 浏览 1719
- 评论(0)
0. 用C写的内联驱动的port driver运行时嵌入到Eralng虚拟机中,就像是Erlang的一部分,而外部接口是在一个独立的操作系统进程中运行的。
内联驱动的优点是高效,缺点是写的不好会连累Erlang虚拟机,把后者崩溃掉。所以,很危险要 ...
- 2009-04-03 17:35
- 浏览 3565
- 评论(0)
没有一个简单现成的函数可以做到这个,Frank Warmerdam提示了一种办法,使用“内存文件系统”,但不是通常linux下的那种内存文件系统,而是GDAL自定义的。
首先需要安装一个内存文件处理器
这个特殊的文件处理器可以将一段内 ...
Linux性能调协之
3.5使用内存文件系统
在Linux中可以将一部分内存mount为分区来使用,通常称之为RamDisk。
RamDisk有三种实现方式:
第一种就是传统意义上的,可以格式化,然后加载。
这在Linux内核2.0/2.2就已经支持,其不足之处是 ...
- 2009-03-31 17:58
- 浏览 11608
- 评论(0)
测量网卡的网络流量,linux下有两款小工具nload和iftop
下载源文件后configue && make && make install
个人比较喜欢iftop,它能动态的用简单的ASC图标识网卡当前流量
首行是网络流量刻度,
中间是与其它机器的流量,有个白底的bar直观的标识流量变化,后三列数据分别表示:
1. preceding 2 seconds 过去两秒钟的流量(traffic)
2. around half that amount over the preceding 10s 过去十秒钟流量的一半
3. a fifth of that ove ...
- 2009-03-27 22:12
- 浏览 4063
- 评论(0)
今天重装了ubuntu系统(ubuntu server),发现开发环境几乎是裸的。再重新编译安装erlang需要一些关键库,去年装过,现在又忘了,记之备查。
当然可以用apt-get直接安装erlang,不过版本有些旧而已,本文说的是如何从源代码编译出一个在ubuntu下可用的erlang。
可以用如下命令察看apt安装erlang所依赖的其它库:
sudo apt-get build-dep erlang
不过这里的许多库其实不是必须的,比如openjdk,fop等等。
1. 基础开发工具的安装
指gcc/g++、make
sudo apt-get install build-esse ...
Erlang13A出来后,有人就做了新旧版本的性能测试。作者自己写了小小的Web服务器进行测试,测试工具是apaceh的ab,这是个命令行工具
参考
ab工具可以将测试结果输出到方便gnuplot处理的文本文件中。
方法是使用-g参数其结果可以输出到指定文件
$ab -g result.txt -n 1000 -c 100 http://www.hao123.com/
$ head result.txt
starttime seconds ctime dtime ttime wait
Thu Mar 19 00:58:35 2009 1237395515 3 5 8 4
Thu Ma ...
- 2009-03-19 00:37
- 浏览 4022
- 评论(0)
OTP自带的日志机制很强大,但总是不习惯,我使用时发现日志记录量大时(比如上万的进程同时写日志,超过200MB后)很容易拖累系统。一个例子如图,这是一次崩溃后的dump文件,可以看到error_logger占用了大量的内存空间,而且 ...
- 2009-03-18 21:42
- 浏览 7357
- 评论(1)
虽名为通用服务器,但gen_server的代码并不天生具有处理并发请求的能力,实际上一个gen_server写成的模块是运行在一个线程中的,所有针对它的请求都是序列化处理的,因此gen_server并不具有自动并行处理的能力,还得靠程序员自己实现并行。
熟悉OOP的程序员可能会误用gen_server,例如让一个gen_server的模块持有系统的配置信息,每当需要配置信息时就通过gen_server:call(或者cast)这个模块得到,但问题是如果大量的并行进程同时请求配置信息,这些并行请求就会在这里排队然后一个个的序列化调用从而阻塞原来本是并行的程序。
最简单的处理方法是处理逻辑另开一 ...
- 2009-03-14 18:06
- 浏览 2873
- 评论(1)