即时通讯优化-优化服务器端吞吐量
E聊是免费开源的IM框架, 使用它可以快速二次开发聊天应用。
影响因素
服务器吞吐量跟很多因素有关,下面是影响因素:
后台框架: 比如使用java的netty框架就比php的http框架要好,前者是静态语言,多线程优化好
算法水平: 高级工程师比低级工程师写的代码,复杂度更小,运行时间端
存储中间件IO: NoSql的存储普遍比sql性的要高,高出一个数量级左右
因此可以针对上述三点进行优化。E聊专业版使用springboot+基于netty的socket.io服务器,最大限度的保证了长连接与短连接的吞吐量,同时,E聊的代码编写人员都是高级工程师以及架构,代码复用度高,bug少。对于专业版而言,热点数据使用了redis作为分布式缓存,同时使用了本机内存作为缓存,降低了存储中间件IO性能影响。
E聊专业版单机应用性能指标如下:
类型 | 专业版QPS | 社区版QPS |
---|---|---|
单聊 | 1428 | 467 |
群聊(100人在线) | 35 | 22 |
群聊(10000人在线) | 3.3 | 不支持 |
获取历史消息(100万基础数据) | 2087 | 2.42 |
获取历史会话(100万基础数据) | 659 | 1.33 |
以上数据的测试机器配置:
配置:
处理器 英特尔 Xeon(至强) E5-2667 0 @ 2.90GHz 六核
内存 16 GB ( 金士顿 DDR3 1600MHz )
主硬盘 士必得 K5-256G ( 256 GB / 固态硬盘 )
进入官网
SDK版本:v1.02
技术交流QQ群: 471688937