跳转到主要内容

前序

一个通讯系统是否优秀,主要看四个指标高性能,稳定性可靠性有序性 高性能:极限压测消息发送并发和消息接收并发。 稳定性:测试在高并发下长时间运行,cpu,内存是否稳定 可靠性:测试是否丢消息。 有序性:测试消息是否乱序。

测试环境

所有的压测结果按照压测内容和硬件都能在自己服务器上复现。 WuKongIM测试版本v2.1.2-20250120

硬件信息

性能测试

通讯系统是否高性能核心指标:发送消息并发数和接收消息并发数(通俗讲:系统一秒钟最大能处理多少消息的发送和投递)

发送速率测试

测试内容 总发送速率100 * (24000/60) = 40000条/秒 测试截图 测试结果 总结:发送并发达到4万/秒的情况下,消息发送平均延迟还在毫秒内,内存稳定,CPU预期内,爆赞👍 (如果您对4万/秒没概念,拿mysql来说, 16核服务器下写入性能大概3000~8000/秒左右,4万/秒接近redis开启AOF模式下的写入性能)

接收速率测试

测试内容 总接收速率5000 * (2400/60) = 20万条/秒 测试截图 测试结果 总结:在压榨服务器的性能下,接收并发达到20w/s,性能非常强劲。

混合测试

测试内容 总发送速率1000 * (600/60) + 100 * (1200/60) + 1 * (600/60) = 12010条/秒 总接收速率1000 * (600/60) + 100 * (600/60) + 1 * 5000 * (300/60) = 36000条/秒 测试截图 测试结果 总结:在压榨服务器的性能下,发送并发和接收并发分别达到了 1.2w/s3.6w/s 表现非常优秀。

稳定性测试

测试系统是否能在消息低延迟下稳定运行

测试目标

测试在发送和接收并发高频的情况下,系统能够平稳运行,消息平均延迟在理想状态(500ms以下)。

测试内容

两万人同时在线 持续时间:24小时

测试结果

结果截图 核心指标 总结:16核32G的服务器,在大量群聊和单聊高频发消息的状态下,CPU稳定在20%左右,内存稳定在4-5G左右,消息平均延迟都在毫秒级别内,表现优异

可靠性测试

测试消息是否丢失

测试目标

大量收发消息下,所有接收者能全部接收到消息。

测试内容

持续时间:24小时

测试结果

结果截图 核心指标 总结:经过大量消息的收发,实际接收消息数与程序根据测试数据计算出来的接收消息数完全一致。即发送超过1亿条消息,所有在线接收者都完全接收。充分证明了WuKongIM的可靠性。

有序性测试

测试消息是否乱序

测试目标

在一个频道内快速发送消息,看接收者的顺序是否与发送者的一致

测试内容

测试结果

测试视频 总结:一个用户快速给另外一个用户快速发送消息,接受者与发送者消息顺序完全一致。