随笔分类 - 调优
摘要:erlang 提供了简单易用的并发编程模型,基本不需要再考虑多线程并发问题。但实际应用中并不是那么的完美,很多地方需要注意,就算标准库也有不少问题。很多在多线程编程中很多很容易解决的事情,在erlang中是那么的蛋疼和无奈。erlang专注于自己擅长领域,本身十分健壮,强大的shell,分布式特...
阅读全文
摘要:linux TIME_WAIT 相关参数: 注意: - 不像Windows 可以修改注册表修改2MSL 的值,linux 需要修改内核宏定义重新编译,tcp_fin_timeout 不是2MSL 而是Fin-WAIT-2状态超时时间. - tcp_tw_reuse 和 SO_REUSEADDR 是两
阅读全文
摘要:一般说来抓dump 4种 方式: 1. erlang:halt(“abort”). 2. 在erlang shell下输入CTRL C + “大写的A” 3.等着进程崩溃自己产生dump 4.kill -SIGUSR1 (shell 无法进入时可以使用) 不过4个方式无一不是需要no...
阅读全文
摘要:系统级别perf top, dstat -tam, vtune 都能很好分析beam 瓶颈,本文主要erlang 级别排查:1. 反编译 确认线上运行代码是否正确,reltools没掌握好,升级偶尔出现问题decompile(Mod) -> {ok,{_,[{abstract_code,{_,...
阅读全文
摘要:现网服务,每次更新一个服务时,另外一个集群所有node 都跟着同时重启一遍,这么调皮,这是闹哪样啊。。 看系统日志:/var/log/messages Oct 30 15:19:41 localhost kernel: beam.smp[21880]: segfault at 7fa300...
阅读全文
摘要:上篇Erlang C1500K长连接推送服务-性能提到:150w连接,使用了23GB内存,每个连接占用15KB,约一半是内核使用。大概分析一下:1. Erlang 节点 12GB,内部因为有内存池碎片问题,实际使用9GB,也就是实际每个进程+Port占用越6K,因为采用hibernate策略,已经...
阅读全文
摘要:Whatsapp已经使用Erlang在生产环境跑到96GB内存单机 3M长连接,参加:WhatsApp的Erlang世界。毕竟业务级别能达到Whatsapp那样极少,现在只有千万级,单机太多挂一台影响太大,再者就是没有多线接入,每个机房都得扔那么几台机器吧,所以1M就能满足要求。Erlang 作为长...
阅读全文
摘要:erlang 默认启动参数更多的是针对电信平台实时特性,简单调整参数能很大程度降低CPU消耗,提高处理能力。1. 关闭spin_wait 设置参数:+sbwt none我上一篇文章提到:erlang 调度器CPU利用率低排查,关闭spin_wait 可能增加了调度器需要唤醒延时。关闭后CPU 基本...
阅读全文
摘要:-问题起因 近期线上一组服务中,个别节点服务器CPU使用率很低,只有其他1/4。排除业务不均,曾怀疑是系统top统计错误,从Erlang调度器的利用率调查找到通过erlang:statistics(scheduler_wall_time) 查看服务器CPU低的机器调度器实际的CPU利用率很高接近1...
阅读全文
摘要:rick 的两个ppt整理下载:2012 2013 ,使用半年erlang后,重新看这两个ppt才发现更多值的学习的地方,从ppt中整理如下:- Prefer os:timestamp to erlang:now 应该禁止使用erlang:now(),稍微用得多,整个node的%si 飙满,且整体性...
阅读全文
摘要:环境:Clients:N台linux, 使用“ab -k -c 20000...” 并发2w 请求haproxyHaproxy Server: R610 2*8核 2.4GReal Server: IIS6 (50字节 html静态文件)使用一台客户端向haproxy发起20000并发请求,如下:1...
阅读全文
摘要:多线程环境下使用那种锁往往凭个人感觉,缺乏测试数据的支持很容易走入误区,就像我知道的很多人就觉得Lock好慢好慢,Lock-Free 就能飞起来一样。下面对Lock、Level-Lock、Lock-Free、ReaderWriterLock、ReaderWriterLockSlim 这几种锁分别做下...
阅读全文
摘要:CLR Profiler 有两个版本,分别用于CLR1.1 和 CLR2.0,至于CLR4试了一些也可以,但不知道是否完全兼容不,分别2003,和2005 由微软CLR性能组发布的。几百k很小巧的工具,有给出源代码,核心部分用C++写的,UI使用C#编写。CLR Profiler使用注入式测试,他会
阅读全文

浙公网安备 33010602011771号