请选择 进入手机版 | 继续访问电脑版

默认
发表评论 4
即时通讯技术MobileIMSDK:压力测试报告

本文描述的是MobileIMSDK在某测试环境下服务端的:并发吞吐效率、整体负载以及JVM级健康状况等数据。测试条件有限,仅供参考。

一、测试方法


  • 网络环境:为了排除网络复杂性对测试的干扰,测试由同一局域网中的机器完成;
  • 网络设备:条件有限,使用的是一台入门级中小型企业用路由器(设备性能对测试有一定影响,请酌情解读结果);
  • 客户端:运行于1至2台惠普380型物理服务器(2011年生产,硬件指标与当前主流有一定差距,请酌情解读测试结果);
  • 服务端:运行于1台惠普580型物理服务器(2011年生产,硬件指标与当前主流有一定差距,请酌情解读测试结果);
  • 客户端工具:Apache JMeteriKende.com的TCP/UDP性能测试工具
  • 服务端工具:Spotlight on WindowsJProfiler

二、测试结果


MobileIMSDK服务端在上述测试条件下,单机吞吐效率约为40000/秒。测试显示,服务端整体负载较轻,JVM各项指标均处健康可持续状态。

三、 性能解读


  • 负载解读(假如用于推送时):
    理论单机负载可达千万级,理由是:以每客户端5分钟心跳间隔计、1000万的在线量,网络吞率需达33000/秒(即10000000/(5*60)),显然MobileIMSDK理论上没有问题。
  • 负载解读(假如用于聊天时):
    保守假设每个正在聊天的人每发一条消息的间隔为5秒(实际应用中, 手机上从调出输入法到输入完成并发送,即使简单的“你好”2字,一般人也通常会超出5秒,不信请打开计时器(当然凡事没有绝对,哥只是作一个普遍性的推断,勿喷)),同时在线的人员中有3分之1的人正在聊天(这么高的并发互动比率对于一般的聊天APP而言可能性非常小,此处为保留估计)。那么基于以上假设,MobileIMSDK可支撑的同时在线人数为:(40000 * 5) / (1/3) = 60万。当然,每款聊天应用实际会因各种客观因素的存在而不尽相同,不可能等同视之,请视具体情况客观评估之,以上数字仅供参考。
  • 带宽解读:
    生产生境中,单机满载时,带宽瓶颈会首先出现。单机带宽总会有上限,因而超高负载应用,集群才是最佳解决方案。
  • 计算性能:
    MobileIMSDK涉及的主要计算性能指标是内存性能、网络交换性能、CPU性能,提升这几项都能相应提高其吞吐效率。

四、客户端测试截图


工具1:某TCP/UDP性能测试工具

测试显示,MobileIMSDK的平均吞吐约为40000/秒。


client1.png

工具2:Apache JMeter

实测中,JMeter的UDP压力测试插件本身性能就不好,单机根本达不到服务端压力极限,所以只能同时使用2台机器作客户端,即使这样,也没有达到服务端上限,条件有限,勉强作个参考吧。


屏幕快照 2015-09-03 23.33.24.png

屏幕快照 2015-09-03 23.32.37.png

五、服务端测试截图


工具1:Spotlight监控宏观负载


>> 测试显示:网络负载、CPU计算、内存交换是MobileIMSDK涉及的3个主要资源(注意带宽负载为78M/2=39M bps)。
server1.png

工具2:JProfile监控JVM微观情况


>> 测试显示:MINA框架确实是将网络IO处理线程和业务处理线程分开了。
jprofile_threads.png

>> JVM的内存分配和回收情况。
jprofile_vm.png

>> JVM的GC回收频率和占用的CPU计算资源。
jprofile_gc.png

六、捐助作者,得MobileIMSDK精编注释版


请点击需要的平台和版本,前往淘宝下单,付款后系统会自动发货(网盘下载链接)到您的相关邮件地址,详情请见淘宝详情:

MobileIMSDK(Android客户端库)精编注释版:https://item.taobao.com/item.htm?id=534778878908
MobileIMSDK(Java客户端库)精编注释版:https://item.taobao.com/item.htm?id=534874027509
MobileIMSDK(iOS客户端库)精编注释版:https://item.taobao.com/item.htm?id=534918179776
MobileIMSDK(服务端库)精编注释版:https://item.taobao.com/item.htm?id=534986485062


1.png       2.png
3.png       4.png

(更多详情请进入:http://www.52im.net/thread-411-1-1.html

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:即时通讯技术MobileIMSDK:Java版Demo使用帮助下一篇:即时通讯技术MobileIMSDK:Java客户端开发指南

本帖已收录至以下技术专辑

评论 4
“>> 测试显示:MINA框架确实是将网络IO处理线程和业务处理线程分开了。”

是不是就是异步了?
这篇帖子是另一个使用MobileIMSDK的群友自已做的压力测试,
可能会有人遇到跟他类似的问题,如何正确的测试出压力极限请移步此贴:http://www.52im.net/thread-346-1-1.html
签名: 《IM实时音视频聊天时的回声消除技术详解》:http://www.52im.net/thread-939-1-1.html
性能不错
签名: 顶顶顶顶
工具好评。
签名: 该会员没有填写今日想说内容.

Processed in 0.171880 second(s), 40 queries , Gzip On.

返回顶部