关于实时推送系统的那点事
大家好,我是于小波,2011年加入魅族,现在在魅族移动互联网部门,主要负责服务端后台架构设计和开发工作。…
记录-交流-Web开发知识分享
大家好,我是于小波,2011年加入魅族,现在在魅族移动互联网部门,主要负责服务端后台架构设计和开发工作。…
实时系统架构与实践
概要
分享基于 MQTT 协议的、面向移动互联网的 实时消息、实时统计、实时在线系统的架构设计;团队在云主机、部署自动化、监控自动化实践;团队在高性能分布式 Key/Value 存储的实践。 听众受益: 了解 MQTT 协议在移动互联网、智能设备上使用的优势, 了解大型实时系统的基本架构设计原理, 小团队如何利用云端资源快速实现、运营产品, 自动化 部署、监控 系统及实践方法, 高性能 Key/Value 系统的新设计理念
http://www.infoq.com/cn/presentations/framework-and-implementation-of-real-time-system…
近期线上一组服务中,个别节点服务器CPU使用率很低,只有其他1/4。排除业务不均,曾怀疑是系统top统计错误,从 Erlang调度器的利用率调查 找到通过erlang:statistics(scheduler_wall_time) 查看服务器CPU低的机器调度器实际的CPU利用率很高接近100%,而其他机器都不到30%。
分析不同业务服务,发现只有在node 中进程数采用调度器CPU利用低这个问题。…
- 服务端:普通机*(I3 2核心4线程)/mem:16GB
- 客户端:普通机*(I3 2核心4线程)/mem:48GB(4台)
- 系统:sys:Centos 6 Erlang:OTP 18 Ejabberd 15
- 网络:内网千兆互联
分布式测试…
Ejabberd官网上Performance Tuning有一写关于优化的clue,这些参数可以在ejabberdctl.cfg里面修改
erl
昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客户是南非的一个公司,由于时差问题,我只好在家远程解决问题,晚上8点半用 gotomeeting远程到客户电脑查看我们的系统,折腾了四个多小时,终于在凌晨时reproduce了这个high CPU,赶紧抓Log,用wireshark抓包,用gcore,gstack,strace和top保存了系统的相关输出。在第2天分析了这些文件后, 找到了产品的bug,代码的作者分配了10K的缓冲区,并想当然认为10K足以够用,当然99%的情况下是够用的,但是在这1%的情况下出现了问题,缓冲 区不幸被写满了,然后程序进入了死循环,导致high CPU。找到了问题了,fix就很容易了,客户的脾气也缓和了,fix很快就可以deliver给客户。反思解决问题的过程,觉得这个分析过程具有可复用 性,值得总结一下。…
<?php
//php socket 客户端编程
// 建立一个socket并连接
//选项 SO_REUSEADDR¦SO_REUSEPORT¦TCP_NODELAY¦SO_RCVTIMEO¦SO_SNDTIMEO
//SO_REUSEPORT 端口重用 linux kernel >3.9
//SO_RCVTIMEO 接收数据超时
//SO_SNDTIMEO发送数据超时
//设置socket选项
//$host = "34.56.33.33";
$host = "192.168.6.156";
$port = "1883";
$timeout = 2; //连接超时/秒
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//连接 超时处理
socket_set_nonblock($socket);
$time =
… 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数:…
安装最新版本Emqtt,参照官方文档安装后,执行报错:
Linux error while loading shared libraries libsctp.so.1: cannot open shared object file: No such file or directory
从互联网上找到了一些文章, 解决了我的问题,这里整理贴一下,类似的问题应该都可以参照解决。…
近期评论