系统技术非业余研究 blog.yufeng.info

系统技术非业余研究

站名: 系统技术非业余研究

网址: http://blog.yufeng.info

目录: 电脑网络 > 资源下载

PR:

Alexa: 387,548

备案号:

服务器IP: 69.195.99.95   美国 犹他州盐湖城Bluehost公司

描述: 致力于Erlang虚拟机和OTP的研究、 分布式集群的开发和部署、 存储、数据库引擎以及网络系统的优化。

查询: [ 网站综合查询 | PR查询 | Alexa排名 | 同IP网站 ]

详细介绍

捐赠:喜欢就请我喝一杯系统技术非业余研究系统技术深度探索和应用Home推荐工作机会资料下载留言板关于我捐赠:喜欢就请我喝一杯 招聘信息:猛点这里获得淘宝数据库引擎开发工作机会application配置文件和热升级August 29th, 2013Yu FengNo comments1. .app文件里面的env字段, 通常是MyApplication.app, 具体参见这里2. .config文件,通常是sys.config,具体参见这里3. 命令行 erl -ApplName Par1 Val1 … ParN ValN 具体参见这里方式1:[{description, "Channel allocator"},{vsn, "1"},{modules, [ch_app, ch_sup, ch3]},{registered, [ch3]},{applications, [kernel, stdlib, sasl]},{mod, {ch_app,[]}},{env, [{file, "/usr/local/log"}]}]}.Par should be an atom, Val is any term. The application can retrieve the value of a configuration parameter by calling application:get_env(App, Par) or a number of similar functions, see application(3)Read more…Categories: Erlang探索, 源码分析Tags: application, config_change, enverlang和其他语言读文件性能大比拼August 28th, 2013Yu Feng1 comment今天我们来重新来修正下这个看法, 我们用数据说话。$ dd if=/dev/urandom of=test.dat count=1024 bs=1024K1024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 188.474 s, 5.7 MB/s$ time dd if=test.dat of=/dev/null 2097152+0 records in2097152+0 records out1073741824 bytes (1.1 GB) copied, 1.16021 s, 925 MB/sreal 0m1.162suser 0m0.219ssys 0m0.941s$ time dd if=test.dat of=/dev/null bs=1024k1024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 0.264298 s, 4.1 GB/sreal 0m0.266suser 0m0.000ssys 0m0.267s1. 一下子读取整个1G文件。2. 一个线程一次读取1块,比如1M大小,直到读完。3. 多个线程读取,每个读取一大段,每次读取1M块大小。然后比较下性能。1. erlang的文件IO操作由efile driver来提高,这个driver内部有个线程池,大小由+A 参数控制,所以IO是多线程完成的。2. erlang的文件分二种模式: 1. raw模式 2. io模式 在raw模式下,数据直接由driver提供给调用进程, io模式下数据先经过file_server做格式化,然后再给调用进程。3. 数据可以以binary和list方式返回,list方式下文件内容的byte就是一个整数,在64位机器上占用8个字节内存。Read more…Categories: Erlang探索, Linux, 调优Tags: dd, file, read, thread_pool_size
erlang关键的环境变量
August 23rd, 2013
Yu FengNo comments
+
+os_getenv_erts_specific() ->
+ os_getenv_erts_specific([
+ "BINDIR",
+ "DIALYZER_EMULATOR",
+ "CERL_DETACHED_PROG",
+ "EMU",
+ "ERL_CONSOLE_MODE",
+ "ERL_CRASH_DUMP",
+ "ERL_CRASH_DUMP_NICE",
+ "ERL_CRASH_DUMP_SECONDS",
+ "ERL_EPMD_PORT",
+ "ERL_EMULATOR_DLL",
+ "ERL_FULLSWEEP_AFTER",
+ "ERL_LIBS",
+ "ERL_MALLOC_LIB",
+ "ERL_MAX_PORTS",
+ "ERL_MAX_ETS_TABLES",
+ "ERL_NO_VFORK",
+ "ERL_NO_KERNEL_POLL",
+ "ERL_THREAD_POOL_SIZE",
+ "ERLC_EMULATOR",
+ "ESCRIPT_EMULATOR",
+ "HOME",
+ "HOMEDRIVE",
+ "HOMEPATH",
+ "LANG",
+ "LC_ALL",
+ "LC_CTYPE",
+ "PATH",
+ "PROGNAME",
+ "RELDIR",
+ "ROOTDIR",
+ "TERM",
+ %"VALGRIND_LOG_XML",
+
+

猜你喜欢